如何找出 Linux 中所有开放的端口?

在本教程中,我们将学习如何找出 Linux 中所有开放的端口。

有不同的命令可以知道打开了哪些端口,例如 nmap、netstat 和 lsof。 但是我们知道什么是端口吗? 有些人可能认为它是进入系统的网关。 关于端口号有很多神话概念。 让我们详细讨论一下。

目录

什么是端口号?

系统中运行着很多服务,如httpd、Hadoop服务等。 网络客户端如何从系统上运行的服务包中识别特定服务? 每当我们启动 Web 服务器时,不是为每个服务创建唯一名称,而是分配一个端口号,该服务侦听数据包。 让我们看看一些常见的端口。

  • HTTP端口号:80
  • SMTP端口号:25
  • FTP端口号:21
  • DNS端口号:53

用户也可以使用他自己的个人端口。 该端口内部存储在 2 个字节,即 2^16 = 65536. 端口号的范围是从 0 到 65535。这分为不同的类别:

  • 0 – 1023: 此范围内的端口称为 众所周知的端口或系统端口。
  • 1024 – 49151:这个范围内的端口被称为 注册端口或用户端口。
  • 49152-65535:此范围内的端口称为 动态端口和私有端口。

我希望这个概念是清楚的。 让我们了解如何找出 Linux 中的开放端口列表。

列出所有服务及其端口

如果您想知道所有服务及其端口的列表,可以使用 cat 命令完成。 /etc/ 目录下名为 services 的文件由所有服务的名称和端口组成。 它还将显示与服务相关的协议。 让我们看看下面的命令:

cat /etc/services
服务清单

您可以看到它显示了服务列表及其端口和协议。

使用 netstat 命令找出 Linux 中所有开放的端口

之前,我们描述了如何列出所有服务。 如果用户想知道找出Linux中所有开放的端口,我们可以使用netstat命令。 它将列出系统中的所有网络连接。 除此之外,它还打印路由表、接口统计信息和多播成员资格。

有关更多详细信息,请查看 Linux 官方文档。

用户将在 netstat 命令中使用 -lntu 选项,其中,

  • -l: 它只会打印监听套接字
  • -n: 它将显示端口号
  • -t: 它启用 TCP 端口列表。
  • -u: 它启用 UDP 端口列表。

让我们看一下下面的命令:

netstat -lntu
当前运行的服务列表

使用 ss 命令显示正在运行的端口

之前我们使用 netstat 命令来显示正在运行的端口。 在这里,我们使用 ss 命令来执行此操作。 你可能会想,这两者之间有什么区别。

ss 命令是 netstat 命令的替代品。 虽然它类似于 netstat 命令,但它显示的信息更多。 它用于跟踪 TCP 连接和套接字。 ss 包含在 iproute2 包中,而 netstat 使用 /proc/net/tcp 收集有关系统网络的信息。

有关更多详细信息,请查看 ss 命令的 Linux 官方文档。

让我们看一下以下命令:

ss -lntu
不锈钢不锈钢

-lntu 的意义在上面的 netstat 命令中有描述。

使用 lsof 命令找出 Linux 中所有开放的端口

之前,我们讨论了如何使用 netstat 命令和 ss 命令列出端口。 两者都用于显示正在运行的服务。 在这里,我们将讨论 lsof 命令。 LSOF 代表列出打开的文件。 该命令用于列出系统中所有打开的文件和进程。 它用于Unix-Linux操作系统。

有关更多详细信息,请查看 lsof 命令的 Linux 官方文档。

让我们看一下下面的命令:

sudo lsof -i -P -n | grep LISTEN
函数函数

与此命令相关的选项是:

  • -一世:它将列出特定端口的所有运行进程
  • -P:它将端口号转换为网络文件的端口名称。
  • -n:它将网络名称转换为网络文件的主机名。

Grep 命令用于搜索特定的单词。 在这里它将打印处于 LISTEN 状态的端口。

使用 ps 命令找出所有打开的端口

之前,我们使用 lsof 命令打印端口。 这里我们将讨论 ps 命令. ps 命令用于显示系统中正在运行的进程的相关信息。 在这里,我们将使用 ps -aux 命令打印用户拥有的所有进程。 请记住,使用“ps aux”将打印警告。

有关更多详细信息,请查看 ps 命令的 Linux 官方文档。

让我们看一下以下命令:

ps -aux
ps 命令ps 命令

结论

我们已经讨论了如何使用 ps、netstat、lsof 和 ss 命令找出 Linux 中所有打开的端口。 由于大多数命令的用法与此处描述的不同,因此请继续使用 Linux 中的 man 命令来使用手册页。 我们希望这个概念得到澄清。 如果您遇到任何问题,请在评论中告诉我们。