在Python3.7.2中使用scapy 2.4.3 (使用"pip install --pre scapy[complete]"
安装在pip上)
使用scapy中的嗅探函数,进入iface
参数的数据类型应该是什么?我使用scapy.all.show_interfaces()
函数列出了已知接口,输出如下:
INDEX IFACE IP MAC
13 Realtek PCIe GBE Family Controller 169.254.142.162 HewlettP:47:07:dc
10 Microsoft Wi-Fi Direct Virtual Adapter 169.254.246.19 Azurewav:80:86:ff
7 Realtek RTL8723DE 802.11b/g/n PCIe Adapter 192.168.0.7 Azurewav:80:86:ff
-1 [Unknown] Adapter for loopback traffic capture None ff:ff:ff:ff:ff:ff
当我将"Realtek PCIe GBE Family Controller"
放入嗅探函数中时,没有"scapy.error.Scapy_Exception: Interface is invalid (no pcap match found) !"
错误,因此我知道接口是有效的。但是,我收到了这个错误:AttributeError: 'str' object has no attribute 'is_invalid'
。如果我将iface
属性更改为scapy.all.ifaces.dev_from_index(-1)
,则错误为OSError: exception: access violation reading 0x00000000000002A8
。为了正确解析和工作,iface数据类型必须是什么?
发布于 2019-11-16 02:45:24
参见https://stackoverflow.com/a/55093154/5459467和https://stackoverflow.com/a/58793945/5459467。
您将需要使用IFACES
工具来访问NetworkInterface对象,而不是它的名称。
如果这样做不起作用,请确保安装了最新版本的npcap,尝试使用其他接口(可能不是-1 \f25 npcap-1\f6)。
发布于 2019-11-15 17:08:52
它是一个python str
,包含接口名称。
Linux:在控制台中使用命令:ip link
作为名称
该值的示例为iface = "eth0"
或iface = "wlan0"
请参阅文档:https://scapy.readthedocs.io/en/latest/usage.html#sniffing
https://stackoverflow.com/questions/58842450
复制相似问题