如何在Mac上使用Netstat命令
macOS上的netstat命令是一个终端命令,用于显示有关Mac网络通信的详细信息。网络通信包括Mac通过所有端口和所有应用程序与外界进行交流的所有方式。掌握netstat可以帮助您了解计算机之间的连接以及原因。
运行Netstat
默认情况下,netstat命令在Mac上可用。您不需要下载或安装它。
要运行netstat,请在“ 应用程序” >“ 实用程序” >“ 终端”中打开“终端”窗口。类型netstat的,然后按Enter键执行命令。
屏幕上会滚动滚动显示大量隐秘文本。这是正常现象,是预期的。如果您不使用任何可用标志(请参见下文),netstat将报告Mac上所有活动的网络连接。考虑到现代网络设备执行的功能数量,您可以期望列表很长。标准的netstat报告可以运行超过1000行。
过滤netstat的输出对于了解Mac的活动端口上发生的情况至关重要。它的内置标志允许您设置选项,限制netstat的范围和输出。
Netstat标志和选项
要查看netstat的所有可用选项,请在命令提示符下键入man netstat。
注:“ Man”是“ manual”的缩写。
句法
要将标志和选项添加到netstat,请使用以下语法:
netstat [-AabdgiLlmnqrRsSvWx] [-c queue] [-f address_family] [-I interface] [-p protocol] [-w wait]有用的标志
以下是一些最常用的标志:
-a在netstat的输出中包括服务器端口,这些端口不包括在默认输出中。
-g显示与多播连接相关的信息。
-I 接口提供指定接口的数据包数据。可以使用-i标志查看所有可用接口,但是en0通常是默认的传出网络接口。(请注意小写字母。)
-n禁止使用名称标记远程地址。这大大提高了netstat的输出速度,同时只牺牲了有限的信息。
-p 协议列出与特定网络协议关联的流量。完整的协议列表位于/ etc / protocols,但是最重要的协议是udp和tcp。
-r显示路由表,展示了数据包的路由在网络。
-s显示所有协议的网络统计信息,,无论它们是否处于活动状态。
-v增加详细程度,特别是通过添加一列来显示与每个打开的端口关联的进程ID(PID)。
Netstat示例
考虑以下示例:
netstat -apv TCP此命令仅返回Mac上的TCP连接,包括打开的端口和活动的端口。它还使用详细输出,列出与每个连接关联的PID。
netstat -a | grep -i "listen"netstat和grep的这种组合揭示了开放端口-正在侦听消息的端口。管道字符| 将一个命令的输出发送到另一命令。在这里,netstat的输出通过管道传递到grep,使您可以在其中搜索关键字“ listen”并找到结果。
通过网络实用程序访问Netstat
您还可以通过Network Utility应用程序访问系统中某些netstat的功能,方法是:系统 > 库 > CoreServices > 应用程序。
单击Netstat选项卡以访问netstat的图形界面。
与通过命令行可用的选项相比,Network Utility中的选项受限制得多。四个单选按钮选择中的每一个都只需运行预设的netstat命令并显示输出。
每个单选按钮的netstat命令如下:
显示路由表信息运行netstat -r。
显示运行netstat -s的每个协议的全面网络统计信息。
显示多播信息运行netstat -g。
显示所有当前运行netstat的套接字连接的状态。
用Lsof补充Netstat
netstat的macOS实现未包含用户期望和需要的许多功能。尽管netstat有其用途,但它在macOS上的作用远不如在Windows上有用。不同的命令lsof代替了许多缺少的功能。
Lsof显示当前在任何应用程序中打开的所有文件。您还可以使用它来检查与应用程序关联的打开的端口。运行lsof -i,您将看到所有通过Internet通信的应用程序的列表。在Windows计算机上使用netstat时,这通常是目标。但是,在macOS上完成该任务的唯一有意义的方法不是使用netstat,而是使用lsof。
Lsof标志和选项
显示每个打开的文件或互联网连接通常非常繁琐。这就是lsof带有用于限制特定条件下的结果的标志的原因。最重要的是下面。
-i显示所有打开的网络连接以及正在使用该连接的进程的名称。在-i4中添加4,将仅显示IPv4连接。相反,添加6(-i6)将仅显示IPv6连接。
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/40265.html