使用 netstat 命令
安装 nettools 包
在CentOS 7及更高版本中,netstat 命令属于nettools 包,如果系统中没有安装该包,可以通过以下命令进行安装:

sudo yum install nettools
查看所有端口
执行以下命令来查看所有活动的端口:
sudo netstat tuln
解释:
t:显示TCP协议的端口。
u:显示UDP协议的端口。
l:仅列出监听端口。

n:以数字形式显示地址和端口号。
查看特定端口
如果你只想查看特定端口,可以使用grep 命令来过滤结果,查看80端口:
sudo netstat tuln | grep :80
使用 ss 命令
查看所有端口
ss 是iproute2 软件包的一部分,它是netstat 的一个现代替代品,提供了更快和更详细的网络信息。
sudo ss tuln
解释:

t:显示TCP协议的端口。
u:显示UDP协议的端口。
l:仅列出监听端口。
n:以数字形式显示地址和端口号。
查看特定端口
查看80端口的使用情况:
sudo ss tuln | grep :80
使用 lsof 命令
安装 lsof
如果系统中没有安装lsof,可以使用以下命令进行安装:
sudo yum install lsof
查看所有端口
sudo lsof i P n
解释:
i:显示网络文件。
P:显示端口号,而不是尝试解析服务名称。
n:不将地址解析为主机名。
查看特定端口
查看80端口:
sudo lsof i :80
4. 使用 firewallcmd 命令
查看所有开放的端口
在CentOS 7及更高版本中,默认的防火墙管理工具是firewalld,你可以使用firewallcmd 命令来查看防火墙配置的端口。
sudo firewallcmd listports
查看特定服务的端口
查看HTTP服务的端口:
sudo firewallcmd listservices | grep http
使用系统日志
系统日志文件也包含了有关端口使用的信息,尤其是在服务启动时,你可以查看/var/log/messages 或者/var/log/syslog 文件。
sudo cat /var/log/messages | grep port
或者:
sudo cat /var/log/syslog | grep port
通过上述方法,你可以在CentOS系统中查看当前的端口使用情况。netstat 和ss 命令是最常用的工具,因为它们提供了详细的网络连接和端口信息,如果你需要更多的网络状态信息,lsof 命令也是一个非常有用的工具。firewallcmd 命令可以帮助你查看防火墙配置的端口,查看系统日志文件也是一种有效的方法,这些工具和方法可以帮助你更好地管理和排查系统的网络问题。
相关FAQs
Q1: 如何在CentOS上查看当前正在监听的端口?
A1: 使用命令netstat tuln 可以查看当前正在监听的所有TCP和UDP端口,可以通过在命令后加上| grep LISTEN 来筛选出仅显示正在监听的端口。
sudo netstat tuln | grep LISTEN
Q2: 如何查看特定端口是否已经被占用?
A2: 使用命令netstat tuln | grep <端口号> 可以查看特定端口是否已被占用,如果命令输出结果为空,则说明该端口未被占用;如果输出结果不为空,则表示该端口已被占用。
sudo netstat tuln | grep :<端口号>
