#scapy #npcap
Вопрос:
Я использую scapy 2.4.5 с Python 3.9.5 в Windows 11. У меня установлена npcap версии 1.55.
У меня есть несколько захватов пакетов Wireshark, которые я пытаюсь использовать функцию sniff scapy для файла и отфильтровывать различные пакеты.
Однако, когда я использую filter=»udp» с sniff, я получаю исключение о недоступности 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:Python39libsite-packagesscapysendrecv.py", line 1263, in sniff
sniffer._run(*args, **kwargs)
File "C:Python39libsite-packagesscapysendrecv.py", line 1072, in _run
sniff_sockets.update((PcapReader(
File "C:Python39libsite-packagesscapysendrecv.py", line 1074, in <genexpr>
tcpdump(fname,
File "C:Python39libsite-packagesscapyutils.py", line 2095, in tcpdump
raise Scapy_Exception(
scapy.error.Scapy_Exception: tcpdump is not available
Есть идеи о том, как использовать scapy sniff в Windows с npcap вместо tcpdump?
Комментарии:
1. Похоже, это связано с этим: github.com/secdev/scapy/issues/2223 . Я бы разместил ваш вопрос там, так как ошибка может появиться снова. Вы также можете попробовать 2.4.4, где было выдвинуто исправление.