是否有工具可以将数据包捕获文件(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 拆分成一个文件
答案4
似乎有一个工具可能会有用(我个人没有用过)
http://www.netresec.com/?page=SplitCap(基于 Windows)
SplitCap 是一款免费(如 beer)开源 pcap 文件分割器。SplitCap 根据 TCP 和 UDP 会话将一个大型 pcap 文件分割成多个文件,每个会话一个 pcap 文件。SplitCap 还可用于将 pcap 文件分割成每个主机对(而不是每个会话)一个 pcap 文件。