如何有效地切片 PCAP 文件?
How to slice a PCAP file efficiently?
我正在尝试在 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
问题是内存RAM的浪费:
代码使用了 95/95% 的内存 (8GB)。有没有更好的切片 PCAP 文件的方法?我也试过Python...
tshark 不是这项工作的最佳工具。我对 libtrace (github link), which gives a nice toolbox for handling capture files. Specifically, in your case, the tracesplit 工具有很好的体验。
请注意,他们的大多数示例都使用名为 erf 的捕获格式,而不是 pcap。但是他们 support pcap 个文件,你只需要指定它。
等效的 tracesplit 命令类似于:
tracesplit --starttime=1484908320 --endtime=1484937840 -compress-type=none pcapfile:dia5_20Jan17.pcap pcapfile:1.pcap
您可以使用editcap
拆分捕获文件。例如:
editcap -A "2017-01-20 10:32:00" -B "2017-01-20 18:44:00" infile.pcap outfile.pcap
我刚才还没有尝试过,但我的猜测是内存占用主要是由 TCP 解析器跟踪连接等引起的。如果您创建一个配置文件,在其中禁用所有不需要的解析器(并且因为你过滤的框架元信息可能只是所有)你可能会节省大量内存。
我的做法是
- 启动 Wireshark
- 创建新配置文件
- 使用 "Analyze" -> "Enabled Protocols" -> "Disable All"
- 关闭 Wireshark
- 运行 tshark,用“-C”参数指定新的配置文件
正如我所说,我还没有针对您的情况对此进行测试,但在从 pcaps 雕刻数据包时,我经常使用简化的解剖设置。它速度更快,错误更少,并且可以节省 RAM。
我正在尝试在 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
问题是内存RAM的浪费:
代码使用了 95/95% 的内存 (8GB)。有没有更好的切片 PCAP 文件的方法?我也试过Python...
tshark 不是这项工作的最佳工具。我对 libtrace (github link), which gives a nice toolbox for handling capture files. Specifically, in your case, the tracesplit 工具有很好的体验。
请注意,他们的大多数示例都使用名为 erf 的捕获格式,而不是 pcap。但是他们 support pcap 个文件,你只需要指定它。
等效的 tracesplit 命令类似于:
tracesplit --starttime=1484908320 --endtime=1484937840 -compress-type=none pcapfile:dia5_20Jan17.pcap pcapfile:1.pcap
您可以使用editcap
拆分捕获文件。例如:
editcap -A "2017-01-20 10:32:00" -B "2017-01-20 18:44:00" infile.pcap outfile.pcap
我刚才还没有尝试过,但我的猜测是内存占用主要是由 TCP 解析器跟踪连接等引起的。如果您创建一个配置文件,在其中禁用所有不需要的解析器(并且因为你过滤的框架元信息可能只是所有)你可能会节省大量内存。
我的做法是
- 启动 Wireshark
- 创建新配置文件
- 使用 "Analyze" -> "Enabled Protocols" -> "Disable All"
- 关闭 Wireshark
- 运行 tshark,用“-C”参数指定新的配置文件
正如我所说,我还没有针对您的情况对此进行测试,但在从 pcaps 雕刻数据包时,我经常使用简化的解剖设置。它速度更快,错误更少,并且可以节省 RAM。