当前位置: 首页 > news >正文

scapy构造ND报文

控制报文之:找邻居报文

什么是ND报文

ND报文是指网络中的 Neighbor Discovery(ND)控制报文。Neighbor Discovery 是 IPv6 网络中的一种协议,它用于管理网络节点之间的邻居关系、地址解析、路由缓存维护和自动配置等任务。ND 协议在 IPv6 网络中取代了 IPv4 中的 ARP(地址解析协议)和 ICMP(Internet 控制消息协议)等功能。
主要有以下几种:

  1. Neighbor Solicitation (NS) 报文:
  • 主要用于设备(通常是主机)在需要找到另一个设备(可能是路由器或另一台主机)的链路层地址时发送的。
  • 通常包含目标IPv6地址,用于指定要查询的设备。
  • 目的是请求目标设备的链路层地址,以便发出通信。
  1. Neighbor Advertisement (NA) 报文:
  • 通常是对NS报文的响应,用于告知请求设备目标设备的链路层地址。
  • 通常包括目标IPv6地址、目标MAC地址和其他选项。
  • 目的是响应NS报文,提供目标设备的链路层地址。
  1. Router Solicitation (RS) 报文:
  • 主要由IPv6网络中的设备发送,用于查找IPv6路由器。
  • 目的是确定网络中是否存在IPv6路由器,并获取路由器的信息。
  • 通常是由新加入IPv6网络的设备发送,以获取路由器的信息,以便配置其IPv6地址和路由
  1. Router Advertisement(RA)报文:
  • 路由器发送的,用于提供关于网络配置的信息,包括IPv6前缀、MTU、路由器的MAC地址等。
  • 目的是让网络中的设备知道路由器的存在以及如何配置自己的IPv6地址和路由表。
  1. Redirect(重定向):
  • 重定向报文用于通知主机更好的下一跳路由。当路由器认为主机发送的数据包可以通过不同的下一跳路由器进行转发时,它可以向主机发送重定向报文,以提高数据包的传输效率。

简而言之,大型寻亲栏目之:我的邻居在哪里?

scapy构造nd报文

import sys
from scapy.all import *

src_ip = sys.argv[1]
dst_ip = sys.argv[2]
pkt_type = sys.argv[3] #ndrs ndns

option = ICMPv6NDOptSrcLLAddr(lladdr="52::d")

if pkt_type == 'ndrs':
    p = Ether(src="52::d",dst="ff:ff:ff:ff:ff:ff")/IPv6(src=src_ip, dst=dst_ip)/ICMPv6ND_RS(tgt=dst_ip)/ option /(b'x'*20)
if pkt_type == 'ndns':
    p = Ether(src="52::d",dst="ff:ff:ff:ff:ff:ff")/IPv6(src=src_ip, dst=dst_ip)/ICMPv6ND_NS(tgt=dst_ip)/ option /(b'x'*20)


sendp(p, iface = "eth0")

灰常的简单,52::d为本机的mac地址,运行的话,按照
python name.py src_ip dst_ip ndns
的格式就能发送

当然最后的(b’x’*20),是随便加了个负载,因为很多场景对只有头部的nd报文是进行丢弃处理的,如果不会丢的话,也可以不加

相关文章:

  • 服务运营 |摘要:学术+业界-近期前沿运筹医疗合作精选
  • Python学习 day03(注意事项)
  • JVM 性能调优参数
  • uniapp编译到小程序Component is not found in path “components/energy/illumination“
  • element树形控件编辑节点组装节点
  • 上海-华为全联接大会|竹云受邀参加华为云ROMAConnect行业生态联盟成立联合发布会
  • django: You may need to add ‘localhost‘ to ALLOWED_HOSTS
  • k8s使用
  • pycharm远程调试运行程序出现No such file or directory:解决办法
  • c语言练习86:移除元素
  • Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单
  • VueRouter与expres/koa中间件的关联
  • [Mono Depth/3DOD]单目3D检测基础
  • 【科学文献计量】利用pybibx分析Scopus文献数据集(EDA,N-Grams,Cluster,Network analysis,NLP)
  • MySQL系列---Online DDL
  • 【C++】list基本接口+手撕 list(详解迭代器)
  • 2023年中国水电行业研究报告
  • scrapy针对302请求的处理与重试配置
  • 殡葬用品商城小程序的作用是什么
  • tortoise创建本地仓库
  • 牛市早报|国家发改委:今年将推出约3万亿元优质项目,支持民营企业参与
  • 水中托举救出落水孩童后遇难,42岁退役军人高武被确认为见义勇为
  • 李云泽:小微企业融资协调工作机制已发放贷款12.6万亿元
  • 今晚上海地铁多条线路加开定点加班车,2号线运营至次日2时
  • 五一小长假上海“人从众”,全要素旅游交易总额超200亿元
  • 释新闻|新加坡大选今日投票:除了黄循财首次挂帅,还有哪些看点