用于前几个数据包和与断开连接相关的数据包的 PCAP 过滤器,仅限 TCP

用于前几个数据包和与断开连接相关的数据包的 PCAP 过滤器,仅限 TCP

我想使用带有过滤器的 tcpdump 进行一些长时间运行的调试。具体来说,我只想捕获具有以下条件的数据包:

  • 新的 TCP 连接的前 10 个数据包左右(包括握手)
  • 任何异常情况(重新传输、重复 ACK 等)
  • 任何表示断开连接的信息(FIN、RST 或其他任何信息)

我遇到的问题是关于前 X 个数据包。是否可以为 tcpdump(或类似工具)编写一个 PCAP 过滤器来执行此操作?如果可以,该怎么做?

答案1

我遇到的问题是关于前 X 个数据包。是否可以为 tcpdump(或类似工具)编写一个 PCAP 过滤器来执行此操作?

否。Pcap 过滤器是“无状态的”,这意味着它们独立于先前的数据包对每个数据包起作用,并且没有在数据包之间保持可用的“状态”(或内存);看到的数据包数量将是一种状态形式,而您无法在 pcap 过滤器中检查此类内容。

重新传输和重复的 ACK 也需要状态来识别,即您必须记住第一次传输以检查重新传输并记住第一个 ACK​​ 以检查重复的 ACK。

相关内容