如何在 Linux 中 ping 端口
在 Linux 系统上使用 nmap
或 telnet
等工具可以确定远程系统上的特定端口是否打开。
新用户可能会感到惊讶,像 ping
这样的命令在这种情况下毫无用处,因为该工具无法告诉我们特定端口是否打开。相反,它只是通过发送 ICMP 数据包来测试与另一个系统的连接。
在本教程中,我们将向您展示如何在主要 Linux 发行版上安装 nmap
和/或 telnet
实用程序,然后查看可用于检查是否存在问题的示例命令。或者远程系统上的特定端口未打开并正在侦听。
在本教程中您将学习:
如何在主要 Linux 发行版上安装 nmap 和 telnet
如何使用 nmap 执行广泛或特定端口扫描
如何使用telnet命令测试特定端口
如何在主要 Linux 发行版上安装 nmap 和 telnet
我们将在本教程中介绍的两个工具是 nmap
和 telnet
。默认情况下,您的 Linux 发行版上可能尚未安装一个或两个工具。
您可以使用下面适当的命令通过系统的包管理器安装 nmap 和/或 telnet。
要在 Ubuntu、Debian 和 Linux Mint 上安装 nmap 和/或 telnet:
$ sudo apt install nmap telnet
要在 Fedora、CentOS、AlmaLinux 和 Red Hat 上安装 nmap 和/或 telnet:
$ sudo dnf install nmap telnet
要在 Arch Linux 和 Manjaro 上安装 nmap 和/或 telnet:
$ sudo pacman -S nmap inetutils
如何使用 nmap ping 特定端口
在下面的示例中,我们测试主机
google.com
上 TCP 端口 80 的端口号是否打开:$ nmap -p 80 -sT google.com
或者
$ nmap -p 80 google.com
要测试 UDP 端口 80,请使用:
$ nmap -p 80 -sU google.com
扫描远程主机
8.8.8.8
中的所有开放端口 TCP 端口:$ nmap 8.8.8.8
扫描远程主机
8.8.8.8
的所有 TCP 和 UDP 端口:$ nmap -sUT 8.8.8.8
扫描远程主机
8.8.8.8
TCP端口53:$ sudo nmap -p 53 8.8.8.8
扫描远程主机
8.8.8.8
UDP端口53:$ nmap -sU -p 53 8.8.8.8
扫描远程主机
8.8.8.8
的 开放 TCP 和 UDP 端口:$ nmap -sUT --open 8.8.8.8
扫描本地 Ubuntu 系统 TCP 端口:
$ nmap localhost
如何使用 telnet ping 特定端口
测试远程服务器上特定端口是否打开的另一种方法是使用 telnet 命令。您可以通过主机名、域名或 IP 地址指定目标设备。尝试通过指定主机后面的数字来连接到特定端口。下面我们测试主机
google.com
上的端口 443 是否打开:$ telnet google.com 443 Trying 74.125.237.19... Connected to google.com. Escape character is '^]'.
第三行确认我们已经建立了成功的连接,这意味着端口已打开并正在侦听。
以下示例检查 example.com 是否在端口 80 上打开。
$ telnet example.com 80
您还可以与连接进行交互。例如,要从站点检索 html,我们可以在建立连接后粘贴以下代码片段。
GET /index.html HTTP/1.0 Host: example.com
请注意两个额外的换行符,因为它们也是必要的。
结束语
在本教程中,我们了解了如何在 Linux 系统上安装和使用 nmap 和 telnet,以便 ping 远程服务器上的特定端口。这两种工具都可以很好地快速确定端口是否打开并正在侦听。