我有一个巨大的pcap文件(由tcpdump生成)。当我尝试在Wireshark中打开它时,该程序变得无响应。有没有办法将文件拆分为一组较小的文件,以一个一个地打开它们?文件中捕获的流量是由两台服务器上的两个程序生成的,因此我无法使用tcpdump“主机”或“端口”过滤器拆分文件。我也尝试了linux'split'命令:-),但是没有运气。Wireshark无法识别格式。
split
原因是因为split将在确切的字节边界上划分。这很可能会拆分一个使某些文件内容无效的数据包。
我有一个巨大的pcap文件(由tcpdump生成)。当我尝试在Wireshark中打开它时,该程序变得无响应。有没有办法将文件拆分为一组较小的文件,以一个一个地打开它们?文件中捕获的流量是由两台服务器上的两个程序生成的,因此我无法使用tcpdump“主机”或“端口”过滤器拆分文件。我也尝试了linux'split'命令:-),但是没有运气。Wireshark无法识别格式。
split
原因是因为split将在确切的字节边界上划分。这很可能会拆分一个使某些文件内容无效的数据包。
Answers:
您可以将tcpdump本身与-C,-r和-w选项一起使用
tcpdump -r old_file -w new_files -C 10
“ -C”选项指定要分割成的文件的大小。例如:在上述情况下,每个新文件的大小为1000万字节。
tcpdump -r old_file -w new_files -C 1000
按每955MB记录的流量
使用editcap
Wireshark 附带的实用程序。
editpcap -c 1000 input.pcap output.pcap
将分成input.pcap
多个捕获,每个捕获最多1000个数据包。输出将是多个捕获文件,格式为output_{index}_{timestamp}.pcap
editcap
,不是editpcap
,对吗?
我知道这个答案有点晚了,但它也可能为其他人服务。我发现了一个用于拆分pcap文件的好工具:PcapSplitter。它是PcapPlusPlus库的一部分,这意味着它是跨平台的(Win32,Linux和Mac OS),它可以根据不同的标准(例如文件大小(您似乎需要))拆分pcap文件,还可以通过连接,客户端/服务器来拆分IP,服务器端口(类似于协议),数据包计数等。我发现它非常有用。上面的链接用于源代码,但是如果您不想/不知道如何编译,我会为使用该工具的多个平台创建已编译的二进制文件。我非常推荐这个工具
编辑:显然已经发布了新版本的PcapPlusPlus,它包含适用于许多平台(Windows,Ubuntu 12.04 / 14.04,Mac OSX Mavericks / Yosemite / El Captian)的PcapSplitter二进制文件。我认为使用这些二进制文件比我以前提供的链接更好。你可以在这里找到
最好,最快的方法是使用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
祝好运!