我按照支持的程序安装了python 2.7和scapy:pywin32,WinPcap,Pypcap和libdnet.我觉得说我的操作系统是Windows 7很重要.
当我使用函数嗅探它似乎引发一个错误:http://prntscr.com/dbd79a.我尝试了另一个scapy的函数和类作为IP和sendp,它工作正常,问题只在嗅探.
我从许多安装链接尝试了几个版本的scapy,没有任何变化.
解决方法:
你的问题是scapy版本2.3.3中的一个错误(上传于18/10/16).
它可能会在下一个版本中修复,同时您可以通过执行安装以前的版本
pip install scapy==2.3.2
我检查了提交,这个版本中没有这个bug.但是我没有测试它,所以它可能包含其他错误(因为2.3.3必须改变一些更好的东西,至少我希望它做到了),所以如果你必须使用2.3.3由于某种原因你可以像这样修补它:
from scapy.arch.windows import compatibility
from scapy.all import log_runtime, MTU, ETH_P_ALL, PcapTimeoutElapsed, plist
compatibility.log_runtime = log_runtime
compatibility.MTU = MTU
compatibility.PcapTimeoutElapsed = PcapTimeoutElapsed
compatibility.ETH_P_ALL = ETH_P_ALL
compatibility.plist = plist
compatibility.sniff(1) # call the sniff function however you like