我有一台 iMac,我关闭了几乎所有应用程序。浏览器、Skype、Spotify 都关闭了。尽管如此,当我这样做时,tcpdump
我仍然记录了大量 TCP 流量。
如何了解这些流量的来源?涉及哪些应用程序或处理?
答案1
要查看 Mac OS X (10.8) 中当前绑定到 TCP 套接字的进程,可以使用lsof -itcp
它将提供打开文件列表(网络连接表示为特殊文件类型)和绑定到打开套接字的进程 ID。目前在我的系统上:
[mini-nevie:~] nevinwilliams% lsof -itcp
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
WebProces 91698 nevinwilliams 27u IPv4 0x902ab8abaca8b3f9 0t0 TCP 192.168.2.11:51499->stackoverflow.com:http (ESTABLISHED)
WebProces 91698 nevinwilliams 43u IPv4 0x902ab8abb8727269 0t0 TCP 192.168.2.11:51475->stackoverflow.com:http (ESTABLISHED)
请注意,此列表给出的是端口名称(位于 /etc/services 中)而不是端口号,这本身有助于识别流量类型。用于lsof -Pitcp
数字列表。
我看到 ID 为 91698 的一个进程有两个与 stackoverflow.com 的网络连接......
要获取 PID 91695 的完整进程信息,我可以使用ps -f -p91698
...
mini-nevie:~] nevinwilliams% ps -f -p91698
UID PID PPID C STIME TTY TIME CMD
501 91698 91695 0 12:41am ?? 26:05.50 /System/Library/StagedFrameworks/Safari/WebKit2.framework/WebProcess.app/Contents/MacOS/WebProcess /System/Library/StagedFrameworks/Safari/WebKit2.framework/WebKit2 -type webprocess -servicename com.apple.WebKit.WebProcess-91695-0x10d7011e0 -localization en_US
这告诉我它是 Safari 框架的一部分,显然是因为我在撰写本文时已使用 Safari 连接到该网站。
有关 、 和 的更多信息netstat
,lsof
请ps
参阅其各自的man
页面。