📜  查找 Linux 中所有开放端口列表的方法

📅  最后修改于: 2022-05-13 01:57:09.850000             🧑  作者: Mango

查找 Linux 中所有开放端口列表的方法

在本文中,我们将了解如何找出 linux 中所有开放端口的列表。端口是计算机网络中通信的端点,也可以说端口是计算机网络中通信的门。端口基本上是 16 位数字(从 0 到 65535)。这些端口用于通过 Internet 传输协议进行通信,例如传输控制协议 (TCP) 和用户数据报协议 (UDP)。

端口按端口号范围分类如下:

  1. 从 0 到 1023:这些端口被称为知名端口。这些端口只能由系统(或根)进程或特权用户执行的程序使用。
  2. 从 1024 到 49151:这些端口被称为注册端口。这些端口可供普通用户进程或普通用户执行的程序使用。
  3. 从 49152 到 65535:这些端口称为动态端口。

我们将看看我们可以通过什么找到 Linux 系统中的开放端口列表。但在此之前要获取系统上所有端口的列表,可以使用以下命令:

$cat /etc/services 

现在让我们看看如何找出 Linux 系统中的开放端口列表。

我们可以通过三种方式找到 Linux 系统上的开放端口列表。让我们一一看看。

方法一:使用netstat工具

netstat 是一个提供有关 Linux 网络子系统信息的工具。我们使用 netstat 列出系统上所有打开的端口。使用以下命令列出系统上所有打开的端口。

$ netstat -lntu

在上面的命令中:

  • 选项 -l:仅列出侦听套接字。
  • 选项 -n:显示端口号。
  • 选项 -t:列出 TCP 端口。
  • 选项 -u:列出 UDP 端口

方法二:使用 ss 工具

ss 是另一个研究套接字的工具。这是 netstat 命令的最佳替代方法。所以我们也可以使用 ss 工具列出系统上开放的端口。使用以下命令列出系统上的所有端口。

$ ss -lntu

与上述命令一起使用的所有选项的含义与前面的 netstat 命令相同。

方法三:lsof 命令

lsof 是用于列出文件的命令。我们可以使用 lsof 命令列出系统上的开放端口,使用以下命令:

$ sudo lsof -i -P -n | grep LISTEN

在上面的命令中:

  • 选项 -i:选择文件列表,其中任何 Internet 地址与 i 中指定的地址匹配。
  • 选项 -P:禁止将端口号转换为网络文件的端口名称。
  • 选项 -n:禁止将网络号转换为网络文件的主机名

这样我们就学会了如何租用Linux系统中所有开放的端口。要了解上述命令的更多信息,请阅读上述命令的手册页。