Я пытаюсь разобрать огромные файлы .pcap (~ 1-2 ГБ каждый). Я пытался использовать scapy, но пока это очень медленно. Я проверил тайминги, используя следующий код с разными значениями для подсчета.
from scapy.all import *
from scapy.layers.dns import DNSRR, DNS, DNSQR
import time
t0 = time.time()
pcap = 'output.pcap'
pkts = rdpcap(pcap, count=1000000)
t1 = time.time()
print(t1-t0)
Кажется, что rdpcap() может обрабатывать только около 800 пакетов в секунду. Существуют ли какие-либо оптимизации для scapy, других инструментов или хорошие способы масштабирования этого процесса? Каждый пакет должен быть DNS.