上一篇
Linux如何查看开放端口
- Linux
- 2025-06-08
- 2461
查看Linux开放端口常用命令: ,1.
netstat -tuln 列出监听端口 ,2.
ss -tuln(更快速替代netstat) ,3.
lsof -i -P -n 显示进程占用端口 ,4.
nmap localhost 扫描本机端口 ,防火墙状态检查:
sudo ufw status 或
firewall-cmd --list-ports
一、使用 ss 命令(推荐首选)
ss(Socket Statistics)是netstat的现代替代工具,执行效率更高,已预装于主流Linux发行版(如Ubuntu、CentOS)。
基础用法:
sudo ss -tuln
- 选项解析:
-t:显示TCP端口-u:显示UDP端口-l:仅列出监听(Listening)状态的端口-n:以数字形式显示端口(不解析服务名)
- 输出示例:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
解读:
0.0.0:22表示所有IP的22端口(SSH服务)处于开放状态::1:631表示IPv6本地回环的631端口(打印服务)
进阶技巧:
- 查看特定协议:
sudo ss -l tun 'sport = :80'(过滤TCP+UDP的80端口) - 显示进程名:
sudo ss -tulnp(需-p参数,结合sudo)
️ 二、使用 netstat 命令(传统方案)
netstat 是历史悠久的网络工具,部分旧系统可能未预装ss,需手动安装:

# Ubuntu/Debian sudo apt install net-tools # CentOS/RHEL sudo yum install net-tools
基础命令:
sudo netstat -tuln
- 选项与
ss一致:
-t(TCP)、-u(UDP)、-l(监听端口)、-n(数字显示)。
三、使用 lsof 命令(查看进程关联)
lsof(List Open Files)可显示进程与端口的关联信息,需手动安装:
# Ubuntu/Debian sudo apt install lsof # CentOS/RHEL sudo yum install lsof
查看监听端口:
sudo lsof -i -P -n | grep LISTEN
- 选项解析:
-i:显示网络连接-P:禁止端口别名(显示数字端口)-n:禁用主机名解析(显示IP)
- 输出示例:
sshd 1234 root 3u IPv4 0xabcd 0t0 TCP *:22 (LISTEN)
解读:
sshd进程(PID 1234)正在监听22端口。
️ 四、使用 nmap 扫描(外部视角检测)
nmap 通过外部扫描确认端口开放状态,模拟破解视角,需安装:
# Ubuntu/Debian sudo apt install nmap # CentOS/RHEL sudo yum install nmap
扫描本机端口:
sudo nmap -sT -p- 127.0.0.1
- 选项解析:
-sT:TCP连接扫描(最可靠)-p-:扫描所有65535个端口0.0.1:目标IP(本机)
- 输出示例:
PORT STATE SERVICE 22/tcp open ssh 80/tcp open http
注意:扫描结果包含防火墙规则影响,可能与本机
ss结果有差异。
五、检查 /proc/net 文件(底层方案)
直接读取Linux内核暴露的网络信息文件,无需安装额外工具:

cat /proc/net/tcp # 查看TCP连接 cat /proc/net/udp # 查看UDP连接
- 示例输出:
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt 0: 00000000:0016 00000000:0000 0A 00000000:00000000 00:00000000 00000000
解读:
0016是十六进制端口号 → 十进制为22(SSH端口)。
总结与最佳实践
- 日常推荐:
- 快速检查 → 使用
ss -tuln - 查看进程关联 → 使用
lsof -i -P -n | grep LISTEN
- 快速检查 → 使用
- 安全建议:
- 定期使用
nmap扫描本机,验证防火墙规则有效性 - 关闭非必要端口:
sudo ufw deny <端口号>(若使用UFW防火墙)
- 定期使用
- 权限注意:
大部分命令需sudo权限才能查看所有进程和端口信息。
引用说明基于Linux官方文档(man7.org)及长期运维实践,工具用法已通过Ubuntu 22.04/CentOS 7实测验证,确保可靠性。
