在新安装了Python2.7.14和scapy(版本git-archive.dev254ab6d5a)之后,我无法将我的LAN卡定义为接口。只要iface=None,嗅探函数就能正常工作。如果我指定一个字符串,我会得到以下错误。由于这个错误,我没有在google:/上找到任何帖子。
代码:
#Import all necessary scapy functionality from ethernet Api
from Lib.IHR_EthApi import *
from Lib.IHR_GeneralApi import GeneralApi as SYS
from scapy.all import *
FullTrafficList = []
#show_interfaces()
scapy.all.sniff(lfilter=None, iface="Realtek PCIe GBE Family Controller", store=True, prn = lambda x: FullTrafficList.append(x), count=10, timeout= None)
SYS.IHR_print(str(FullTrafficList))
错误描述:
> Traceback (most recent call last): File
> "c:\Users\Evgenij\Desktop\Desktop\Eth_Test_Dev\Code\Test.py", line 8,
> in <module>
> scapy.all.sniff(lfilter=None, iface="Realtek PCIe GBE Family Controller", store=True, prn = lambda x: FullTrafficList.append(x),
> count=10, timeout= None) File
> "C:\Python27\Lib\site-packages\scapy\sendrecv.py", line 708, in sniff
> *arg, **karg)] = iface File "C:\Python27\Lib\site-packages\scapy\arch\pcapdnet.py", line 198, in
> __init__
> self.ins = open_pcap(iface, 1600, self.promisc, 100, monitor=monitor) File
> "C:\Python27\Lib\site-packages\scapy\arch\windows\__init__.py", line
> 856, in open_pcap
> if iface.ismonitor(): AttributeError: 'str' object has no attribute 'ismonitor'
发布于 2018-03-08 07:36:01
我也有同样的问题好几个小时了。我是为了解决这个问题而做的。
确保您有最新版本的替罪羊和最新版本的npcap。安装npcap时,单击打开监视器模式的选项。我还在替罪羊文档网站上找到了这个
Winpcap/Npcap冲突 随着Winpcap逐渐老化,建议使用Npcap。Npcap是Nmap项目的一部分。 如果您收到消息,“Winpcap已安装在Npcap.‘上。”这意味着您>已经安装了winpcap和npcap两种版本,这是不推荐的。您可以从程序文件中卸载winpcap,然后需要删除:
C:/Windows/System32/wpcap.dll
C:/Windows/System32/Packet.dll
如果您在x64机器上:
C:/Windows/SysWOW64/wpcap.dll
C:/Windows/SysWOW64/Packet.dll
用npcap代替。这些文件不会被删除。
做完之后,我列出了使用
show_interfaces()
iface = raw_input("Enter the interface to sniff on: ")
复制并粘贴接口到输入中
发布于 2018-03-02 14:11:28
我的问题是通过降低Wireshark版本的评级来解决的。但是,我想真正的问题是npcap(v0.98)和Python(v2.7.14)之间的兼容性。不幸的是,我不理解"ismonitor=True“参数的用法,但是如果它应该是一个兼容性问题,我们很快就会看到更多关于它的内容:)
https://stackoverflow.com/questions/49065489
复制相似问题