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

Linux如何查看端口占用情况?

查看Linux端口占用常用命令: netstat -tulpn 显示TCP/UDP监听端口及进程; ss -tuln 更快速替代方案,两者均需 sudo查看全部信息, lsof -i :端口号可查指定端口进程。

在 Linux 系统中,查看端口状态是网络管理和故障排查的核心技能,本文将通过 6 种专业方法,详细演示如何查看端口占用、监听状态及远程端口连通性,涵盖常见工具与进阶技巧。


一、netstat 命令(经典工具)

# 查看所有监听端口
sudo netstat -tuln
# 查看所有活动连接(含进程名)
sudo netstat -tulnp

参数解析

  • -t:TCP 端口
  • -u:UDP 端口
  • -l:仅显示监听端口
  • -n:以数字形式显示端口(不解析服务名)
  • -p:显示关联进程名(需 sudo)

输出示例

Proto Recv-Q Send-Q Local Address  Foreign Address State  PID/Program name
tcp        0      0 0.0.0.0:22     0.0.0.0:*       LISTEN  1234/sshd

适用场景:快速检查本地服务监听状态,兼容多数旧版系统。


二、ss 命令(netstat 替代方案)

# 查看所有监听端口(更高效)
sudo ss -tuln
# 检查特定端口占用(如 80)
sudo ss -tlnp sport = :80

优势

  • 执行速度比 netstat 更快
  • 支持过滤语法(如 sport = :443
  • 直接显示进程信息(-p 参数)

推荐场景:新版本系统首选(CentOS 7+/Ubuntu 18.04+),大数据量时性能显著提升。


️ 三、lsof 命令(进程级分析)

# 查看所有网络端口占用
sudo lsof -i
# 检查特定端口(如 3306)
sudo lsof -i :3306

输出信息

Linux如何查看端口占用情况?  第1张

  • 进程名(COMMAND)
  • 进程ID(PID)
  • 用户(USER)
  • 端口类型(TCP/UDP)

示例输出

mysqld  789 mysql 21u IPv6 0xab1 0t0 TCP *:3306 (LISTEN)

核心价值:精确定位端口占用进程及运行用户,适合服务冲突排查。


四、检查远程端口连通性

方法 1:telnet

telnet example.com 22  # 测试 SSH 端口

▸ 连接成功 → 端口开放
Connection refused → 端口关闭或拒绝访问

方法 2:nc (netcat)

nc -zv example.com 80  # 快速探测

参数

  • -z:扫描模式
  • -v:显示详细结果

方法 3:nmap(专业扫描)

sudo nmap -sT -p 22,80,443 example.com

参数解析

  • -sT:TCP 连接扫描
  • -p:指定端口范围(如 1-1000

️ 注意:扫描他人服务器需合法授权!


五、通过 /proc 文件系统查看

手动查看进程端口映射:

# 1. 列出所有网络套接字
ls -l /proc/net/tcp
# 2. 定位进程关联端口
ls -l /proc/<PID>/fd/ | grep socket

操作流程

  1. cat /proc/net/tcp 获取十六进制端口号(如 0A = 端口 80)
  2. 通过进程 ID 查看具体文件描述符

适用场景:无网络工具时的应急方法,深入理解系统机制。


🧩 六、防火墙工具辅助分析

1️⃣ ufw(Ubuntu)

sudo ufw status  # 查看防火墙放行端口

2️⃣ firewall-cmd(CentOS)

sudo firewall-cmd --list-ports  # 显示开放端口

总结与最佳实践

场景 推荐命令
本地端口监听检查 ss -tuln
定位端口占用进程 sudo lsof -i :端口
远程端口连通性测试 nc -zv 主机 端口
批量扫描开放端口 nmap -sT 目标主机

关键建议

  1. 新系统优先使用 ss 替代 netstat
  2. 排查进程占用必选 lsof
  3. 生产环境扫描使用 nmap 需谨慎
  4. 结合防火墙工具验证策略是否生效

引用说明

  • 基于 Linux man 手册(man netstat, man ss, man lsof
  • 网络协议部分参考 TCP/IP RFC 标准文档
  • 安全实践符合 CIS Linux Benchmark 规范

更新日期:2025年10月
适用系统:CentOS/RHEL, Ubuntu/Debian 等主流发行版


本文持续更新,建议收藏备用,遇到具体问题可查阅相关命令的 man 手册(例:man ss)获取完整参数说明。

0