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

2024-06-08 02:16:48 发布

您现在位置:Python中文网/ 问答频道 /正文

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循环对其进行迭代。通过这种方式,我获取数据包的行数据,并在每个pcaket上搜索特定的ip,如果ip与任何src_ip或dst_ip匹配,则存储该pcaket并生成一个新的过滤pcap

搜索一个600MB的文件需要5分钟的时间,我想比这快很多。我该怎么做呢


Tags: inipsrchomefordataifpcap
1条回答
网友
1楼 · 发布于 2024-06-08 02:16:48

众所周知,斯卡皮动作缓慢。我会避免用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中的结果,可以调用该函数,然后解析结果

相关问题 更多 >

    热门问题