Python Can';不要在我的局域网上发送以太网包

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的帮助下在目标主机上捕获包 为什么以太

我正在玩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的帮助下在目标主机上捕获包

为什么以太网变体不能工作?我所有的电脑都用以太网电缆连接

谢谢你的帮助

send()
使用Scapy的路由表(在Scapy启动时从主机的路由表复制),而
sendp()
使用提供的接口,或者在未指定值时使用
conf.iface


因此,您应该将
conf.iface=[iface]
[iface]
设置为您想要使用的接口),或者指定
sendp([…],iface=[iface])

您是在无线网络上还是在有线网络上?谢谢@Pierre!我使用了sendp(以太网数据包,iface=MyIface),一切正常。