如何在Wireshark中过滤httpstream量?

我怀疑我的服务器有大量来自客户端的http请求。 我想测量httpstream量。 我怎样才能用Wireshark做到这一点? 或者可能有使用另一种工具的替代解决scheme?

这是Wireshark中单个http请求/响应stream量的外观。 ping由WinAPI funciton :: InternetCheckConnection()生成。alt text http://yowindow.com/shared/ping.png

谢谢!

Ping数据包应使用8(回声)或0(回应回复)的ICMPtypes,因此您可以使用以下捕获filter:

icmp 

以及一个显示filter:

 icmp.type == 8 || icmp.type == 0 

对于HTTP,您可以使用以下捕获filter:

 tcp port 80 

或者显示filter:

 tcp.port == 80 

要么:

 http 

请注意, http的filter不等同于其他两个,其中包括握手和终止数据包。

如果要测量连接数量而不是数据量,可以将捕获或显示filter限制在通信的一侧。 例如,要仅捕获发送到端口80的数据包,请使用:

 dst tcp port 80 

加上一个http显示filter,或使用:

 tcp.dstport == 80 && http 

有关捕获filter的更多信息,请参阅Wireshark用户指南,Wireshark wiki上的捕获filter页面或pcap-filter(7)手册页中的“ 捕获时过滤” 。 对于显示filter,请尝试Wireshark wiki上的显示filter页面。 “filterexpression式”对话框可以帮助您构build显示filter。

简单地使用像这样的DisplayFilter http

显示过滤器示例

这不是一个平。 如前所述,ping是ICMP回显请求。 您的跟踪显示HTTP连接的build立和立即终止,这就是InternetCheckConnection()所做的。 有问题的IP,77.222.43.228,parsing为http://repkasoft.com/ ,我想这是你传递给InternetCheckConnection()的URL。

您可以通过使用捕获或显示filterhost == 77.222.43.228过滤具有此IP的host == 77.222.43.228

使用Wireshark 1.2+,我会运行这个batch file:

 :: Script to save a wireshark trace :: tshark -D to get interface id @echo off C: cd C:\Temp\NetTracing set PATH=%PATH%;C:\Program Files\Wireshark echo Tracing host 127.1 or 172.1.1.1 or 10.0.0.1 tshark.exe -i 4 -a duration:900 -S -f "tcp port 80" -w trace.cap