![如何使用 wireshark 在两个单独的(且很大的)数据包捕获中轻松找到特定的 TCP 对话?](https://linux22.com/image/658880/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20wireshark%20%E5%9C%A8%E4%B8%A4%E4%B8%AA%E5%8D%95%E7%8B%AC%E7%9A%84%EF%BC%88%E4%B8%94%E5%BE%88%E5%A4%A7%E7%9A%84%EF%BC%89%E6%95%B0%E6%8D%AE%E5%8C%85%E6%8D%95%E8%8E%B7%E4%B8%AD%E8%BD%BB%E6%9D%BE%E6%89%BE%E5%88%B0%E7%89%B9%E5%AE%9A%E7%9A%84%20TCP%20%E5%AF%B9%E8%AF%9D%EF%BC%9F.png)
有时,我需要比较从 TCP 对话双方收集的数据包捕获(通常使用 wireshark 或 tcpdump)。有时所涉及的两个主机非常“健谈”,因此我需要将捕获范围缩小到特定会话。
我通常会在details
wireshark 的列中查找熟悉的内容,右键单击该数据包,然后选择Follow TCP Stream
。 这一切都很好,但是如何在其他数据包捕获中找到相同的等效流? WireShark 是否支持搜索某种流 ID?
答案1
统计数据、对话看起来与您想要的非常相似,您可以在那里对其中的流执行“应用为过滤器”。
如果您知道流索引号,则可以将其放入过滤器中:tcp.stream eq 5
你应该查看 ask.wireshark.org,我在那里发现了:
答案2
假设您使用的是 TCP,源端口通常足够独特,可以在已知时间段内进行跟踪。我会在 Wireshark 中加载第一个捕获,然后转到File -> Merge
以使跟踪的两端并排列出。确保选择“按时间顺序合并数据包”。
然后找到一个看起来有趣的数据包。根据方向,唯一的源端口或目标端口可能在 49152 到 65535 之间。
然后在主屏幕的过滤框中输入tcp.port == 49152
,其中 49152 是您的唯一端口。