如何检查 Debian 10 上的开放端口

检查端口对于验证哪些端口已打开并在您的系统上进行侦听非常重要。 侦听服务可以成为黑客的切入点,他们可以利用系统中的漏洞来访问或破坏系统。 如果您不使用某项服务,则不建议保持该服务运行。 此外,它消耗额外的资源。 因此,有必要持续检查系统上的开放端口。

在本文中,我们将解释如何使用四种不同的方式检查 Debian 10 系统上的开放端口。

注意:本文中讨论的命令和过程已经在 Debian 10 Buster 系统上进行了测试。

使用 ss 命令检查开放端口

Linux 中的 ss(套接字统计)命令提供有关网络连接的重要信息,包括开放端口和侦听套接字。 它从 Linux 内核获取此信息。 当不带任何命令行参数使用 ss 命令时,它会显示有关所有当前连接的详细信息,而不管它们处于何种状态。 ss 命令是 netstat 命令的替代品。 ss 命令与 iproute2 软件包捆绑在一起,可在 Debian 系统上使用。 但是,无论如何,如果您在系统中找不到它,则可以轻松安装它。

在 Debian 10 系统中打开终端,并在其中发出以下命令:

$ sudo apt install iproute2

要检查 Debian 系统上的开放端口,请在终端中发出以下命令:

$ sudo ss -tulpn

在哪里:

  • -t, –tcp: 查看所有 TCP 套接字
  • -u, -udp: 查看所有 UDP 套接字
  • -l, –listening: 查看所有监听套接字
  • -p,进程: 查看哪些进程正在使用套接字
  • -n, – 数字: 如果您想查看端口号而不是服务名称,请使用此选项

在输出中,您将看到所有侦听 TCP 和 UDP 连接的列表。

上面的输出显示系统上只打开了端口 22。

笔记: 如果您在 ss 命令中使用 -p 或 –processes 选项,您必须是 root 用户或具有 sudo 特权。 否则,您将无法看到在端口上运行的进程的进程标识号 (PID)。

使用 netstat 命令检查打开的端口

Linux 中的 Netstat 命令提供有关当前网络连接和统计信息的信息。 Netstat 具有与 ss 命令几乎相同的命令选项。 为了使用 netstat 命令,您需要安装 net-tools。 在终端中发出以下命令来执行此操作:

$ sudo apt-get install net-tools