如何将pcap文件拆分为一组较小的文件


47

我有一个巨大的pcap文件(由tcpdump生成)。当我尝试在Wireshark中打开它时,该程序变得无响应。有没有办法将文件拆分为一组较小的文件,以一个一个地打开它们?文件中捕获的流量是由两台服务器上的两个程序生成的,因此我无法使用tcpdump“主机”或“端口”过滤器拆分文件。我也尝试了linux'split'命令:-),但是没有运气。Wireshark无法识别格式。


有多大?它比可用的RAM大得多吗?
pehrs 2010年

2
有点晚了,但是Wireshark不会读取文件输出的split原因是因为split将在确切的字节边界上划分。这很可能会拆分一个使某些文件内容无效的数据包。
Burhan Ali

Answers:


72

您可以将tcpdump本身与-C,-r和-w选项一起使用

tcpdump -r old_file -w new_files -C 10

“ -C”选项指定要分割成的文件的大小。例如:在上述情况下,每个新文件的大小为1000万字节。


丹,你真是一个了不起的人。
lobi,2016年

有没有一种方法可以在不中断会话的情况下进行此操作?(假设单个会话小于size limit参数)。
spanishgum

快速:tcpdump -r old_file -w new_files -C 1000 按每955MB记录的流量
分配

18

使用editcapWireshark 附带的实用程序。


5
editpcap -c 1000 input.pcap output.pcap将分成input.pcap多个捕获,每个捕获最多1000个数据包。输出将是多个捕获文件,格式为output_{index}_{timestamp}.pcap
blachniet 2014年

1
谢谢blachniet的例子!但这只是editcap,不是editpcap,对吗?
林德

3

我知道这个答案有点晚了,但它也可能为其他人服务。我发现了一个用于拆分pcap文件的好工具:PcapSplitter。它是PcapPlusPlus库的一部分,这意味着它是跨平台的(Win32,Linux和Mac OS),它可以根据不同的标准(例如文件大小(您似乎需要))拆分pcap文件,还可以通过连接,客户端/服务器来拆分IP,服务器端口(类似于协议),数据包计数等。我发现它非常有用。上面的链接用于源代码,但是如果您不想/不知道如何编译,我会为使用该工具的多个平台创建已编译的二进制文件。我非常推荐这个工具

编辑:显然已经发布了新版本的PcapPlusPlus,它包含适用于许多平台(Windows,Ubuntu 12.04 / 14.04,Mac OSX Mavericks / Yosemite / El Captian)的PcapSplitter二进制文件。我认为使用这些二进制文件比我以前提供的链接更好。你可以在这里找到


2

最好,最快的方法是使用SplitCap,例如,SplitCap可以根据会话拆分大型数据包转储文件。这样,您将在单独的PCAP文件中获得每个TCP会话。SplitCap还可以根据IP地址将数据包分成pcap文件。

您可以在Netresec博客上了解有关SplitCap的更多信息:http : //www.netresec.com/? page=Blog&month=2011-05&post=Split-or-filter-your-PCAP-files-with-SplitCap

从此处下载SplitCap:http : //www.netresec.com/? page=SplitCap

祝好运!


有Linux版本吗?
ychaouche 2014年

这是一个不错的程序,它缺乏使用pcapng文件的功能。
Guntram Blohm支持Monica 15'Sep

0
tcpdump -w trace.pcap -W 48 -G 300 -C 100 -i any port 41110
  • -G 300 它会在5分钟内旋转
  • -W 48 文件数量
  • -C 100 档案大小100 MB
  • port 您可以根据应用程序指定端口
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.