【问题标题】:Search in pcap faster then normal在 pcap 中搜索比正常速度更快
【发布时间】:2021-02-01 12:57:59
【问题描述】:
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 循环对其进行迭代,通过这种方式,我得到了数据包的逐行数据,并且在 evry pcaket 上,我正在搜索特定的 ip,如果 ip 与任何 src_ip 或dst_ip 然后存储该 pcaket 并制作一个新的过滤 pcap。

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

【问题讨论】:

  • Wireshark 需要多长时间?
  • 至少,遍历PcapReader而不是使用rdpcap

标签: python python-3.x scapy pcap


【解决方案1】:

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中的结果,你可以调用它然后解析结果。

【讨论】:

  • tshark 很酷,但如果你需要它快速,tcpdump 应该是你的首选。它可以表达的过滤器比 tshark 快几个数量级。我刚刚对 125MB pcap 上的主机对过滤器进行了快速比较,使用可比选项时,tcpdump 的速度大约提高了 50 倍。
猜你喜欢
  • 2019-06-15
  • 1970-01-01
  • 2012-11-12
  • 2022-01-24
  • 1970-01-01
  • 2015-10-24
  • 2011-08-29
  • 1970-01-01
  • 2012-06-10
相关资源
最近更新 更多