Linux端口号怎么查
- Linux
- 2025-06-19
- 5
在Linux系统中,查询端口号是管理网络服务、排查连接问题或安全审计的常见需求,以下是几种专业、可靠且高效的方法,适用于不同场景:
使用 ss 命令(推荐)
ss(Socket Statistics)是替代 netstat 的现代工具,执行速度快且无需额外安装。
操作步骤:
-
查看所有监听端口:
ss -tuln- -t:TCP 端口
- -u:UDP 端口
- -l:仅显示监听(LISTEN)状态
- -n:以数字形式显示端口(不解析服务名)
-
过滤特定端口(如查询 80 端口):
ss -tuln sport = :80
输出示例:

表示 22 端口(SSH)正在监听所有 IP。
使用 netstat 命令(传统方法)
若系统未预装 ss,可使用 netstat(需安装 net-tools 包):
sudo apt install net-tools # Debian/Ubuntu sudo yum install net-tools # CentOS/RHEL
常用命令:

参数含义与 ss 相同,但执行效率较低。
使用 lsof 命令(查看进程占用)
lsof 可显示端口关联的进程,适合定位冲突:
- 安装(如未预装): sudo apt install lsof # Debian/Ubuntu sudo yum install lsof # CentOS/RHEL
- 查询端口占用(如 443 端口): sudo lsof -i :443
输出示例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 1234 root 6u IPv4 12345 0t0 TCP *:https (LISTEN)
显示 nginx 进程占用了 443 端口。

使用 nmap 扫描端口(远程/本地检测)
nmap 用于主动扫描开放端口,支持本地和远程主机:
- 安装: sudo apt install nmap # Debian/Ubuntu sudo yum install nmap # CentOS/RHEL
- 扫描本机开放端口: nmap -sT -p- localhost
- -sT:TCP 连接扫描
- -p-:扫描所有端口(1-65535)
查看 /etc/services 文件(端口服务映射)
此文件记录了标准端口与服务名称的对应关系:
cat /etc/services | grep -w 80
输出示例:
http 80/tcp www # World Wide Web HTTP
仅作参考,实际端口以运行状态为准。
注意事项
- 权限要求:
- lsof 和部分 netstat 操作需 sudo 权限才能查看所有进程。
- 参数差异:
- 不同 Linux 发行版(如 Ubuntu、CentOS)命令参数可能略有差异,建议查阅手册(man ss)。
- 安全实践:
- 生产环境中慎用 nmap 扫描外部主机,可能触发防火墙警报。
总结建议
- 首选 ss:效率高、功能全,适合快速检查。
- 进程排查用 lsof:精准定位端口占用程序。
- 远程检测用 nmap:扫描开放端口。
引用说明参考 Linux 官方文档(man pages)、IBM DeveloperWorks 网络管理指南,以及 Red Hat 系统管理员手册,命令均通过 Ubuntu 22.04/CentOS 7 实测验证。