12个Ping命令示例来测试您的网络

Ping是一个简单、广泛使用的、跨平台的网络实用工具,用于测试主机是否可在Internet ProtocolIP)网络上可达。它通过向目标主机发送一系列Internet Control Message ProtocolICMPECHO_REQUEST消息,并等待ICMP回显回复(或ECHO_RESPONSE)来工作。

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

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

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

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

Linux 中的 Ping 命令示例

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

1. Ping 域名或 IP 地址

您可以运行简单的 ping 测试,以查看目标主机 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 回复的时间。

假设您正在对服务器进行 ping 测试,那么这里的值很重要,具体取决于服务器上运行的应用程序类型。

例如,如果您有一个 web 应用程序,在该应用程序中,单个用户请求导致数据库执行许多查询以生成 UI 上的结果,则对该特定服务器的 ping 时间越低,意味着更多的数据被传输而没有延迟,反之亦然。

2. Ping 回显请求

您可以使用-c标志指定发送5个数据包后退出ping测试(在这种情况下,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间隔超时

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

$ 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 Flood进行DoS攻击,又称Ping of Death

为了确定您的网络在高负载条件下的响应情况,您可以运行“洪水ping”,它以尽可能快的速度发送请求,使用-f开关。只有root用户可以使用此选项,否则,请使用sudo命令获取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. Ping广播一个局域网

您可以使用-b选项启用对广播的ping,这将从连接到您的局域网网络的所有IP地址获取响应。

$ ping -b 192.168.0.0

6. 设置Ping的TTL值

TTL生存时间1255 之间的任何值;不同的操作系统设置的默认值不同。

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

在本例中,TTL 已超时,ping 测试失败,如屏幕截图所示。

$ ping -t 10 www.google.com
Set Ping TTL Count

7. 设置 Ping 数据包大小

Ping 测试的默认数据包大小应该足够了,但是您可以根据具体的测试需求进行更改。您可以使用 -s 选项指定有效负载的大小(以字节为单位),这将导致总数据包大小为提供的值加上 ICMP 头所需的额外 8 字节。

$ ping -s 1000 www.google.com

8. 设置 Ping 预加载

如果添加预加载,ping 将发送多个数据包而不等待回复。注意,只有 root 可以选择大于 3 的预加载,否则请使用 sudo 命令 获取 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

注意Ping可能并非用于测试网络连接,它只是告诉您IP地址是活动的还是非活动的。

通常与traceroute程序一起使用,但是MTR – 一种现代网络诊断工具结合了pingtraceroute的功能,并提供许多附加功能。

要查看网络工具的全面列表,请访问:Linux网络管理、故障排除和调试

摘要

Ping是用于检测网络上主机可访问性的一种非常常见的方法。在本文中,我们解释了12个用于测试网络设备可达性的实用ping命令示例。请通过下面的评论表单与我们分享您的想法。

Source:
https://www.tecmint.com/ping-command/