Linux查询端口号

Linux查询端口号

Linux查询端口号

1. 引言

在网络通信中,端口号是用于区分不同进程或应用程序之间通信的标识符。在Linux操作系统中,我们可以使用一些命令或工具来查询端口号的使用情况,这对于网络管理员或开发人员来说是非常重要的。本文将介绍几种常用的方法来查询Linux系统中的端口号。

2. 使用netstat命令查询端口号

netstat是一个网络工具,在Linux系统中用于打印网络连接、路由表、网络接口等信息。我们可以使用netstat命令来查询当前系统中正在使用的端口号。

netstat -tuln

上述命令的参数说明如下:

  • -t:显示TCP端口号
  • -u:显示UDP端口号
  • -l:仅显示监听状态的端口号
  • -n:以数字形式显示端口号,不解析服务名称

运行以上命令后,将会列出当前系统中正在使用的端口号及其对应的协议和状态。例如:

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 :::22                   :::*                    LISTEN
tcp6       0      0 :::8080                 :::*                    LISTEN
udp        0      0 0.0.0.0:68              0.0.0.0:*

上述输出中,可以看到系统中正在监听的端口号分别是22和8080,其中22是SSH服务的默认端口号。

3. 使用lsof命令查询端口号

lsof是一个用于列出已打开文件的工具,在Linux系统中也可以用来查询端口号的使用情况。我们可以使用lsof命令以及管道符号结合grep命令来查询指定端口号是否被占用。

lsof -i :<端口号>

将命令中的<端口号>替换为具体的端口号,运行后将会显示使用该端口号的进程及其相关信息。例如:

COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    1234  root   5u  IPv4  98765      0t0  TCP *:22 (LISTEN)

上述输出中,可以看到在端口号22上正在运行一个名为sshd的进程,该进程是SSH服务器进程。

4. 使用nmap命令扫描端口号

nmap是一个网络探测和安全审核的工具,在Linux系统中可以用来扫描指定IP地址或主机的端口号情况。我们可以使用nmap命令来快速扫描一个主机的所有端口号。

nmap <IP地址或主机名>

将命令中的<IP地址或主机名>替换为具体的IP地址或主机名,运行后将会显示扫描结果,包括开放的端口号和对应的服务名称。例如:

Starting Nmap 7.70 ( https://nmap.org ) at 2021-01-01 10:00 UTC
Nmap scan report for example.com (192.168.1.1)
Host is up (0.001s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

上述输出中,可以看到在主机example.com上开放了22和80两个端口号,分别对应SSH和HTTP服务。

5. 使用ss命令查询端口号

ss是一个socket统计工具,可以用于查询Linux系统中的套接字信息,包括端口号的使用情况。我们可以使用ss命令来查询正在监听的端口号。

ss -tuln

上述命令的参数说明如下:

  • -t:显示TCP端口号
  • -u:显示UDP端口号
  • -l:仅显示监听状态的端口号
  • -n:以数字形式显示端口号,不解析服务名称

运行以上命令后,将会列出当前系统中正在监听的端口号及其对应的协议和状态。例如:

State      Recv-Q Send-Q                 Local Address:Port                     Peer Address:Port
LISTEN     0      128                               *:22                                   *:*
LISTEN     0      128                              :::22                                  :::*
LISTEN     0      128                              :::8080                                :::*
UNCONN     0      0                              0.0.0.0:68                               0.0.0.0:*

上述输出中,可以看到系统中正在监听的端口号分别是22和8080。

6. 结论

查询Linux系统中的端口号是网络管理和开发中常用的操作。本文介绍了几种常用的方法,包括使用netstat命令、lsof命令、nmap命令和ss命令来查询端口号的使用情况。通过掌握这些方法,我们可以更好地了解系统中的网络连接情况,进行相关的网络管理和故障排查工作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程