当前位置:首页 > Linux > 正文

Linux如何查看端口信息?

Linux查看端口信息常用命令: netstat -tuln(传统工具)或 ss -ltn(更高效替代),显示所有监听端口, lsof -i :端口号可查具体端口占用进程。

核心端口查看工具

ss 命令(推荐工具)

取代过时的 netstat,更高效读取内核数据。

常用操作:

  • 参数解析

    -t:TCP端口

    -u:UDP端口

    -l:仅监听端口

    -n:禁用域名解析(显示数字IP)

    -p:显示进程信息(需sudo)

进阶技巧:

# 查看22端口占用进程 sudo ss -tlnp sport = :22


netstat 命令(传统工具)

部分旧系统仍依赖,但性能低于 ss。

Linux如何查看端口信息? 第1张

# 查看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 命令(进程级分析)

直接关联端口与进程,适合深度排查。

Linux如何查看端口信息? 第2张

# 查看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


安全与权限注意

  1. 权限要求:查看系统级端口需 sudo 权限
  2. 敏感操作:避免在生产环境随意执行端口扫描(可能触发安全警报)
  3. 工具安装: # 安装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网络问题诊断效率,建议在实际环境中逐条演练命令,加深理解。

Linux如何查看端口信息? 第3张

0