I suspect my server has a huge load of http requests from its clients. I want to measure the volume of http traffic. How can I do it with Wireshark? Or probably there is an alternative solution using another tool?
This is how a single http request/response traffic looks in Wireshark. The ping is generated by WinAPI funciton ::InternetCheckConnection() alt text http://yowindow.com/shared/ping.png
Thanks!
Ping packets should use an ICMP type of 8 (echo) or 0 (echo reply), so you could use a capture filter of:
and a display filter of:
For HTTP, you can use a capture filter of:
or a display filter of:
or:
Note that a filter of
http
is not equivalent to the other two, which will include handshake and termination packets.If you want to measure the number of connections rather than the amount of data, you can limit the capture or display filters to one side of the communication. For example, to capture only packets sent to port 80, use:
Couple that with an
http
display filter, or use:For more on capture filters, read "Filtering while capturing" from the Wireshark user guide, the capture filters page on the Wireshark wiki, or pcap-filter (7) man page. For display filters, try the display filters page on the Wireshark wiki. The "Filter Expression" dialog box can help you build display filters.
Simply use a DisplayFilter
http
like this:It's not a ping. A ping, as already said by outis, is an ICMP echo request. Your trace displays the establishment and immediate termination of an HTTP connection, and that's what
InternetCheckConnection()
does. The IP in question, 77.222.43.228, resolves to http://repkasoft.com/, which, I guess, is the URL you pass toInternetCheckConnection()
.You can filter traffic with this IP by using capture or display filter
host == 77.222.43.228
.Using Wireshark 1.2+ , I would run this batch file: