通过 TCP 连接分割 pcap 文件的工具?

通过 TCP 连接分割 pcap 文件的工具?

是否有工具可以将数据包捕获文件(pcap 格式)拆分为针对每个 TCP 连接的单独文件?(除了可能需要在捕获过程中运行两次的自制 shell 脚本...)。类似于 wireshark 的“跟踪 TCP 流”,但用于命令行(我担心 wireshark 在显示 700 MB 数据包捕获时会消耗大量内存)

我在看tcp流但它似乎生成的文件比原始 pcap 文件大得多,而且它们似乎不是 pcap 格式。

答案1

您还可以使用Pcap分离器这是普卡普包。它完全满足您的需求(即通过 TCP 或 UDP 连接拆分 pcap 文件),它是多平台的,并且对原始文件中的连接数没有限制(因此您可以使用它来拆分包含数千个甚至更多连接的大型 pcap 文件)。上面的链接是源代码,但如果您想要编译的二进制文件 -这里是我为多个平台制作的二进制文件的链接

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

答案2

您可以使用它tcpdump来提取所需的 pcap 部分...假设您正在寻找一个主机上的 TCP/55777 和另一个主机上的 TCP/80 之间的套接字连接中的数据包。您的源文件是bigfile.pcap,它是指向相关 Web 主机的许多 HTTP 会话的嗅探器转储...

tcpdump -r bigfile.pcap -w session.pcap -s0 tcp and port 55777

这会拉取所有往返于 TCP/55777 的数据包bigfile.pcap并将其复制到session.pcap

答案3

tcpflow 就是你想要的 - 将每个 TCP 会话的 pcaps 拆分成一个文件

http://www.circlemud.org/jelson/software/tcpflow/

答案4

似乎有一个工具可能会有用(我个人没有用过)

http://www.netresec.com/?page=SplitCap(基于 Windows)

SplitCap 是一款免费(如 beer)开源 pcap 文件分割器。SplitCap 根据 TCP 和 UDP 会话将一个大型 pcap 文件分割成多个文件,每个会话一个 pcap 文件。SplitCap 还可用于将 pcap 文件分割成每个主机对(而不是每个会话)一个 pcap 文件。

相关内容