显示哪些应用程序 & 进程正在通过 Mac OS X 中的命令行使用 Internet 连接

目录:

Anonim

就像您可以通过命令行监视 Mac OS X 文件系统的使用情况一样,您还可以发现哪些应用程序和各个进程当前正在使用您的 Mac 互联网连接。如果您知道您的带宽正被某些东西占用,或者您只是想追踪哪些应用程序或后台进程正在连接到外部世界,这将是一个非常方便的技巧。

要确定哪些 Mac 应用程序、守护程序、进程或其他任何东西正在使用互联网,我们将转向 Mac OS X 的命令行并使用优秀的 lsof 的更高级变体命令。是的,这适用于任何版本的 MacOS 或 Mac OS X,以及通过任何服务的互联网连接类型,无论是 wi-fi 和无线网络还是以太网,这也适用于 linux 机器,因为 lsof 是标准网络工具二进制文件。

我们将介绍两种方法,第一种提供易于阅读的输出,并将打印连接到外部世界的应用程序和进程的名称,第二种字符串将提供有关的极其详细的信息什么 PID 连接到哪个主机并使用什么协议。您可以根据自己的具体需要使用其中之一,也可以同时使用两者。

如何在Mac OS X 中使用Internet 显示应用程序和进程的名称

如果您还没有打开终端应用程序,请准确输入以下命令:

lsof -nPi | cut -f 1 -d ">

如果您不熟悉命令行,您可能需要复制/粘贴该字符串,只需确保整个字符串在一行语法上执行即可。

运行那个冗长的命令会给你这样的输出:

SystemUIS Dropbox iChatAgen Finder iTunes 谷歌 ssh

这些只是活跃使用互联网的应用程序和进程名称。现在,显然这里没有更多的数据,但如果你只是想追踪一个流氓带宽占用应用程序,有时它就足够了。

当然,在很多情况下,扩展信息包括哪些进程和/或应用程序正在使用网络连接、如何使用以及连接到什么远程地址,这就是我们接下来要介绍的内容。

如何显示从Mac OS X连接到Internet的进程ID的详细信息

如果你想要比上面命令字符串中显示的更详细的信息,我们可以修改上面的命令,以便我们通过删除到其他命令行实用程序的管道从 lsof 中获取更多原始数据,直接从 lsof 给我们留下未经提炼的细节。您还会注意到我删除了 -n 标志,因为这次我想查看主机名:

lsof -Pi

这将提供更详细的数据,包括应用名称、PID、协议、IP地址、主机名和当前连接状态。所有非常有用的数据。

如果这是信息过载,请尝试通过“更多”管道命令,以便更容易地读取块,或者使用 grep 为特定应用程序或进程排序数据,如下所示:

$ lsof -Pi |grep iChatAgen iChatAgen 228 David 10u IPv4 0x0bfe44ec 0t0 UDP 127.0.0.1:5191->bos-d25v-r2d2.blue.aol.com:5191 iChatAgen 228 大卫 13u IPv4 0x1e148b1e 0t0 TCP 192.168.1.29:50051->206.198.4.49:5190(已建立)

lsof 是一个功能强大的实用程序,用途广泛。很久以前我就介绍过使用 lsof 来追踪带宽问题,但它只使用了 -i 标志,这大大简化了。您可以使用所涵盖的任何变体,并且每个变体都有自己的有用案例。

命令行工具是针对高级用户的,但那些刚接触 Mac OS X 或只是不喜欢 Terminal 的人可以使用 Private Eye 等应用程序来帮助查看正在使用 Mac 互联网连接的用户类似的方式,尽管更加用户友好并且完全在传统的 Mac 应用程序中。

显示哪些应用程序 & 进程正在通过 Mac OS X 中的命令行使用 Internet 连接