2016-11-24 105 views
4

我安装了python 2.7和scapy以下支持的程序:pywin32,WinPcap,Pypcap和libdnet。我觉得说我的操作系统是windows 7很重要。Scapy窗口 - 嗅探() - 'log_runtime'未定义

当我使用函数嗅探时,它似乎会引发一个错误:http://prntscr.com/dbd79a。我试过另一个scapy的函数和类作为IP和sendp,它工作正常,问题只是嗅探。

我已经尝试了许多安装链接scapy的几个版本,没有变化。

+0

您是否找到解决方案? – Pixel

回答

1

你的问题是scapy 2.3.3版本的一个bug(上传于18/10/16)。 它可能会被固定在未来的版本中,在此期间,你可以通过做

pip install scapy==2.3.2 

我在提交检查安装以前的版本,在该版本这个bug wasnt。但是我没有测试过它,所以它可能包含其他错误(因为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