首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Scapy ()不接受iface字符串

Scapy ()不接受iface字符串
EN

Stack Overflow用户
提问于 2018-03-02 08:42:16
回答 2查看 2.1K关注 0票数 0

在新安装了Python2.7.14和scapy(版本git-archive.dev254ab6d5a)之后,我无法将我的LAN卡定义为接口。只要iface=None,嗅探函数就能正常工作。如果我指定一个字符串,我会得到以下错误。由于这个错误,我没有在google:/上找到任何帖子。

代码:

代码语言:javascript
代码运行次数:0
运行
复制
#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))

错误描述:

代码语言:javascript
代码运行次数:0
运行
复制
> 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'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-08 07:36:01

我也有同样的问题好几个小时了。我是为了解决这个问题而做的。

确保您有最新版本的替罪羊和最新版本的npcap。安装npcap时,单击打开监视器模式的选项。我还在替罪羊文档网站上找到了这个

Winpcap/Npcap冲突 随着Winpcap逐渐老化,建议使用Npcap。Npcap是Nmap项目的一部分。 如果您收到消息,“Winpcap已安装在Npcap.‘上。”这意味着您>已经安装了winpcap和npcap两种版本,这是不推荐的。您可以从程序文件中卸载winpcap,然后需要删除:

代码语言:javascript
代码运行次数:0
运行
复制
C:/Windows/System32/wpcap.dll
C:/Windows/System32/Packet.dll

如果您在x64机器上:

代码语言:javascript
代码运行次数:0
运行
复制
    C:/Windows/SysWOW64/wpcap.dll
    C:/Windows/SysWOW64/Packet.dll

用npcap代替。这些文件不会被删除。

做完之后,我列出了使用

代码语言:javascript
代码运行次数:0
运行
复制
    show_interfaces()
    iface = raw_input("Enter the interface to sniff on: ")

复制并粘贴接口到输入中

票数 1
EN

Stack Overflow用户

发布于 2018-03-02 14:11:28

我的问题是通过降低Wireshark版本的评级来解决的。但是,我想真正的问题是npcap(v0.98)和Python(v2.7.14)之间的兼容性。不幸的是,我不理解"ismonitor=True“参数的用法,但是如果它应该是一个兼容性问题,我们很快就会看到更多关于它的内容:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49065489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档