在CentOS系统中,查看本机端口状态是网络管理和故障排查的基础操作,掌握多种端口查看方法,能够帮助管理员快速定位服务运行状态、识别异常连接以及优化网络配置,本文将详细介绍CentOS系统中查看本机端口的常用命令及其使用场景,并结合实例说明操作步骤,最后以FAQs形式解答常见问题。

使用ss命令查看端口信息
ss是Linux系统中替代netstat的现代化工具,具有更高的查询效率和更丰富的输出选项,在CentOS 7及以上版本中,ss已成为默认安装的网络工具。
基本语法
ss [选项] [过滤条件]
常用选项及示例
-
查看所有监听端口
ss -tulnp
-t:显示TCP端口-u:显示UDP端口-l:仅显示监听端口-n:以数字形式显示地址和端口,避免DNS解析-p:显示占用端口的进程ID(PID)和名称
输出示例:
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 :::22 :::* users:(("sshd",pid=1234,fd=3)) LISTEN 0 100 ::1:3306 :::* users:(("mysqld",pid=5678,fd=72)) -
查看指定端口的监听状态
ss -tulnp | grep :80
此命令可快速筛选与HTTP服务相关的端口信息。
-
查看TCP连接状态统计
ss -s
输出包括当前TCP连接的各类状态(如ESTAB、TIME_WAIT等)的统计数量,便于快速判断网络负载。
使用netstat命令查看端口信息
尽管ss已成为主流,但在部分旧版CentOS系统中仍需使用netstat,其语法与ss类似,但功能稍弱。
基本语法
netstat [选项] [过滤条件]
常用选项及示例
-
查看所有监听端口

netstat -tulnp
输出格式与
ss基本一致,但查询速度较慢,尤其在处理大量连接时。 -
查看内核路由表接口
netstat -rn
可结合
-n选项避免DNS解析,快速查看路由信息。
使用lsof命令查看端口占用进程
lsof(list open files)是一个功能强大的工具,可用于查看端口被哪个进程占用,以及进程打开的文件列表。
基本语法
lsof -i [协议]:[端口]
示例
-
查看指定端口的占用情况
lsof -i :80
输出示例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 3456 root 6u IPv4 12345 0t0 TCP *:http (LISTEN) nginx 3457 www-data 6u IPv4 12345 0t0 TCP *:http (LISTEN) -
查看所有TCP端口
lsof -i TCP
使用firewall-cmd管理防火墙端口
在CentOS 7及以上版本中,firewalld是默认的防火墙管理工具,查看防火墙规则中的端口配置也是端口管理的重要环节。
常用命令
-
查看已开放的端口

firewall-cmd --list-ports
-
查看特定服务是否允许通过
firewall-cmd --query-service=http
-
永久开放端口并重新加载
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
端口状态分类与常见问题
| 状态 | 说明 | 常见原因 |
|---|---|---|
| LISTEN | 端口正在监听连接 | 服务正常启动 |
| ESTABLISHED | 已建立连接 | 客户端与服务器通信中 |
| TIME_WAIT | 连接等待关闭 | 正常断开连接后的短暂状态 |
| CLOSE_WAIT | 连接已关闭但未释放资源 | 应用程序未正确关闭连接 |
若端口显示LISTEN但无法访问,需检查防火墙规则或服务配置;若出现大量TIME_WAIT状态,可通过调整内核参数优化。
相关问答FAQs
Q1: 如何查看CentOS系统中被占用但未监听的端口?
A: 使用ss或netstat结合-a选项查看所有端口,包括非监听状态:
ss -tanp | grep -v LISTEN
此命令将显示所有非监听端口及其连接状态,有助于排查异常连接。
Q2: 如何区分端口是被哪个程序占用的?
A: 可通过以下步骤定位:
- 使用
ss -tulnp或lsof -i :端口号查看进程PID; - 执行
ps -ef | grep PID获取进程详细信息; - 若需终止进程,使用
kill -9 PID(谨慎操作)。
通过以上方法,管理员可以全面掌握CentOS系统的端口状态,确保网络服务的稳定运行。