Linux查看端口号:简单快捷操作

一、Linux查看端口号的重要性

在Linux系统中,端口号是用于标识网络连接的重要参数。通过查看端口号,我们可以了解系统上正在运行的服务和应用程序,以及它们的状态和所占用的资源。这对于系统管理员和网络安全人员来说非常重要,因为它们可以帮助我们监控系统健康状况、发现异常活动、排除故障、优化资源分配等。

二、使用netstat命令查看端口号

1. 查看所有端口

要查看Linux系统上所有的端口号,可以使用netstat命令。以下是netstat命令的基本语法:

netstat -a

该命令将列出系统上所有处于监听状态的端口和与之相关的进程。对于每个端口,可以看到它的协议类型(TCP或UDP)、本地地址(IP地址和端口号)和远程地址(IP地址和端口号)。

以下是netstat命令的输出示例:

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:631 0.0.0.0:* LISTEN

udp 0 0 0.0.0.0:68 0.0.0.0:*

udp 0 0 0.0.0.0:631 0.0.0.0:*

注:输出结果部分被改为了粗体字。

从上述输出中,我们可以看到系统正在监听22端口(SSH服务)和631端口(打印服务)。所有的IP地址都是0.0.0.0,表示监听所有网络接口。状态为LISTEN表示该端口处于监听状态,可以接受连接。

2. 查看特定协议的端口

如果只想查看特定协议(如TCP或UDP)的端口,可以使用netstat命令的-a参数结合grep命令。例如,要查看所有TCP端口,可以执行以下命令:

netstat -a | grep tcp

这将过滤netstat输出中包含TCP关键字的行。

3. 查看占用端口的进程

有时候我们需要查找占用特定端口的进程,这可以通过netstat命令的-p参数实现。以下是netstat命令查找占用22端口的进程的示例:

netstat -ap | grep :22

执行该命令后,netstat将返回占用22端口的进程的详细信息,包括进程ID(PID)和进程名。

三、使用lsof命令查看端口号

1. 查看所有端口

lsof命令是另一个常用的查看端口号的工具。以下是lsof命令的基本语法:

lsof -i

该命令将列出系统上所有处于监听状态的端口和与之相关的进程。对于每个端口,可以看到它的协议类型(TCP或UDP)、本地地址(IP地址和端口号)和远程地址(IP地址和端口号)。

以下是lsof命令的输出示例:

COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

sshd 900 root 3u IPv4 21027 0t0 TCP *:22 (LISTEN)

cupsd 967 root 5u IPv4 23737 0t0 TCP localhost:631 (LISTEN)

从上述输出中,我们可以看到系统正在监听22端口(SSH服务)和631端口(打印服务)。所有的IP地址都是*或localhost,表示监听所有网络接口或本地回环接口。TCP后的(LISTEN)表示该端口处于监听状态,可以接受连接。

2. 查看特定协议的端口

如果只想查看特定协议(如TCP或UDP)的端口,可以在lsof命令中加上参数-i和协议类型。例如,要查看所有TCP端口,可以执行以下命令:

lsof -i tcp

3. 查看占用端口的进程

要通过lsof命令查找占用特定端口的进程,可以在命令中加上端口号。以下是lsof命令查找占用22端口的进程的示例:

lsof -i :22

执行该命令后,lsof将返回占用22端口的进程的详细信息,包括进程ID(PID)和进程名。

四、使用ss命令查看端口号

1. 查看所有端口

ss命令是Linux系统中另一个用于查看端口号的工具。以下是ss命令的基本语法:

ss -ltn

该命令将列出所有处于监听状态的TCP端口,并显示它们的本地地址(IP地址和端口号)和状态。

以下是ss命令的输出示例:

State        Recv-Q       Send-Q         Local Address:Port        Peer Address:Port      

LISTEN 0 128 0.0.0.0:22 0.0.0.0:*

LISTEN 0 128 127.0.0.1:631 0.0.0.0:*

从上述输出中,我们可以看到系统正在监听22端口(SSH服务)和631端口(打印服务)。所有的IP地址都是0.0.0.0或127.0.0.1,表示监听所有网络接口或本地回环接口。

2. 查看特定协议的端口

如果只想查看特定协议(如TCP或UDP)的端口,可以在ss命令中加上相关选项。例如,要查看所有TCP端口,可以执行以下命令:

ss -ltn | grep tcp

该命令将过滤ss输出中包含TCP关键字的行。

3. 查看占用端口的进程

要通过ss命令查找占用特定端口的进程,可以加上选项-p或者选项-pu以显示与每个端口相关的进程信息。以下是ss命令查找占用22端口的进程的示例:

ss -ltnp | grep :22

执行该命令后,ss将返回占用22端口的进程的详细信息,包括进程ID(PID)和进程名。

五、总结

以上就是在Linux系统中查看端口号的几种常用方法。通过使用netstat、lsof和ss命令,我们可以轻松地查看系统上所有的端口以及它们的状态、协议类型和与之相关的进程信息。这对于系统管理员和网络安全人员来说非常有用,可以帮助我们监控系统的运行状况,发现异常活动,并及时采取相应的措施。

温度0.6

操作系统标签