Python Scapy无法嗅探所有接口

Python Scapy无法嗅探所有接口,python,windows,scapy,Python,Windows,Scapy,我尝试使用scapy从所有接口中嗅探,但当我尝试提供接口列表时,我得到以下错误: sniff(iface=["eth1","eth2"], prn=lambda x: x.sniffed_on+": "+x.summary()) File "C:\Users\a\AppData\Local\Programs\Python\Python39\lib\site-packages\scapy\sendrecv.py", l

我尝试使用scapy从所有接口中嗅探,但当我尝试提供接口列表时,我得到以下错误:

sniff(iface=["eth1","eth2"], prn=lambda x: x.sniffed_on+": "+x.summary())
File "C:\Users\a\AppData\Local\Programs\Python\Python39\lib\site-packages\scapy\sendrecv.py", line 1263, in sniff
sniffer._run(*args, **kwargs)
File "C:\Users\a\AppData\Local\Programs\Python\Python39\lib\site-packages\scapy\sendrecv.py", line 1127, in _run
sniff_sockets[L2socket(type=ETH_P_ALL, iface=iface,
File "C:\Users\a\AppData\Local\Programs\Python\Python39\lib\site-packages\scapy\arch\libpcap.py", line 376, in __init__
self.ins = open_pcap(iface, MTU, self.promisc, 100,
File "C:\Users\a\AppData\Local\Programs\Python\Python39\lib\site-packages\scapy\arch\windows\__init__.py", line 704, in open_pcap
return _orig_open_pcap(iface_network_name, *args, **kargs)
File "C:\Users\a\AppData\Local\Programs\Python\Python39\lib\site-packages\scapy\arch\libpcap.py", line 231, in __init__
self.iface = create_string_buffer(device.encode("utf8"))
AttributeError:“list”对象没有属性“encode”

以下是我的脚本:

def main():
    sniff(iface=["Ethernet","Wi-Fi"], prn=lambda x: x.sniffed_on+": "+x.summary())

def process_packet(packet):
    print(packet)
有人能告诉我这里有什么问题吗?或者如何从所有/多个接口进行嗅探,并使用函数
process\u packet
进行处理


在windows 10 x64上,我的scapy版本是2.4.5。其描述见:

使用多个接口的基本嗅探捕获

当传递接口列表(或dict)时,Scapy会引发异常(见下文)

[……]

谢谢你报道这个问题。这确实是一种倒退

他们确定了版本2.4.5,并且似乎是特定的

尝试使用2.4.4版。如果您使用
pip
,您可以尝试:

pip安装scapy==2.4.4

这似乎修复了错误,但我注意到它并没有捕获所有数据包,或者很可能不是所有接口的数据包。如果我只指定Wi-Fi,我会发现它捕获的流量比接口列表多得多。“你知道为什么吗?”哈西,对不起,我不知道。