使用pythonproject 安装 Scapy 在终端执行后,发现snif()出现以下报错:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "D:\Program Files\Python310\lib\site-packages\scapy\sendrecv.py", line 1263, in sniff
sniffer._run(*args, **kwargs)
File "D:\Program Files\Python310\lib\site-packages\scapy\sendrecv.py", line 1127, in _run
sniff_sockets[L2socket(type=ETH_P_ALL, iface=iface,
File "D:\Program Files\Python310\lib\site-packages\scapy\arch\libpcap.py", line 376, in __init__
self.ins = open_pcap(iface, MTU, self.promisc, 100,
File "D:\Program Files\Python310\lib\site-packages\scapy\arch\windows\__init__.py", line 704, in open_pcap
return _orig_open_pcap(iface_network_name, *args, **kargs)
File "D:\Program Files\Python310\lib\site-packages\scapy\arch\libpcap.py", line 254, in __init__
raise OSError(error)
OSError: b'\\Device\\NPF_{22A30821-EE27-4E79-9271-282F6ED3F1D4}: failed to set hardware filter to promiscuous mode: \xc1\xac\xb5\xbd\xcf\xb5\xcd\xb3\xc9\xcf\xb5\xc4\xc9\xe8\xb1\xb8\xc3\xbb\xd3\xd0\xb7\xa2\xbb\xd3\xd7\xf7\xd3\xc3\xa1\xa3 (31)'
打开wireshark尝试使用混杂模式抓包,也会报类似错误:
the capture session could not be initiated on interface"\Device\NPF_(78032B7E-4968-42D3-9F37-287EA86C0AAA)" (failed to set hardware filter to promiscuous mode).
分析一下问题:
failed to set hardware filter to promiscuous mode:将硬件过滤器设置为混杂模式失败
一般来说安装这类嗅探模式会自动设置混杂模式,但是确设置失败了,最后排查到网卡和npcap上,网卡配置没有问题,后来重新安装低版本npcap,成功运行了。
我的npcap原来是1.72版本,回退到了1.31版本,或者升级到1.75版本,如果你们出现类似问题,可以自行去其他地方下载尝试重装