深入Linux:学会命令行查看端口

1. 介绍

在Linux系统中,命令行是一种非常强大的工具,允许用户通过输入命令来完成各种任务。其中之一是查看端口,即查看系统中正在监听或已打开的网络端口。 如果您是一名系统管理员或网络工程师,了解如何在Linux中查看端口是非常重要的。本文将向您介绍如何通过命令行查看端口。

2. 查看所有端口

要查看Linux系统中所有正在监听的端口,您可以使用以下命令:

netstat -tln

该命令会显示系统中所有正在监听的TCP端口以及相应的IP地址和端口号。例如:

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

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN

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

tcp6 0 0 :::22 :::* LISTEN

上面的输出显示了四个正在监听的端口:22、25、80。其中22端口是SSH服务的默认端口。端口号前面的0.0.0.0表示监听所有网卡的连接,而127.0.0.1表示本地回环地址。状态(State)列显示了每个端口的状态,例如"LISTEN"表示正在监听。

2.1 查看指定端口

如果您只想查看特定端口是否正在监听,您可以使用以下命令:

netstat -tln | grep :

:替换为您要查看的端口号。例如,要查看端口22是否正在监听,可以运行以下命令:

netstat -tln | grep :22

如果该端口正在监听,它将显示输出行;否则,它将不会显示任何内容。

3. 查看已建立的连接

要查看已经建立的连接,您可以使用以下命令:

netstat -tn

该命令会显示系统中所有已经建立的TCP连接。例如:

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

tcp 0 0 192.168.0.10:22 192.168.0.20:54321 ESTABLISHED

tcp 0 0 192.168.0.10:80 192.168.0.30:12345 ESTABLISHED

tcp 0 0 192.168.0.10:3389 192.168.0.40:54321 ESTABLISHED

上面的输出显示了三个已经建立的连接。本地地址和端口号(Local Address)列显示了该连接是由哪个本地IP地址和端口发起的。外部地址和端口号(Foreign Address)列显示了连接的目标IP地址和端口号。状态(State)列显示了连接的当前状态,例如"ESTABLISHED"表示连接已经建立。

4. 使用lsof命令查看端口

除了使用netstat命令,还可以使用lsof(list open files)命令来查看端口。在大多数Linux系统中,lsof命令已经默认安装。

要查看正在监听的端口,可以使用以下命令:

lsof -i :

:替换为您要查看的端口号。例如,要查看端口22是否正在监听,可以运行以下命令:

lsof -i :22

如果该端口正在监听,它将显示与该端口相关的进程的信息。

4.1 查看指定端口的进程

要查看指定端口所关联的进程,可以使用以下命令:

lsof -i tcp:

<port>替换为您要查看的端口号。例如,要查看端口22所关联的进程,可以运行以下命令:

lsof -i tcp:22

该命令会显示与该端口相关的进程的信息,包括进程ID、进程名称等。

5. 结论

通过命令行查看端口在Linux系统中是一项非常有用的技能。本文介绍了使用netstat和lsof命令来查看系统中正在监听的端口和已经建立的连接。了解如何查看端口有助于诊断网络问题,以及监控系统安全性。通过使用命令行工具,可以快速方便地获得所需的信息。

操作系统标签