通过 tshark 检索数据包直到它获得特定数据包?

Retrieving packets by tshark until it gets a specific packet?

在使用 tshark 时,我想捕获一个包含特定字符串的数据包。

执行tshark后,我希望它在收到包含特定字符串的数据包时立即停止接收数据包,return。

执行此操作应该使用哪些参数?

我认为您正在寻找 trigcap 之类的东西,它是 Wireshark 项目的一部分,但据我所知目前尚未发布,因为它显然不适用于 Windows 并且现在可能在其他平台上也有问题,因为它已经很长时间没有看到任何积极的发展 AFAIK。

您可以尝试自己编译一下,看看是否满足您的需求。在以下位置阅读更多相关信息:

如果你在 Windows,你可能想看看 dumpcap.bat file posted on the Wireshark wiki Tools 页面。

所有这些解决方案都依赖于 BPF (pcap-filters),因此无论您要寻找什么字符串作为停止条件,都需要以某种方式处理成该格式,这可能并不容易。