📌  相关文章
📜  检查所有正在使用的端口 mac - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:10:53.308000             🧑  作者: Mango

检查所有正在使用的端口 - Mac Shell/Bash

在Mac OS中,你可以使用一些命令行工具来检查当前正在使用的端口。下面我们将介绍一些命令行工具,以及如何使用它们来获取正在使用的端口信息。

1. lsof命令

lsof是一个在Unix和类Unix系统中查看打开文件的工具。它也可以用来查看正在使用的网络端口。我们可以使用以下命令来获取当前正在使用的端口信息:

lsof -i

这个命令将会显示当前正在使用的网络端口和应用程序的进程。例如:

COMMAND   PID         USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
UserEvent  47         root    9u  IPv4 0xd480e133345cb601      0t0  UDP *:*
mDNSRespo  66         root   13u  IPv4 0xd480e133345c66c1      0t0  UDP *:*
mDNSRespo  66         root   14u  IPv6 0xd480e13334fccc61      0t0  UDP *:*
mDNSRespo  66         root   16u  IPv4 0xd480e133345cbcc1      0t0  UDP *:5353
mDNSRespo  66         root   17u  IPv6 0xd480e13334fcc421      0t0  UDP *:5353

其中,COMMAND表示应用程序的名称,PID表示进程ID,USER表示哪个用户运行了该进程,FD表示文件描述符,TYPE表示文件类型(IPv4或IPv6),DEVICE表示文件所在的设备,SIZE/OFF表示文件大小或偏移量,NODE表示端口号。

2. netstat命令

netstat是一个在Unix和类Unix系统中查看网络连接、路由表和网络接口信息的工具。我们可以使用以下命令来获取当前正在使用的端口信息:

netstat -an | grep -i "listen"

这个命令将会显示所有正在侦听的端口和应用程序的进程。例如:

tcp46      0      0  *.8080                 *.*                    LISTEN     
tcp4       0      0  *.445                  *.*                    LISTEN     
tcp46      0      0  *.548                  *.*                    LISTEN     
tcp4       0      0  *.17500                *.*                    LISTEN     
tcp6       0      0  fe80::1%lo0.12346      *.*                    LISTEN     

其中,“LISTEN”表示一个TCP端口正在侦听连接,而“*.*”表示接受来自所有IP地址的连接。

结论

现在你已经知道如何使用命令行工具来检查当前正在使用的端口了。无论是使用lsof命令还是使用netstat命令,你现在都可以获得正在使用的端口和应用程序的进程列表了。

注意:请确保在尝试使用 lsofnetstat 命令时,你拥有足够的权限来执行它们。如果你的系统限制了你的权限,则可能需要使用 sudo 命令或在管理员模式下运行终端。