用于测试网络的 12 个 Ping 命令示例

是一个简单、广泛使用的跨平台网络实用程序,用于测试主机是否可以通过互联网协议(知识产权) 网络。它的工作原理是发送一系列互联网控制消息协议(ICMPECHO_REQUEST向目标主机发送消息并等待ICMP回显回复(或ECHO_RESPONSE)。

您可以运行 ping 测试来确定您的计算机是否可以与另一台计算机(目标主机)通信;它可以帮助您确定:

  • 目标主机是否可达(活动)。
  • 测量数据包到达目标主机并返回计算机所需的时间(往返时间(实时时间)与目标主机通信)和
  • 数据包丢失以百分比表示。

其输出是来自目标主机的回复列表以及最后一个数据包到达目标主机并返回计算机所花费的时间。

它还显示测试的统计摘要,通常包括发送和接收的数据包数量、数据包丢失百分比;最小值、最大值、平均往返时间以及平均值的标准差 (米德夫)。如果 ping 测试失败,您将看到输出错误消息。

Linux 中的 Ping 命令示例

在这篇文章中,我们将解释12实际的ping 命令用于测试网络上主机的可达性的示例。

1. Ping 域名或 IP 地址

你可以运行一个简单的测试是否是目标主机www.google.com是否可达。您还可以使用 IP 地址而不是域名,如图所示。

$ ping www.google.com
OR
$ ping 172.217.27.196

样本输出:

ping www.google.com
PING www.google.com (172.217.27.196) 56(84) bytes of data.
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.01 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.75 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.37 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=4.99 ms
^C
--- www.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 4.751/5.030/5.373/0.222 ms
...

从上述命令的结果来看,成功并且没有丢包。在 ping 测试输出中需要注意的一件重要事情是每次 ping 回复结束时的时间。

假设您正在服务器上执行 ping 测试,那么此处的值非常重要,具体取决于您在服务器上运行的应用程序的类型。

例如,如果您有一个 Web 应用程序,其中单个用户请求会导致对数据库进行大量查询以在 UI 上生成结果,那么该特定服务器的 ping 时间较短意味着正在无延迟地传输更多数据,反之亦然。

2. Ping 回显请求

您可以指定数量ECHO_REQUESTs在 ping 退出后发送,使用-c标志如图所示(在这种情况下,ping 测试将在发送后停止5包)。

$ ping -c 5 www.google.com

PING www.google.com (172.217.27.196) 56(84) bytes of data.
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=4.31 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=4.35 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=4.06 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=5.20 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.41 ms

--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 4.064/4.464/5.195/0.383 ms

3. 设置 Ping 间隔超时

-iflag 允许您设置发送每个数据包之间的时间间隔(以秒为单位),默认值为一秒。

$ ping -i 3 -c 5 www.google.com

PING www.google.com (172.217.27.196) 56(84) bytes of data.
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=1 ttl=111 time=5.71 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=2 ttl=111 time=6.19 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=3 ttl=111 time=5.39 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=4 ttl=111 time=7.34 ms
64 bytes from bom07s15-in-f4.1e100.net (172.217.27.196): icmp_seq=5 ttl=111 time=4.77 ms

--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 12014ms
rtt min/avg/max/mdev = 4.768/5.879/7.341/0.863 ms

4. 使用 Ping 洪水(又名 Ping of Death)的 DoS 攻击

要确定网络在高负载条件下的响应,您可以运行“洪水平”,使用-f转变。只有 root 可以使用此选项,否则,请使用须藤命令以获得root权限。

$ sudo ping -f www.google.com
OR
$ sudo ping -f -i 3 www.google.com	#specify interval between requests 

PING www.google.com (172.217.163.36) 56(84) bytes of data.
.......................................................................................................................................................................................^C
--- www.google.com ping statistics ---
2331 packets transmitted, 2084 received, 10% packet loss, time 34095ms
rtt min/avg/max/mdev = 29.096/29.530/61.474/1.417 ms, pipe 4, ipg/ewma 14.633/29.341 ms

5. LAN 的 Ping 广播

您可以使用以下命令启用 ping 广播-b选项,它将获得连接到 LAN 网络的所有 IP 地址的响应。

$ ping -b 192.168.0.0

6. 设置 Ping TTL 值

限制网络跃点数 (TTL生存时间)探针遍历,使用-t旗帜。您可以设置之间的任何值1255;不同的操作系统设置不同的默认值。

每个收到数据包的路由器至少减去1从计数中得出,如果计数仍然大于0,路由器将数据包转发到下一跳,否则丢弃该数据包并发送一个ICMP响应返回到您的计算机。

在此示例中,TTL已经超过并且测试失败,如截图所示。

$ ping -t 10 www.google.com
设置 Ping TTL 计数

7. 设置 Ping 数据包大小

默认数据包大小应该足以进行 ping 测试,但是,您可以更改它以满足您的特定测试需求。您可以使用以下命令指定有效负载的大小(以字节数为单位):-s选项,这将导致提供的值加上总数据包大小8ICMP 标头的额外字节。

$ ping -s 1000 www.google.com

8. 设置 Ping 预加载

如果添加了预加载,则 ping 会发送那么多数据包而不等待回复。请注意,只有 root 可以选择大于3,否则,使用须藤命令以获得root权限。

$ sudo ping -l 5 www.google.com 

9. 设置 Ping 超时

还可以使用以下命令设置等待响应的时间(以秒为单位):-W选项如图所示。

$ ping -W 10 www.google.com

10. 设置 Ping 超时(以秒为单位)

要设置一个暂停以秒为单位,在 ping 退出之前,无论已发送或接收了多少数据包,请使用-w旗帜。

$ ping -w 5 www.google.com

11. Ping 调试 ICMP 数据包

-d选项允许您启用调试 IP 数据包详细信息,如图所示。

$ ping -d www.google.com

12. Ping 详细输出

您可以使用以下命令启用详细输出-v标志,如下。

$ ping -v www.google.com

笔记:不一定用于测试网络连接,它只是告诉您 IP 地址是活动还是非活动。

它通常与, 但,结合了以下功能跟踪路由并提供许多附加功能。

有关网络工具的完整列表,请查看:

概括

是对网络上主机的可访问性进行故障排除的一种非常常见的方法。在这篇文章中,我们解释了12用于测试联网设备可达性的实用 ping 命令示例。通过下面的评论表与我们分享您的想法。