Tcpdump最大分割文件大小

我指的是这个线程: 如何将一个pcap文件拆分成一组较小的文件

我试图使用命令tcpdump -r old_file -w new_files -C 4096和tcpdump返回tcpdump: invalid file size 4096

到目前为止,我已经testing,直到2048年(x1,000,000字节),它成功地将文件分割成2GB的大pcap文件。 有没有办法将一个大的pcap文件(例如20GB)分成4GB的小文件?

除非你愿意改变源代码并重新编译,否则你不会得到tcpdump本地执行。

 case 'C': Cflag = atoi(optarg) * 1000000; if (Cflag < 0) error("invalid file size %s", optarg); break; 

您需要查找和修改CFlags的types。 这虽然可能会导致其他意想不到的问题。

你可以尝试把它分成2GB的块,然后从每一对的第二个文件中删除20个字节的文件头 ( dd seek是你的朋友),然后用cat连接2个文件。

在Github存储库中有一个可用于tcpdump的修补程序,请参阅问题#488 。 如果按照INSTALL.txt(请参阅存储库的根目录)中所述的说明进行操作,那么应用修补程序和编译就非常容易了。

或者,您也可以使用库PcapPlusPlus。 在它的github存储库中有一个与tcpdump -C完全相同的PcapSplitter的例子。 不过,你也需要编译它,然后才能使用它。 但是有一个Makefile可用。