查看Linux系统端口信息的方法

1. 查看网络连接的端口信息

在Linux系统中,可以通过如下命令查看当前系统上的网络连接的端口信息:

netstat -tunl

上述命令会列出所有当前活动的网络连接及其对应的端口信息。其中,-t 选项表示显示 TCP 连接,-u 选项表示显示 UDP 连接,-n 选项表示以数字形式显示 IP 地址和端口号,-l 选项表示仅显示在监听状态的连接。

该命令执行后,会得到一张表格,其中包括了本地地址、外部地址、状态以及对应的端口号。比如:

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

tcp6 0 0 :::80 :::* LISTEN

udp 0 0 0.0.0.0:631 0.0.0.0:*

udp6 0 0 :::5353 :::*

上述结果表明,当前系统上有两个监听状态的连接。其中,第一行显示了本地地址为 0.0.0.0,端口号为 22 的 TCP 连接正在监听;第二行显示了本地地址为 ::,端口号为 80 的 TCP 连接正在监听。而末尾的 LISTEN 表示该连接处于监听状态。

1.1 关于netstat命令的说明

netstat 命令是一个非常常用的工具,用于显示网络连接、路由表以及网络接口等相关信息。它可以提供很多有关网络连接的详细信息,包括了本地地址、外部地址、状态和对应的端口号等。

该命令提供了许多选项参数,用于指定需要显示的信息。常见的选项参数包括:

-a:显示所有的网络连接(包括监听和非监听状态的连接)。

-p:显示与该连接关联的进程(需要以 root 权限执行)。

-s:显示每个协议的统计信息。

除了这些选项参数外,netstat 还有其他一些参数可以使用,详细的用法可以通过 man 命令查看:

man netstat

2. 查看打开的端口信息

除了查看网络连接的端口信息外,我们还可以通过如下命令,查看当前系统上开放的端口信息:

sudo lsof -i

lsof 是一个用于查看所有打开文件的工具,而在这里使用 -i 选项可以过滤出与网络相关的文件。执行上述命令后,会得到一张类似下面这样的表格:

COMMAND    PID        USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

sshd 1125 root 3u IPv4 33895 0t0 TCP *:22 (LISTEN)

sshd 1125 root 4u IPv6 33897 0t0 TCP *:22 (LISTEN)

httpd 1162 root 3u IPv6 34159 0t0 TCP *:80 (LISTEN)

httpd 1166 apache 3u IPv6 34159 0t0 TCP *:80 (LISTEN)

上述结果显示了当前系统上打开的端口及对应的进程信息。其中,PID 列表示进程的标识符,USER 列表示进程所属的用户,COMMAND 列表示进程的名称,FD 列表示文件描述符,TYPE 列表示打开的文件类型,DEVICE 列表示设备号,SIZE/OFF 列表示文件的大小或偏移量,NODE 列表示节点信息,而 NAME 列表示对应的地址及端口。

2.1 关于lsof命令的说明

lsof(LiSt Open Files)是一个非常有用的工具,用于显示由各种进程打开的文件和套接字。它可以列出各个进程当前打开的文件,包括网络连接、设备节点、目录等。而通过 -i 选项,可以仅显示与网络相关的文件。

除了 -i 选项外,lsof 命令还有其他一些常用的选项参数:

-u:显示指定用户打开的文件。

-c:显示指定进程名打开的文件。

-p:显示指定进程号打开的文件。

更多的选项参数可以通过 man 命令查看:

man lsof

3. 结语

通过以上两种方法,我们可以很方便地查看当前系统的端口信息。在进行网络调试或者排查问题时,这些信息对于定位问题非常有帮助。希望本文能够对大家理解Linux系统端口信息的查看方法有所帮助!

操作系统标签