推荐使用ss -tuln查看所有监听端口,效率高且默认安装;2. netstat -tuln和lsof -i -P -n | grep LISTEN也可实现,分别需安装net-tools和解析进程信息。

在Linux系统中,查看所有正在监听的端口是系统管理和网络安全排查中的常见需求。可以通过多种命令实现,以下是一些常用且有效的方法。
使用 netstat 命令
netstat 是一个网络统计工具,可以显示网络连接、路由表、接口统计等信息。
查看所有监听端口:netstat -tuln
参数说明:
- -t:显示 TCP 端口
- -u:显示 UDP 端口
- -l:仅显示监听状态的套接字
- -n:以数字形式显示地址和端口号(不解析主机名)
如果提示命令未找到,可能需要安装 net-tools 包:
- Debian/Ubuntu:
sudo apt install net-tools - CentOS/RHEL:
sudo yum install net-tools
使用 ss 命令
ss 是新一代的网络诊断工具,功能类似 netstat,但速度更快,推荐优先使用。
查看所有监听端口:ss -tuln
参数含义与 netstat 相同。例如输出中 “LISTEN” 状态表示该端口正在等待连接。
使用 lsof 命令
lsof 可以列出打开的文件,包括网络连接和监听端口。
查看监听中的端口:lsof -i -P -n | grep LISTEN
参数说明:
- -i:显示网络连接
- -P:以数字形式显示端口号
- -n:不解析主机名
- grep LISTEN:筛选出监听状态的端口
如需查看特定端口,例如 80 端口:
lsof -i :80
结合服务名称查看进程信息
有时需要知道哪个程序在监听某个端口。可在上述命令中加入 -p(显示 PID)和 -s(显示程序名)。
ss -tulnp
输出中会包含 PID 和进程名称,便于定位服务来源。
基本上就这些方法。日常推荐优先使用 ss -tuln,效率高且系统默认通常已安装。遇到问题时结合 lsof 查看具体进程,能更快速定位异常监听端口。










