![如何将 pcap 文件拆分为一组较小的文件](https://linux22.com/image/511050/%E5%A6%82%E4%BD%95%E5%B0%86%20pcap%20%E6%96%87%E4%BB%B6%E6%8B%86%E5%88%86%E4%B8%BA%E4%B8%80%E7%BB%84%E8%BE%83%E5%B0%8F%E7%9A%84%E6%96%87%E4%BB%B6.png)
我有一个巨大的 pcap 文件(由 tcpdump 生成)。当我尝试在 wireshark 中打开它时,程序就无响应了。有没有办法将一个文件拆分成一组较小的文件,然后逐个打开它们?文件中捕获的流量是由两个服务器上的两个程序生成的,因此我无法使用 tcpdump 的“主机”或“端口”过滤器拆分文件。我也尝试过 linux 的“split”命令 :-),但没有成功。Wireshark 无法识别该格式。
答案1
您可以使用 -C、-r 和 -w 选项来使用 tcpdump 本身
tcpdump -r old_file -w new_files -C 10
“-C”选项指定要分割的文件的大小。例如:在上述情况下,每个新文件的大小将为 1000 万字节。
答案2
使用editcap
与 Wireshark 一起分发的实用程序。
答案3
我知道这个答案有点晚了,但它可能也会对其他人有用。我发现了一个分割 pcap 文件的好工具:Pcap分离器. 这是普卡普库,这意味着它是跨平台的(Win32、Linux 和 Mac OS),它可以根据不同的标准(例如文件大小(您似乎需要的))拆分 pcap 文件,也可以按连接、客户端/服务器 IP、服务器端口(类似于协议)、数据包计数等拆分。我发现它非常有用。上面的链接是源代码,但如果您不想/不知道如何编译,我创建了编译的二进制文件我已经在多个平台上使用过此工具。我非常推荐此工具
编辑:显然,PcapPlusPlus 的新版本已经发布,它包含适用于相当多平台的 PcapSplitter 二进制文件(Windows、Ubuntu 12.04/14.04、Mac OSX Mavericks/Yosemite/El Captian)。我认为使用这些二进制文件比我之前提供的链接更好。你可以找到它这里
答案4
tcpdump -w trace.pcap -W 48 -G 300 -C 100 -i any port 41110
-G 300
它将每 5 分钟旋转一次-W 48
文件数量-C 100
文件大小 100 MBport
你可以根据应用程序指定端口