在 pcap 中搜索比正常搜索更快

Search in pcap faster then normal

packets = rdpcap("/home/pcap_evidence/"+date+"/"+list_time[0]+"")
for data in packets:
   if IP in data:
      if data[IP].src == ip and data[IP].dst == ip:
        list_.append(data)

在这段代码中,我正在使用 rdpcap 读取 pcap,然后通过这种方式使用 for 循环迭代它src_ip 或 dst_ip 然后存储该 pcaket 并制作一个新的过滤 pcap。

所有这一切都需要 5 分钟来搜索 600 MB 的文件,我想比这快得多。我该怎么做。

众所周知,scapy 很慢。对于大文件,我会避免 scapy。

最好的方法是使用 tshark 例子:

tshark -r my_capture.pcap -Y "(ip.src == 192.168.1.10) && (ip.dst == 172.27.224.70)" -w /tmp/my_filtered_capture.pcap

如果你需要 python 中的结果,你可以调用它然后解析结果。