我在 Windows 11 上使用 scapy 2.4.5 和 Python 3.9.5。我安装了 npcap 版本 1.55。
我有一些 Wireshark 数据包捕获,我试图在文件上使用 scapy 的嗅探功能并过滤掉各种数据包。
但是,当我将 filter="udp" 与嗅探一起使用时,我得到一个关于 tcpdump 不可用的异常。
下面是我目前正在尝试使用的脚本。
from scapy.all import *
conf.use_pcap = True
pcap_file_path = r"C:\8OCT21_DDL_00001_20211008214804"
packets = sniff(offline=pcap_file_path,
count=10,
filter="udp")
packets.summary()
但是我得到了这个例外:
File "C:\Python39\lib\site-packages\scapy\sendrecv.py", line 1263, in sniff
sniffer._run(*args, **kwargs)
File "C:\Python39\lib\site-packages\scapy\sendrecv.py", line 1072, in _run
sniff_sockets.update((PcapReader(
File "C:\Python39\lib\site-packages\scapy\sendrecv.py", line 1074, in <genexpr>
tcpdump(fname,
File "C:\Python39\lib\site-packages\scapy\utils.py", line 2095, in tcpdump
raise Scapy_Exception(
scapy.error.Scapy_Exception: tcpdump is not available
关于如何在 Windows 上使用 npcap 而不是 tcpdump 使用 scapy 嗅探的任何想法?