上一篇                     
               
			  Linux如何查看端口信息?
- Linux
- 2025-05-31
- 3596
 Linux查看端口信息常用命令:
 
 
netstat -tuln(传统工具)或
 ss -ltn(更高效替代),显示所有监听端口,
 lsof -i :端口号可查具体端口占用进程。
核心端口查看工具
ss 命令(推荐工具)
 
取代过时的 netstat,更高效读取内核数据。 
常用操作:
# 查看所有监听端口(TCP/UDP) sudo ss -tuln # 解析结果示例 State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:*
- 参数解析
 -t:TCP端口
 -u:UDP端口
 -l:仅监听端口
 -n:禁用域名解析(显示数字IP)
 -p:显示进程信息(需sudo)
进阶技巧:

# 查看22端口占用进程 sudo ss -tlnp sport = :22
netstat 命令(传统工具)
 
部分旧系统仍依赖,但性能低于 ss。 
# 查看TCP监听端口 netstat -tln # 输出关键列说明: Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
lsof 命令(进程级分析)
 
直接关联端口与进程,适合深度排查。

# 查看80端口占用情况 sudo lsof -i :80 # 典型输出 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 1234 root 6u IPv4 12345 0t0 TCP *:http (LISTEN)
nmap 工具(端口扫描)
 
检测开放端口及服务指纹。
# 扫描本机开放端口(需安装nmap) sudo nmap -sT -p- 127.0.0.1 # 结果示例: PORT STATE SERVICE 22/tcp open ssh 3306/tcp open mysql
端口连通性测试
Telnet 基础测试
telnet 目标IP 端口号 # 连接成功示例: Trying 192.168.1.10... Connected to 192.168.1.10. Escape character is '^]'.
nc (Netcat) 高级探测
 
# 测试UDP端口连通性 nc -zv -u 192.168.1.10 53
防火墙关联检查
端口开放≠服务可达,需同步验证防火墙:

# 查看iptables规则(传统) sudo iptables -L -n -v # 使用firewalld(现代系统) firewall-cmd --list-ports
场景化解决方案
| 需求场景 | 推荐命令 | 示例指令 | 
|---|---|---|
| 快速检查监听端口 | ss -tuln | ss -tuln | grep :22 | 
| 定位端口占用进程 | lsof -i | sudo lsof -i :8080 | 
| 扫描远程主机端口 | nmap | nmap -p 1-1000 target_ip | 
| 测试端口即时连通性 | telnet或nc | nc -zv 192.168.1.5 443 | 
安全与权限注意
- 权限要求:查看系统级端口需 sudo权限
- 敏感操作:避免在生产环境随意执行端口扫描(可能触发安全警报)
- 工具安装: # 安装nmaps及nc sudo apt install nmap netcat-openbsd # Debian/Ubuntu sudo yum install nmap nc # CentOS/RHEL 
总结建议
- 日常运维:首选 ss+lsof组合,效率与功能平衡
- 深度分析:结合 nmap扫描和防火墙验证
- 故障排查:按流程操作:
 检查端口监听 → 确认进程 → 测试连通性 → 验证防火墙
引用说明基于 Linux Man Pages 官方文档(ss(8)、lsof(8))及网络管理最佳实践,命令示例已在 Ubuntu 20.04/CentOS 7 实测验证。
通过系统化掌握端口管理,您将显著提升Linux网络问题诊断效率,建议在实际环境中逐条演练命令,加深理解。
 
  
			 
			 
			 
			 
			 
			 
			 
			