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命令来查看系统中正在监听的端口和已经建立的连接。了解如何查看端口有助于诊断网络问题,以及监控系统安全性。通过使用命令行工具,可以快速方便地获得所需的信息。