我有一个反复出现的问题,我用scapy发送的数据包没有到达。我试图用scapy和wireshark来嗅他们,但他们没有被嗅到。就好像它们没有被发送,但发送它们的脚本显示“发送1包”消息。scapy发送的数据包没有到达,也不能被嗅探
我查了一下,发现this similar question问题可能是数据包被发送到错误的接口。这似乎是可能的,因为我scapy的默认iface设置为“eth0”,并且我嗅探了我的wifi连接。如果这真的是问题,我该如何设置scapy来发送&在无线连接上嗅探?
代码示例:
from scapy.all import *
message = raw_input("enter your message:")
for c in message:
packet = Ether()/IP(dst = "127.0.0.1")/UDP(sport = 4001, dport = ord(c))
send(packet)
raw_input()
在此脚本应该通过发送空的UDP数据包的端口标志着信件发送消息到服务器。脚本运行良好,我只是没有在我的“服务器”上获得任何数据包,并且该脚本应该发送的数据包不能被嗅探。
编辑:我的操作系统是Windows 8.1
什么是conf.route?如何检查我要发送数据包的接口?我如何以root身份运行scapy?我试图在网上搜索,但收效甚微。谢谢。 – user1461837
打开交互式会话(例如使用'sudo scapy'),并运行'conf.route'。你会看到你的路由是scapy解释它们和相应的接口。由于scapy对路线做了自己的解释,所以在发生错误的情况下, 127.0.0.1通过不同的接口发送。 –
我试过禁用防火墙并尝试了conf.route中的所有接口。我很确定问题出在libdnet上。我已安装它。我应该怎么做?不管怎么说,还是要谢谢你。 – user1461837