如何检查远程 Linux 系统 的开放端口

端口是分配给在 Linux 上运行的进程的逻辑编号。 端口可以​​定义为 0 到 65535 之间的整数。编号为 0-1023 的端口称为系统或知名端口,编号为 49152-65535 的端口称为动态、私有或临时端口。 如果我们是 Linux 系统管理员,那么我们应该知道哪些端口在远程系统上打开并正在运行。 有几种方法可以在 Linux 上找到开放端口。

在这篇文章中,我们将展示在远程 Linux 系统上查找开放端口的最可靠方法。

先决条件

  • 在 云平台上运行 Linux 的服务器
  • 在我们的服务器上配置的 root 密码

创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择任何具有至少 1GB RAM 的 Linux 操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

使用 Netcat 命令查找开放端口

Netcat 是一个 Linux 命令行实用程序,用于使用 TCP 或 UDP 协议跨网络连接读取和写入数据。 它还允许我们在远程 Linux 系统上找到开放的端口。

默认情况下,Netcat 实用程序不包含在 Linux 系统中。 我们将需要使用包管理器手动安装它。

对于基于 Ubuntu 和 Debian 的操作系统,使用以下命令安装 Netcat 实用程序:

apt-get install netcat -y

对于 RHEL、CentOS、Fedora 和 Rocky Linux 操作系统,使用以下命令安装 Netcat 实用程序:

dnf install nc -y

使用 Netcat 命令的基本语法如下所示:

nc [-options] [host_name or ip] [port_number]

例如,要检查远程主机 172.20.10.2 上的端口 80 是否打开,请运行以下命令:

nc -zv 172.20.10.2 80

如果在远程主机上打开端口 80,我们将获得以下输出:

Connection to 172.20.10.2 80 port [tcp/http] succeeded!

在哪里:

  • -z :将 nc 设置为简单地扫描侦听守护程序。
  • -v :以详细模式显示输出。

我们还可以指定要扫描的端口范围:

nc -zv 172.20.10.2 40-80

上面的命令将扫描 40 到 80 之间的所有端口。

使用 Nmap 命令查找开放端口

Nmap 是一个功能强大且非常流行的命令行实用程序,用于执行与网络相关的任务。 默认情况下,Linux 系统中不包含 Nmap 实用程序。 我们将需要使用包管理器手动安装它。

对于基于 Ubuntu 和 Debian 的操作系统,使用以下命令安装 Nmap 实用程序:

apt-get install namp -y

对于 RHEL、CentOS、Fedora 和 Rocky Linux 操作系统,使用以下命令安装 Nmap 实用程序:

dnf install nmap -y

使用 Nmap 命令的基本语法如下所示:

nmap [-options] [HostName or IP] [-p] [PortNumber]

例如,要获取远程主机 172.20.10.2 上所有开放端口的列表,请运行以下命令:

nmap 172.20.10.2

我们应该在以下输出中看到所有打开的端口:

Starting Nmap 7.60 ( https://nmap.org ) at 2022-04-05 14:05 IST
Nmap scan report for vyompc (172.20.10.2)
Host is up (0.000078s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
23/tcp   open  telnet
80/tcp   open  http
7070/tcp open  realserver

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

如果要检查远程主机上是否打开了特定端口,请使用 -p 选项:

nmap -Pn -p 80 172.20.10.2

我们将获得以下输出:

Starting Nmap 7.60 ( https://nmap.org ) at 2022-04-05 14:08 IST
Nmap scan report for vyompc (172.20.10.2)
Host is up (0.00011s latency).

PORT   STATE SERVICE
80/tcp open  http

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

使用 Telnet 命令查找开放端口

Telnet 是另一种用于虚拟访问远程计算机的网络协议。 它还允许我们查找远程系统上的开放端口。 我们可以使用包管理器手动安装它。

对于基于 Ubuntu 和 Debian 的操作系统,使用以下命令安装 Telnet 实用程序:

apt-get install telnet -y

对于 RHEL、CentOS、Fedora 和 Rocky Linux 操作系统,使用以下命令安装 Telnet 实用程序:

dnf install telnet -y

使用 Telnet 命令的基本语法如下所示:

telnet [HostName or IP] [PortNumber]

例如,要检查远程主机 172.20.10.2 上的端口 22 是否打开,请运行以下命令:

telnet 172.20.10.2 22

如果 22 端口打开,我们将获得以下输出:

Trying 172.20.10.2...
Connected to 172.20.10.2.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.6

如果端口 22 未打开,我们将获得以下输出:

Trying 172.20.10.2...
telnet: Unable to connect to remote host: Connection refused

在本指南中,我们展示了如何使用不同的命令在远程计算机上查找开放端口。 我们现在可以选择我们喜欢的工具来扫描远程系统并找到一个开放的端口。 在 的 VPS 主机上试一试!

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论