tcpdump根据http头的内容进行过滤

使用tcpdump我想过滤从鱿鱼caching服务器回来的响应只有从caching回来的响应。 这意味着我需要根据X-CACHE头部值进行过滤,如果它的值是HIT,我应该显示它,否则响应不是来自caching。 任何想法我的tcpdumpfilter应该是什么?

你有没有考虑使用ngrep而不是tcpdump?

看来tcpdump只能匹配某些字节的数据包内容,不能任意search某个string的数据包。 看看这个高级filter列表的一些指导。

解决方法:如果将-s0 -A -w - (显示整个数据包,ASCII,写入标准输出)添加到您的tcpdump参数中,则可以使用带有一些上下文的grep来仅显示显示X-Cache:击中。

我不相信这是可能的。 您可以捕获正确的端口/ IP组合上的所有stream量,然后使用wireshark或类似的过滤。

你也可以使用ngrep(grep为你的networking)

对于这种types的问题,虽然我通常诉诸使用libpcap和ruby写一个快速的脚本。 然后您只能logging您需要的数据包,或者只logging您所需的数据包中的信息。

随着ruby,这是相当痛苦,我敢肯定python或类似也将是直截了当的。