上一篇 下一篇 分享链接 返回 返回顶部

Linux 怎么查看端口占用 图文教程 -小鸡云

发布人:admin 发布时间:11小时前 阅读量:1

前言

在 Linux 系统管理和网络调试中,查看端口占用情况是排查连接问题、服务状态监控的必备技能。本教程将详细介绍多种查看端口占用的方法,从基础命令到高级工具,帮助您快速定位端口使用情况。

一、基础命令方法

1. netstat 命令

  1. 查看所有端口占用:
    netstat -tulnp
    • -t:TCP 端口
    • -u:UDP 端口
    • -l:仅显示监听端口
    • -n:以数字形式显示
    • -p:显示进程信息

netstat命令输出示例

linux查看端口占用 netstat命令操作示意图

2. ss 命令(推荐)

  1. 查看所有监听端口:
    ss -tulnp
  2. 查看特定端口:
    ss -tulnp | grep :80

ss命令输出示例

ss命令示意图

二、高级查询方法

1. lsof 命令

  1. 查看所有网络连接:
    lsof -i
  2. 查看特定端口:
    lsof -i:80
  3. 查看 TCP 连接:
    lsof -i tcp

lsof命令输出示例

lsof -i命令示意图

2. 查看进程文件系统

  1. 查看进程打开的文件:
    ls -l /proc/[PID]/fd/ | grep socket

三、实用组合命令

1. 查看端口占用进程

netstat -tulnp | grep :22

ss -tulnp | grep :22

2. 按端口号排序查看

netstat -tulnp | sort -k4,4n

3. 查看指定进程的端口

netstat -tulnp | grep nginx

四、图形界面工具

1. 使用 nmap 扫描端口

  1. 安装 nmap:
    sudo apt install nmap    # Debian/Ubuntu
    sudo yum install nmap    # CentOS/RHEL
  2. 扫描本地端口:
    nmap -sT -O localhost

2. 使用 GUI 工具

  • gnome-system-monitor:Ubuntu 系统自带
  • wireshark:专业网络分析工具

五、常见场景示例

1. 查找占用 80 端口的进程

sudo netstat -tulnp | grep :80
sudo ss -tulnp | grep :80
sudo lsof -i:80

2. 查看所有 TCP 连接

netstat -at
ss -at

3. 查看所有 UDP 连接

netstat -au
ss -au

六、故障排除技巧

1. 命令未找到解决方法

  • 安装 net-tools:
    sudo apt install net-tools    # Debian/Ubuntu
    sudo yum install net-tools    # CentOS/RHEL
  • 安装 lsof:
    sudo apt install lsof    # Debian/Ubuntu
    sudo yum install lsof    # CentOS/RHEL

2. 权限问题处理

  • 部分命令需要 sudo 权限才能查看完整信息
  • 使用 sudo 或切换到 root 用户执行命令

七、命令对比总结

命令 优点 缺点 推荐场景
netstat 功能全面,信息详细 速度较慢,已逐渐淘汰 兼容性要求高的环境
ss 速度快,信息准确 选项较多,学习成本 日常使用,性能要求高
lsof 信息最详细 输出较复杂 深度排查,需要完整信息

 

目录结构
全文