我怀疑我的服务器有大量来自客户端的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