Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何高效地切片PCAP文件?_Python_Wireshark_Scapy_Tshark - Fatal编程技术网

Python 如何高效地切片PCAP文件?

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

我正试图在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 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->错误:浮点异常