如何查看Linux网络端口占用情况的命令和方法?

在Linux系统运维中,网络端口占用情况的排查是常见任务,无论是解决服务冲突、验证服务启动状态,还是进行安全审计,都需要准确掌握端口的使用情况,本文将详细介绍Linux下查看网络端口占用的常用方法,包括命令参数、使用示例及适用场景。

linux如何查看网络端口占用情况

使用netstat命令查看端口占用

netstat是传统的网络工具,虽然在新版Linux中逐渐被ss替代,但仍广泛使用,尤其在需要兼容旧系统时,通过netstat可以查看TCP、UDP端口的监听状态、连接情况及占用进程。

常用参数组合:

  • -t:显示TCP端口
  • -u:显示UDP端口
  • -l:仅显示监听端口(LISTEN状态)
  • -n:以数字形式显示地址和端口(不解析域名和服务名)
  • -p:显示占用端口的进程ID(PID)和名称

示例命令:

netstat -tulnp  

执行后输出类似内容:

Active Internet connections (only servers)  
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  
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      5678/mysqld  
udp        0      0 0.0.0.0:68              0.0.0.0:*                           9012/dhclient  

列说明Proto(协议)、Local Address(本地IP:端口)、State(连接状态,如LISTEN表示监听)、PID/Program name(进程ID及名称)。

进阶用法:

查看指定端口占用(如80端口):

netstat -tulnp | grep :80  

使用ss命令查看端口占用

ssiproute2工具包的一部分,相比netstatss在处理大量网络连接时速度更快,输出信息更简洁,是当前Linux系统推荐使用的工具。

常用参数组合:

  • -t:TCP端口
  • -u:UDP端口
  • -l:仅显示监听端口
  • -n:数字形式显示
  • -p:显示进程信息
  • -a:显示所有端口(包括非监听)

示例命令:

ss -tulnp  

输出示例:

linux如何查看网络端口占用情况

State      Recv-Q Send-Q Local Address:Port               Peer Address:Port   
LISTEN     0      128          0.0.0.0:22                    0.0.0.0:*    users:(("sshd",pid=1234,fd=3))  
LISTEN     0      80           127.0.0.1:3306                 0.0.0.0:*    users:(("mysqld",pid=5678,fd=32))  
UNCONN     0      0      192.168.1.100:68                0.0.0.0:*    users:(("dhclient",pid=9012,fd=5))  

列说明State(连接状态)、Local Address:Port(本地IP:端口)、users(进程信息)。

进阶用法:

查看所有TCP连接(包括已连接、监听等):

ss -t -a  

使用lsof命令查看端口占用

lsof(list open files)用于列出系统打开的文件,在Linux中,网络端口被视为文件,因此可通过lsof查看端口对应的进程。

常用参数:

  • -i:指定网络条件,如-i :端口号查看指定端口
  • -P:不显示端口号对应的服务名
  • -n:不解析IP地址为域名

示例命令:

查看3306端口占用:

lsof -i :3306  

输出示例:

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME  
mysqld   5678 mysql    3u  IPv4   12345      0t0  TCP localhost:3306 (LISTEN)  

列说明COMMAND(进程名)、PID(进程ID)、NAME(端口及状态)。

linux如何查看网络端口占用情况

进阶用法:

查看所有网络连接:

lsof -i  

工具对比与选择

以下为三种工具的简要对比:

工具 优点 缺点 适用场景
netstat 兼容旧系统,参数直观 速度慢,逐渐被弃用 需兼容旧版Linux的系统
ss 速度快,信息简洁,功能全面 部分旧系统可能未预装 新版Linux系统(推荐)
lsof 可通过文件描述符精准定位端口 输出信息相对复杂,需过滤 需查看端口详细进程信息时

注意事项

  1. 权限问题:查看其他用户的进程需使用sudo,如sudo ss -tulnp
  2. 端口范围:Linux端口范围为0-65535,其中0-1023为特权端口,需root权限使用。
  3. 状态区分LISTEN表示服务正在监听,ESTABLISHED表示已建立连接,TIME_WAIT表示连接关闭等待中。

相关问答FAQs

Q1:如何快速找到占用特定端口的进程?
A:使用sslsof结合grep过滤端口,

# 查看8080端口占用
ss -tulnp | grep :8080
# 或
lsof -i :8080

输出结果会直接显示占用该端口的进程ID、名称及详细信息。

Q2:为什么执行netstat命令提示“command not found”?
A:部分Linux系统(如Ubuntu 20.04+)默认未安装netstat,需手动安装:

  • Ubuntu/Debian:sudo apt install net-tools
  • CentOS/RHEL:sudo yum install net-tools
    安装后即可使用netstat命令。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/14123.html

(0)
酷番叔酷番叔
上一篇 2025年8月22日 00:28
下一篇 2025年8月22日 00:43

相关推荐

  • Linux调整分区大小安全吗?

    核心原则与准备工作备份数据使用 rsync 或 dd 命令备份分区: rsync -av /mnt/source /mnt/backup # 备份源分区到目标路径或使用外部工具如 Clonezilla 创建完整磁盘镜像,检查文件系统卸载目标分区并执行修复:umount /dev/sdXN # 卸载分区(如 /d……

    2025年7月4日
    15700
  • Linux中如何查看用户权限的具体信息及查看方式?

    在Linux系统中,用户权限是保障系统安全与资源合理分配的核心机制,通过精细化的权限控制,确保不同用户只能访问其被授权的资源,要查看用户权限,需从用户身份、文件/目录权限、特殊权限、sudo授权等多个维度入手,结合多种命令和工具进行综合分析,以下将从基础到进阶,详细说明Linux中查看用户权限的方法及核心知识点……

    2025年10月4日
    9500
  • Linux怎样认出你的硬件?

    内核启动阶段的硬件识别BIOS/UEFI初始化计算机通电后,固件(BIOS或UEFI)首先检测基础硬件(CPU、内存、磁盘控制器),并将控制权移交Linux内核,内核硬件探测内核镜像(vmlinuz):包含基础驱动(如磁盘、USB控制器),确保系统能挂载根文件系统,initramfs(临时根文件系统):存储额外……

    2025年7月21日
    9800
  • Linux合并分区会丢失数据吗?

    核心原理Linux合并分区本质是:删除第二个分区 → 扩展第一个分区 → 调整文件系统,仅支持相邻的物理分区(如sda1和sda2相邻,但sda1和sda3不相邻),准备工作备份数据使用rsync或tar备份分区数据到外部存储(操作失误可能导致数据丢失),rsync -av /mnt/partition1……

    2025年8月3日
    10300
  • Linux如何全盘查找文件?

    在Linux系统中,全盘查找文件或内容是系统管理和日常运维中的常见需求,通过合理使用命令行工具可以高效完成,本文将详细介绍Linux全盘查找的常用方法、命令参数及实际应用场景,使用find命令:最灵活的全盘文件查找find命令是Linux下最强大的文件查找工具,支持按文件名、类型、大小、时间、权限等多种条件递归……

    2025年10月8日
    7300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信