麒麟os查看监听端口推荐使用ss命令:sudo ss -tulnp可列出全部tcp/udp监听端口及进程信息;ss默认预装、高效精准;若需ipv4 tcp精简输出,用sudo ss -4tlnp;netstat需手动安装且较慢;lsof适合精准定位;/proc/net提供底层原始数据。

如果您在麒麟操作系统中需要确认当前系统中哪些端口正处于监听状态,以便排查服务未响应、端口冲突或安全审计问题,则可能是由于服务未正确启动、防火墙拦截或进程异常导致。
用 ss 查看所有正在监听的端口
ss 是银河麒麟 V10 默认预装的现代工具,解析内核 socket 数据更快更准,输出简洁,无需额外安装。
执行命令列出全部监听中的 TCP 和 UDP 端口,并显示进程名与 PID:sudo ss -tulnp
若只关心 IPv4 的 TCP 监听端口(排除 UDP 干扰和 IPv6 噪音),运行:sudo ss -4tlnp
注意:加 -p 参数必须使用 root 权限,否则会提示 Permission denied 且不显示进程信息。
用 netstat 查看监听端口(兼容旧环境)
netstat 功能全面但部分麒麟桌面版默认未安装,适合需对照旧文档或脚本的场景。
第一步:检查是否已安装 netstat,运行 netstat -V;若提示 command not found,则先执行 sudo apt-get install net-tools
第二步:安装完成后,执行 sudo netstat -tuln 查看纯端口列表,不含进程信息
第三步:如需关联进程,追加 -p 参数:sudo netstat -tulnp。这一步会暴露服务绑定的真实路径,比如看到 127.0.0.1:3306 对应 mysqld,说明 MySQL 仅本地监听。
用 lsof 精确定位监听进程
lsof 能从文件描述符层面识别网络套接字,适合排查“谁在偷偷监听”或验证某个端口是否被占用。
方法一:查看所有处于 LISTEN 状态的 TCP 进程:sudo lsof -iTCP -sTCP:LISTEN -n -P
方法二:检查指定端口(如 8080)是否被监听:sudo lsof -i :8080
方法三:仅输出 PID(方便后续 kill 或调试):sudo lsof -t -i :22
注意:若 lsof 未安装,桌面版执行 sudo apt-get install lsof,服务器版用 sudo yum install lsof。
通过 /proc/net 查看原始内核监听数据
这是最底层的方式,不依赖任何用户态工具,直接读取内核网络子系统导出的原始状态,适用于工具损坏或最小化系统环境。
查看所有监听中的 TCP 端口(十六进制端口号需手动转换):sudo cat /proc/net/tcp | grep '0100007F:.*0A'
查看所有监听中的 UDP 端口:sudo cat /proc/net/udp | grep '0100007F:'
其中 0100007F 表示 127.0.0.1,0A 是端口 10 的十六进制(实际端口值为小端序,如 1700 对应 23 → 0x0017 → 反转为 1700);【务必注意字节序反转】











