在Rocky Linux 9中使用命令 ss -tuln
查看网络监听端口,该命令显示TCP/UDP监听状态并以数字格式呈现地址和端口。
如何在 Rocky Linux 9 中通过 ss 检查网络端口的监听状态?
作为IT架构师,建议通过以下步骤使用 ss
命令检查网络端口监听状态:
- 基本监听检查:
ss -tuln
显示所有TCP/UDP监听端口(-t: TCP, -u: UDP, -l: 监听状态,-n: 数字格式)。 - 过滤特定端口:
ss -tuln sport = :<端口号>
或结合grep
,例如ss -tuln | grep ':80'
。 - 进程关联:添加
-p
参数(需root权限)查看占用进程,如sudo ss -tulnp
。 - 解释输出:关注
Local Address:Port
列及State
列(LISTEN表示监听中)。 补充:确保防火墙(firewalld/iptables)未阻止端口,并确认服务配置正确监听目标IP(如0.0.0.0 vs 127.0.0.1)。
-
打开终端,使用以下命令检查监听端口:
-
检查所有监听端口(含TCP/UDP): sudo ss -tulnpl • -t 显示TCP端口 • -u 显示UDP端口 • -l 仅显示监听状态 • -n 禁用域名解析(显示数字端口) • -p 显示占用进程
-
单独检查TCP监听端口: ss -tln
-
单独检查UDP监听端口: ss -uln
-
检查指定端口(例如80端口): ss -tln sport = :80
-
按IP过滤(例如检查192.168.1.100的监听): ss -tln src 192.168.1.100
注:若未安装ss命令,需先执行 sudo dnf install iproute -y
作为客户技术经理,我的建议是:1. 使用 ss -tuln
命令查看所有TCP/UDP监听端口(-t=TCP, -u=UDP, -l=LISTEN状态, -n=数字格式)。2. 对特定端口可加 sport = :端口号
过滤,例如 ss -tuln sport = :80
。3. 结合 grep
过滤更直观,如 ss -tuln | grep 80
。注意:需root权限查看所有进程,且Rocky Linux 9默认已预装ss工具,无需额外安装。
在Rocky Linux 9中检查网络端口监听状态时,我通常通过ss
命令结合不同参数实现。例如执行 ss -tuln
查看所有TCP/UDP监听端口(-t表TCP,-u表UDP,-l表监听状态,-n禁止域名解析)。若需关联进程信息,会追加-p
参数并要求sudo权限,如 sudo ss -tlpn
。
实践中曾遇到因SELinux策略阻止显示进程名的案例,通过setenforce 0
临时关闭SELinux后定位到异常进程。另一个常见问题是监听地址为127.0.0.1导致外部无法访问,此时用ss -tln src 127.0.0.1:80
可快速验证绑定地址。
关键技巧包括:通过grep
过滤特定端口(如ss -tln | grep :443
)、使用-o
显示TCP定时器状态排查连接卡顿、对比netstat -ant
结果验证传统工具兼容性。需注意ss
默认依赖内核3.15+版本,在容器环境中可能存在/proc/net限制。