无法通过我的 LAN 发送以太网包
Can't send ethernet packages across my LAN
我正在玩 scapy(Python 的模块)。我想构建包并通过我的本地网络将它们从一台主机发送到另一台主机。当我这样构建我的包裹时,我没有在我的目标主机上收到任何东西:
packet = Ether() / IP(dst='192.168.0.6') / TCP(dport=8000)
=> sendp(packet)
.
但是,当我这样构建它时,它会起作用:packet = IP(dst='192.168.0.6') / TCP(dport=8000)
、send(packet)
。
我在 wireshark 的帮助下捕获目标主机上的包。
为什么 Ethernet-Variant 不起作用?我的所有电脑都连接了以太网电缆...
感谢帮助!
send()
使用Scapy的路由table(在Scapy启动时从主机的路由table复制而来),而sendp()
使用提供的接口,或者conf.iface
当没有指定值时。
因此您应该设置 conf.iface = [iface]
([iface]
是您要使用的接口),或者指定 sendp([...], iface=[iface])
.
我正在玩 scapy(Python 的模块)。我想构建包并通过我的本地网络将它们从一台主机发送到另一台主机。当我这样构建我的包裹时,我没有在我的目标主机上收到任何东西:
packet = Ether() / IP(dst='192.168.0.6') / TCP(dport=8000)
=> sendp(packet)
.
但是,当我这样构建它时,它会起作用:packet = IP(dst='192.168.0.6') / TCP(dport=8000)
、send(packet)
。
我在 wireshark 的帮助下捕获目标主机上的包。
为什么 Ethernet-Variant 不起作用?我的所有电脑都连接了以太网电缆...
感谢帮助!
send()
使用Scapy的路由table(在Scapy启动时从主机的路由table复制而来),而sendp()
使用提供的接口,或者conf.iface
当没有指定值时。
因此您应该设置 conf.iface = [iface]
([iface]
是您要使用的接口),或者指定 sendp([...], iface=[iface])
.