发布于2026-07-09 阅读(0)
扫一扫,手机访问
在麒麟操作系统上排查服务无法访问、端口冲突或者做安全审计时,最基础的一步就是确认哪些端口正被本地服务监听。如果权限不够,普通用户执行命令会漏掉大量关键监听项,导致误判服务状态——这一点必须先说清楚。

ss 是银河麒麟 V10 默认预装的现代工具,解析速度快,输出干净,比 netstat 更可靠。直接执行:
sudo ss -tuln
这一步会列出全部 TCP/UDP 监听端口,不含进程名,适合快速扫视。如果输出为空,说明当前没有服务主动监听任何端口。加上 -p 参数就能显示进程信息:sudo ss -tulnp
注意:不加 sudo 时 -p 会失效,而且多数监听项会直接不可见——必须用 root 权限运行,否则你会看到大量缺失行,误以为端口没有被占用。
netstat 功能全面但默认没装,适合需要复用原有运维脚本或查看连接状态细节的场景。先安装工具包:
sudo apt-get install net-tools
然后列出监听端口并关联进程:
sudo netstat -tulnp
单独检查某个端口(比如 3306)是否处于 LISTEN 状态:
sudo netstat -tulnp | grep ':3306'
如果那一行 State 列是 LISTEN 且进程列是 mysqld,说明 MySQL 正常监听;如果没有输出,不代表端口空闲,很可能只是服务没启动或绑定失败。
方法一:查看所有 TCP 监听套接字
sudo lsof -iTCP -sTCP:LISTEN -n -P
方法二:反查指定端口归属(例如查 8080)
sudo lsof -i :8080
方法三:只提取 PID 和进程名(便于后续 kill 或调试)
sudo lsof -t -i :22
这个命令返回纯数字 PID,可以直接用于 systemctl stop 或 kill 命令,避免手动复制出错。
firewall-cmd 不反映真实监听状态,它只显示 firewalld 策略中允许外部访问的端口。执行:
sudo firewall-cmd --list-ports
如果 80 端口在这个列表里,说明防火墙已放行;但即使没出现,也不代表服务没监听——它可能只绑定了 127.0.0.1,或者压根没启动。确认 firewalld 是否运行:
sudo firewall-cmd --state
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9