Tcpdump 最大分割文件大小

Tcpdump 最大分割文件大小

我参考了此帖子:如何将 pcap 文件拆分为一组较小的文件

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

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

答案1

除非你愿意改变来源并重新编译,你将无法让 tcpdump 本地执行此操作。

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

您需要找到并修改 CFlags 的类型。但这可能会导致其他意外问题。

你可以尝试将其分割成 2GB 的块,然后删除 20 字节文件头来自每对的第二个文件(seek 是你的朋友),然后使用 cat 将这两个文件连接在一起。

答案2

Github 仓库中有一个可用的 tcpdump 补丁,请参阅问题 #488。如果您按照 INSTALL.txt 中描述的说明进行操作(请参阅存储库的根目录),则应用补丁和编译非常容易。

或者,您也可以使用 PcapPlusPlus 库。在其 github 存储库中有一个示例Pcap分离器其功能与 完全相同tcpdump -C。但是,您也需要先编译它,然后才能使用它。不过有一个 Makefile 可用。

相关内容