python scapy库发送以太网原始报文

send_raw_fram函数步骤如下:

  1. 定义send_raw_frame函数,函数需要传入源MAC地址、目的MAC地址、源IP地址、目的IP地址以及payload(数据包内容)。
  2. 创建以太网帧,设置源MAC地址和目的MAC地址。
  3. 创建IP帧,设置源IP地址和目的IP地址。
  4. 创建payload帧,设置数据包内容。
  5. 将以太网帧、IP帧和payload帧组合成帧。
  6. 使用scapy.sendp函数发送帧,指定网卡接口为eth0。
import scapy.all as scapy

def send_raw_frame(src_mac, dst_mac, src_ip, dst_ip, payload):
    ethernet_frame = scapy.Ether(src = src_mac, dst = dst_mac)
    ip_frame = scapy.IP(src = src_ip, dst = dst_ip)
    payload_frame = scapy.Raw(load = payload)
    frame = ethernet_frame/ip_frame/payload_frame
    scapy.sendp(frame, iface = "以太网 2")
c= b"\xff\xff\xff\xff\xff\xff\x00\x00\xc0\xa8"
for i in range(10):
    scapy.sendp(c, iface = "以太网 2")

因为我不想定义源mac啥的所以直接用sendp发包了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容