📌  相关文章
📜  正在使用的端口列表 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:52.546000             🧑  作者: Mango

正在使用的端口列表 - Shell/Bash

在开发和运维过程中,需要经常查看正在使用的端口列表。本文将介绍如何在Linux系统中使用Shell/Bash命令来查看当前正在使用的端口列表。

使用命令

使用netstat命令可以查看当前正在使用的端口列表。

netstat -tlnp
参数说明
  • -t:只显示 TCP 协议的连接状态。
  • -l:只显示监听状态的连接信息。
  • -n:使用数字表示IP地址和端口号,而不使用主机名和服务名。
  • -p:显示进程名称和进程 ID。
命令输出解释

命令执行后,输出会列出所有监听状态的 TCP 端口及其对应的进程信息,如下所示:

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      123/sshd            
tcp6       0      0 :::22                   :::*                    LISTEN      123/sshd            
tcp6       0      0 :::33060                :::*                    LISTEN      121/mysqld          

每一行的含义如下:

  • Proto:协议类型。
  • Recv-Q:接收队列中未读取的数据大小。
  • Send-Q:发送队列中未读取的数据大小。
  • Local Address:本地地址和端口号,如果地址为 0.0.0.0 表示监听所有网卡上的端口。
  • Foreign Address:远程地址和端口号,如果显示为 *.*.*.*:* 表示没有远程主机连接到此端口。
  • State:连接状态。
  • PID/Program name:进程 ID 和进程名称。
总结

使用netstat命令可以快速查询正在使用的端口列表,命令简单易用。但需要注意的是,该命令需要使用root用户权限执行,否则可能无法查看所有端口信息。