我刚刚下载了 mac 版 wireshark,因为我想确切地找出应用程序连接的位置。我需要查看 URL 和协议,无论是 https 还是 http。
我对 Wireshark 和常规测试还很陌生,因此需要详细的答复。
我努力了:
tcp.端口 == 443 || tcp.端口 == 80
在过滤器部分,但似乎只向我显示了 chrome 正在尝试连接的内容。
请有人帮助我。
答案1
使用 wireshark
Wireshark 不支持隔离特定应用程序的流量。您必须关闭 OSX 上运行的所有其他应用程序才能减少噪音。找到应用程序创建的 tcp 流后,您可以右键单击数据包并选择“跟踪 TCP 流”。
要使用 Wireshark 实现目标,一个更好的方法是设置虚拟机并在虚拟机内运行应用程序。然后,您可以通过嗅探虚拟机虚拟网络接口来嗅探来自虚拟机的所有流量。
使用 nettop
在我看来,wireshark 不是满足你需求的工具。在 MacOSX 上,有一个非常有用的工具叫 nettop。打开终端并运行,nettop -P
获取当前正在运行的每个应用程序生成的所有流量及其 pid 的摘要。在我的计算机上,我有:
bytes_in bytes_out rx_dupe rx_ooo
[...]
Skype.27479 1831 KiB 1950 KiB 32 KiB 20 KiB
[...]
然后获取应用程序的 pid(此示例中为 27479)并运行:
nettop -p 27479
您将看到应用程序正在连接的位置:
Skype.27479 1836 KiB 1955 KiB 32 KiB 20 KiB
tcp4 192.168.0.46:49355<->91.190.219.46:12350 en0 Established 429 B 694 B 0 B 0 B
tcp4 192.168.0.46:56325<->52.229.169.31:443 en0 Established 421 KiB 205 KiB 29 KiB 20 KiB
tcp4 192.168.0.46:51753<->157.55.56.149:40016 en0 Established 140 KiB 377 KiB 281 B 0 B
tcp4 192.168.0.46:51751<->13.69.188.18:443 en0 Established 117 KiB 84 KiB 2968 B 0 B
您可以进一步限制显示的流量以符合某些规则,但我建议您不要这样做:您可能会惊讶地发现有多少应用程序不仅仅依赖于 http / https :)
运行man nettop
以获取更多详细信息
答案2
尝试使用像 Fiddler 这样的网络跟踪器。
https://www.telerik.com/blogs/introducing-fiddler-for-os-x-beta-1