本文最后更新于 2023年9月22日。
在 CentOS 上,你可以使用以下几种方法来查看已开启的端口:
显示端口信息
-
使用 netstat 命令:
netstat -tuln
这将显示当前系统上所有的 TCP 和 UDP 连接以及监听的端口。你可以查找 “LISTEN” 状态的行,这表示该端口正在监听连接。
-
使用 ss 命令:
ss -tuln
类似于 netstat,ss 命令也可以显示当前系统上的 TCP 和 UDP 连接以及监听的端口。同样,你可以查找 “LISTEN” 状态的行来确定开启的端口。
-
使用 lsof 命令:(推荐,感觉这个清晰全面)
lsof -i -P -n
lsof 命令可以列出当前打开的文件和网络连接。使用上述命令,它将显示网络连接的相关信息,包括打开的端口。
-
使用 nmap 工具:
如果你已经安装了 nmap 工具,你可以使用它来扫描主机上的端口情况。nmap localhost
这将扫描本地主机上的所有端口,并显示它们的状态。
我的服务器可以用ss这个命令有些命令可能需要以 root 或具有足够权限的用户身份运行,以便显示完整的端口信息。
显示具体端口占用情况
如果你想要显示被哪个具体的服务占用了某个端口,你可以使用以下命令:
-
使用
netstat
命令:netstat -tulnep | grep <端口号>
这个命令将显示指定端口号的监听状态,并列出与之关联的服务或进程的PID(进程ID)。
-
使用
ss
命令:ss -tulnep | grep <端口号>
这个命令与上述的netstat命令类似,它将显示指定端口号的监听状态,并列出与之关联的服务或进程的PID。
-
使用
lsof
命令:lsof -i :<端口号>
这个命令将列出指定端口号的相关信息,包括进程的PID和进程名。