如何过滤Wireshark中的http流量?

par*_*par 98 traffic wireshark

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

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

谢谢!

out*_*tis 77

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

icmp
Run Code Online (Sandbox Code Playgroud)

和一个显示过滤器:

icmp.type == 8 || icmp.type == 0
Run Code Online (Sandbox Code Playgroud)

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

tcp port 80
Run Code Online (Sandbox Code Playgroud)

或显示过滤器:

tcp.port == 80
Run Code Online (Sandbox Code Playgroud)

或者:

http
Run Code Online (Sandbox Code Playgroud)

请注意,过滤器http不等同于其他两个,后者将包括握手和终止数据包。

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

dst tcp port 80 
Run Code Online (Sandbox Code Playgroud)

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

tcp.dstport == 80 && http
Run Code Online (Sandbox Code Playgroud)

欲了解更多有关捕获过滤器,请阅读“过滤而捕捉”从Wireshark的用户指南中,捕获过滤器上的Wireshark的维基或页面PCAP-滤波器(7)手册页。对于显示过滤器,请尝试Wireshark wiki 上的显示过滤器页面。在“过滤器表达式”对话框,可以帮助你建立显示过滤器。


小智 20

只需http像这样使用 DisplayFilter :

显示过滤器示例

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

小智 7

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

您可以使用 capture 或 display filter 过滤此 IP 的流量host == 77.222.43.228