什么是 PING 以及如何使用它? 用 7 个例子来学习

网络诊断利器:深入解析 Ping 命令

Ping,作为网络领域最常用的命令之一,其重要性不言而喻。

本文将详细介绍 Ping 的概念、使用方法、在线 Ping 工具,并结合实际案例,助您全面掌握这一实用工具。

首先,我们来揭开 Ping 的神秘面纱。Ping,本质上是一个终端或 Shell 命令实用程序,它主要用于验证设备是否能接入互联网,以及能否与其他计算机或网络设备进行通信。简而言之,Ping 可以快速测试网络连接的畅通性。

Ping 命令具备以下关键功能:

  • 检测网络连接状态:包括本地网络和互联网
  • 排查网络接口卡故障
  • 测试域名解析(DNS)问题

Ping 命令已预装在大多数操作系统中,如 Windows、macOS 和 Linux。然而,为了确保您能顺利使用,我们将简要介绍安装过程。

也许您曾在日常对话中听到过“Ping”这个词,例如“我完成工作后会 ping 你”。在通俗语境中,“ping” 仅表示从一台计算机发送到另一台计算机的消息。

Ping 的用法

要验证 Ping 是否已安装,请打开终端(macOS、Linux)或命令提示符(Windows),然后输入“ping –help”。通常情况下,您会看到类似这样的帮助信息。

如果屏幕显示了关于命令标志的帮助信息,那么恭喜您,Ping 已准备就绪。然而,某些 Linux 发行版(如 Ubuntu)可能默认未安装 Ping。在 Ubuntu 中,您可以使用以下命令进行安装:

sudo apt install iputils-ping

另一种检测 Ping 是否安装的方法是使用 which 命令,该命令会返回系统中已安装二进制文件的路径:

which ping

    # /usr/bin/ping  # 我的结果

现在您已经可以无障碍地使用 Ping 了,接下来我们学习它的基本用法。

Ping 命令可以连接到任何可用的主机,包括本地网络中的设备或互联网上的服务器。这些主机可以是另一台计算机、服务器、路由器,甚至是打印机。

Ping 命令接受一个参数,即您想要连接的网址或 IP 地址。例如,我们将尝试连接到 techblik.com:

$ ping techblik.com

请注意,“$”符号表示我们使用的是 bash shell;在 Powershell (Windows) 中,它将显示为“>”。您应该只复制命令,而非美元符号。

输入上述命令后,您应该会看到类似以下内容:

PING techblik.com (104.27.118.115) 56(84) bytes of data.
    64 bytes from 104.27.118.115 (104.27.118.115): icmp_seq=1 ttl=57 time=64.1 ms
    64 bytes from 104.27.118.115 (104.27.118.115): icmp_seq=2 ttl=57 time=71.4 ms

首先,它会显示您尝试连接的域名及其对应的 IP 地址(在括号内)。然后,它会向目标地址发送字节数据包(通常是 64 字节)。要停止 Ping 命令,只需按下 Ctrl + C 即可。

如果您拥有稳定的互联网连接(相信您在阅读本文时肯定具备),您会收到类似于以下的信息:

--- techblik.com ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 10192ms

此信息显示了对指定域名或 IP 地址执行 Ping 操作的统计数据。如您所见,Ping 发送了 3 个数据包,并且全部成功接收。这表明您的互联网连接以及目标 IP 地址的服务都运行正常。

当您访问网页时,也会发生类似的过程。您(浏览器)发送包含请求的数据包,DNS(域名服务)将域名转换为实际的 IP 地址,然后主机将内容传输回您的页面。当然,实际过程远比这复杂,这里只是为了说明简单的网络交互。

温馨提示:如果您需要查看可用的命令标志列表,可以使用 man 或 –help 标志来调用其手册页。

man ping
    # 手册页
  ping --help
    # 帮助标志

IPv6 与 IPv4

全球的 IP 地址正逐渐耗尽,因此,我们开始部署 IPv6(互联网协议版本 6)。

简单来说,IPv4 是支撑网络运行的核心 IP 协议。它使用 32 位的 IP 地址,通常采用点分十进制表示法。例如,谷歌的主 IP 地址是 8.8.8.8。IPv4 自 1981 年以来一直使用,是我们最熟悉的协议。

另一方面,IPv6 是一种新的 IP 协议,旨在解决地址耗尽的问题。如果 IPv4 最多可提供 43 亿个组合,那么 IPv6 则可能提供 340 万亿亿个 IP 地址

以下是一个 IPv6 地址的示例: 2001:db8:3333:4444:5555:6666:7777:8888

换句话说,我们将在未来几年内逐步过渡到 IPv6 地址,因为每个物联网设备和即将上线的网站都需要新的地址。

Ping 命令已经支持 IPv6 地址。在某些 Linux 发行版中,您可能会发现一个专门用于处理 IPv6 的命令 ping6

不过,Ping IPv6 地址的最佳方式是使用 -6 标志。

以下是一个示例:

ping -6 2001:db8:3333:4444:5555:6666:7777:8888

如果您的网络尚未支持 IPv6,请不必担心。近年来,IPv6 的普及速度正在加快。

使用 IPv6 测试工具检查您的网站是否支持 IPv6。

在线 Ping 服务

Ping 的用途不仅限于测试您是否可以访问特定服务器,还可以衡量您对服务器的请求延迟(即 Ping 收到响应所需的时间)。在线 Ping 工具可以收集更多关于 Ping 过程的数据,例如:

另一方面,如果您的连接不稳定,或者想测试来自全球不同位置的服务器延迟,在线 Ping 工具是您的首选。

使用我们免费的在线 Ping 工具,您可以从伦敦、孟买和俄勒冈州等多个地点执行 Ping 测试。此工具将为您提供重要数据,例如数据包丢失以及从服务器接收响应所需的最大和最小时间。

命令示例

接下来,让我们通过一些常见示例来深入了解这一网络工具。

#1. 检查您的互联网连接

这看起来很简单,但您可以 Ping 一个可靠的目标主机(如 google.com)来验证您是否可以访问互联网。

ping google.com

如果没有任何响应,那么可能是您的互联网连接出了问题。

#2. 发送指定数量的 Ping

如果您使用的是 Unix 系统,您可能会发现 Ping 会无限期地发送数据包。使用 -c(计数)标志,您可以指定 Ping 的次数。例如,如果您想准确地 Ping 三次,可以使用以下命令:

ping -c 3 techblik.com

注意:在 Windows 系统中,Ping 默认只会发送 4 个数据包,无需使用此标志。

您可以使用此标志仅发送一次 Ping 请求并显示您尝试访问的目标的 IP 地址。

ping -c 1 google.com

#3. 按指定间隔 Ping 服务器

您可以设置发送每个数据包之间的间隔时间(以秒为单位)。默认间隔为一秒,但您可以使用 -i 标志进行修改。

ping -i 3 techblik.com

#4. Ping 本地主机

您可以 Ping 任何 IPv4 地址。因此,您可以使用 localhost 标签或 IP 地址 127.0.0.1 来 Ping 您的本地主机。

ping localhost
    # 运行正常
  ping 127.0.0.1
    # 同样运行正常

Ping 将不会通过物理网络接口,而是通过虚拟环回。

#5. Ping 广播地址

您可以使用 -b 标志将请求发送到 广播地址。例如,您可以使用以下命令 Ping 本地网络中的所有设备。

ping -b 255.255.255.255

#6. 发送特定大小的数据包

根据您的需要,您可以使用 -s 标志和要发送的字节数来更改 Ping 的数据包大小。

ping -s 70 google.com

请注意,如果您发送的数据包过大,某些请求可能无法正常工作。

#7. 洪水 Ping

-f 标志允许您的计算机以最快的速度发送 Ping 请求。由于用户允许的最小 Ping 间隔为 200 毫秒,您必须使用 sudo 命令以超级用户身份运行它。

ping -f google.com
  PING google.com (142.250.78.142) 56(84) bytes of data.
  ping: cannot flood; minimal interval allowed for user is 200ms

  sudo ping -f -c 1000 google.com
    # 在 1000 次 Ping 后停止
    --- google.com ping statistics ---
  1000 packets transmitted, 1000 received, 0% packet loss, time 11158ms

如您所见,我使用了 count 标志,在 1000 次 Ping 后停止发送请求(请注意,整个过程仅耗时 11 秒)。

注意:使用“洪水 Ping”时要格外小心,因为这可能会对您正在 Ping 的服务器造成 DoS(拒绝服务)攻击。您仅应在高强度环境中测试服务器时使用它。

IP 或域 Ping API

techblik.com Ping API 是一款便捷的工具,可帮助您从多个位置跟踪任何 IP 或域的性能。

这对于密切监控一系列服务器以确保最佳的最终用户体验至关重要。

更重要的是,您可以通过 techblik.com 的免费 API 套餐轻松实现这一目标,该套餐每月提供 3000 次免费 API 调用。

对于专业用户,高级套餐每月只需 5 美元,即可享受住宅代理、更高的请求速率以及更多的 API 调用。

结论

Ping 是一种几乎与互联网本身一样古老的工具。有了它,您可以确定您是否拥有活跃的互联网连接,并测试您是否可以访问网络服务器或其他网络设备。

别忘了使用我们的 Ping 测试工具和我们提供的完整工具箱来测试您的网站。