Python 如何高效地切片PCAP文件?
我正试图在Ubuntu中使用tshark分割一个大的PCAP文件(3 GB)。 下面的代码是我正在尝试做的:Python 如何高效地切片PCAP文件?,python,wireshark,scapy,tshark,Python,Wireshark,Scapy,Tshark,我正试图在Ubuntu中使用tshark分割一个大的PCAP文件(3 GB)。 下面的代码是我正在尝试做的: tshark -r dia5_20Jan17.pcap -Y '((frame.time >= "2017-01-20 10:32:00") && (frame.time <= "2017-01-20 18:44:00"))' -w 1.pcap tshark-r dia5_20Jan17.pcap-Y'((frame.time>=“2017-01-20
tshark -r dia5_20Jan17.pcap -Y '((frame.time >= "2017-01-20 10:32:00") && (frame.time <= "2017-01-20 18:44:00"))' -w 1.pcap
tshark-r dia5_20Jan17.pcap-Y'((frame.time>=“2017-01-20 10:32:00”)&&(frame.timetshark不是这项工作的最佳工具。我对()有很好的经验,它为处理捕获文件提供了一个很好的工具箱。具体来说,在您的情况下,就是这个工具
请注意,它们的大多数示例都使用名为erf的捕获格式,而不是pcap。但是它们是文件,您只需指定它
等效的tracesplit命令类似于:
tracesplit--starttime=1484908320--endtime=1484937840-compress type=none-pcapfile:dia5\u 20Jan17.pcap-pcapfile:1.pcap
您可以使用它来拆分捕获文件。例如:
editcap -A "2017-01-20 10:32:00" -B "2017-01-20 18:44:00" infile.pcap outfile.pcap
我现在还没有尝试过,但我猜内存占用主要是由TCP解析器跟踪连接等造成的。如果您创建一个配置文件,在其中禁用所有解析器,您不需要(并且由于您只过滤帧元信息,可能所有解析器都),您可能会节省大量RAM
我这样做的方式是
启动Wireshark
创建新配置文件
使用“分析”->“启用的协议”->“禁用所有”
近线鲨
运行tshark,使用“-C”参数指定新配置文件
正如我所说,我还没有对您的案例进行测试,但在从PCAP雕刻数据包时,我经常使用简化的解剖设置。它更快,错误更少,并且可以节省RAM。如何转换frame.time>=“2017-01-20 10:32:00”在timestamp?@AnadiKrsnadas中使用任何UNIX时间转换器。例如:tracesplit--starttime=1484908320--endtime=1484937840-compress type=none pcapfile:dia520jan17.pcap pcapfile:1.pcap->错误:浮点异常