用scapy发送数据包

Send packet with scapy

我正在尝试从主机 B 向主机 A 发送一个简单的 ICMP 数据包

这是我的配置:

HOST A
10.0.1.10 with gateway set to 10.0.1.24


Router
NIC 1 10.0.1.24
NIC 2 192.168.100.1

HOST B 
192.168.100.3




A: 10.0.1.10 <---> 10.0.1.24 |NIC-1 Router NIC-2| 192.168.100.1 <---> 192.168.100.3: B

但是当我尝试用

发送数据包时
send(IP(dst="10.0.1.10")/ICMP()/"Hello World")

路由器的 tcpdump 上没有显示任何内容。 有

sendp(IP(dst="10.0.1.10")/ICMP()/"Hello World")

相反,这显示了

09:41:16.398305 00:00:40:01:4b:20 (oui Unknown) > 45:00:00:27:00:01 (oui Unknown), ethertype Unknown (0xc0a8), length 60: 
    0x0000:  6403 0a00 010a 0800 a631 0000 0000 4865  d........1....He
    0x0010:  6c6c 6f20 576f 726c 6400 0000 0000 0000  llo.World.......
    0x0020:  0000 0000 0000 0000 0000 0000 0000       ...........

它看起来像是一个格式错误的数据包,没有任何内容被转发到 HOST A

机器都能ping通,我做错了什么?

编辑:sr1 输出

13:25:58.235650 08:00:27:44:d7:c8 (oui Unknown) Null > Broadcast Unknown DSAP 0x08 Unnumbered, 27, Flags [Command], length 54
    0x0000:  0800 2701 507f 0800 2744 d7c8 0800 4500  ..'.P...'D....E.
    0x0010:  0028 0001 0000 4001 4b1f c0a8 6403 0a00  .(....@.K...d...
    0x0020:  010a 0800 26a8 0000 0000 4845 4c4c 4f20  ....&.....HELLO.
    0x0030:  574f 524c 440a 

已解决。对于像我这样使用此工具的“新手”: 路由器没有将数据包转发到子网,因为它格式不正确。 我嗅探了一个充当 MiTM 的常规 ICMP 数据包,它起作用了。 HOST 1 正确接收数据包。

Carcigenicate也猜对了,一定要设置正确的接口。