tshark - 按webservice的名称过滤

时间:2016-08-25 09:28:26

标签: web-services wireshark tcpdump tshark

我尝试使用tshark记录发送到名为 myservice 的WebService的每个请求。

当我使用下面的命令时,我可以在输出文件中看到在端口8280(Tomcat)上发送的每个请求:

tshark -n -i eth1 port 8280 -w output.pcap

考虑到我在Tomcat实例中有很多WebServices,我想按服务名称进行过滤,类似:

tshark -n -i eth1 port 8280 -w output.pcap -R 'http.request.uri contains "myservice"'

根据man,看起来我应该使用 -f (捕获过滤器)而不是 -R (显示过滤器),因为你可以&#39 ; t使用 -R -w

  

tshark:捕获并保存捕获的数据包时,不支持读取过滤器。

我看了documentation about capture filters,但我看不到办法。我也试过tcpdump但没有成功。

1 个答案:

答案 0 :(得分:1)

您可以将ngrep用于此

sudo ngrep -O output.pcap -i -d eth0 'myservice'

虽然您可能会得到一些误报,具体取决于是否在不适合您的应用程序的无关数据包上找到“myservice”。为避免这种情况,您可能希望应用bpf过滤器来仅grep定向到您的服务/应用的流量

sudo ngrep -O output.pcap -i -d eth0 'myservice' 'tcp dst port 8280'