python – Scapy windows – sniff() – ‘log_runtime’未定义

我按照支持的程序安装了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
上一篇:python – 导入scapy.all时出现Scapy OSError:’wpcap.dll’不存在


下一篇:python – scapy:以符号/字符串形式获取DNSQR / DNSRR字段值