我怀疑我的服务器有大量来自其客户端的HTTP请求。
我想测量HTTP流量。
如何使用Wireshark进行处理?
或者可能有一个使用其他工具的替代解决方案?

这是Wireshark中单个http请求/响应流量的外观。
ping是由WinAPI函数生成的::: InternetCheckConnection()
替代文本http://yowindow.com/shared/ping.png

谢谢!

#1 楼

Ping数据包应使用8(回显)或0(回显应答)的ICMP类型,因此可以使用以下捕获过滤器:

icmp


和显示过滤器:

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


对于HTTP,可以使用以下捕获过滤器:

tcp port 80


或显示过滤器of:

tcp.port == 80


或:

http


请注意,http的过滤器与其他过滤器不同两个,其中包括握手和终止数据包。

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

dst tcp port 80 


将其与http显示过滤器结合使用,或使用:

tcp.dstport == 80 && http


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

评论


抱歉,我忘记提及“ ping”请求的详细信息。这是Windows的ping方法。看来icmp与我的情况无关。

–标准
09年12月21日在8:40

查看我刚刚附加的Wireshark中ping的屏幕截图

–标准
09年12月21日在8:42

我将问题从“ ping”更改为“ http”,因此您的回答在上下文中没有任何意义,但我+1,因为它是一个很好的ping答案。

– Simeon朝圣者
09年12月21日在9:08

#2 楼

只需使用DisplayFilter http,例如:



评论


当我这样做时,显示0并收到45k,然后访问网站,有什么想法吗?我正在查看Wi-Fi:en0

– SuperUberDuper
19-09-17在11:53



#3 楼

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

您可以使用以下IP过滤流量捕获或显示过滤器host == 77.222.43.228

#4 楼

使用Wireshark 1.2+,我将运行此批处理文件:

:: 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