Python Can';不要在我的局域网上发送以太网包
我正在玩scapy(Python模块)。我想构建包并通过本地网络将它们从一台主机发送到另一台主机。当我这样构建包时,我在目标主机上不会收到任何内容:Python Can';不要在我的局域网上发送以太网包,python,wireshark,scapy,Python,Wireshark,Scapy,我正在玩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的帮助下在目标主机上捕获包 为什么以太
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的帮助下在目标主机上捕获包
为什么以太网变体不能工作?我所有的电脑都用以太网电缆连接
谢谢你的帮助 send()
使用Scapy的路由表(在Scapy启动时从主机的路由表复制),而sendp()
使用提供的接口,或者在未指定值时使用conf.iface
因此,您应该将
conf.iface=[iface]
([iface]
设置为您想要使用的接口),或者指定sendp([…],iface=[iface])
您是在无线网络上还是在有线网络上?谢谢@Pierre!我使用了sendp(以太网数据包,iface=MyIface),一切正常。