Ping 教程:15 个有效的 Ping 命令示例

举报
Tiamo_T 发表于 2022/01/19 08:02:59 2022/01/19
【摘要】 如您所知,ping 命令用于确定对等主机/网关是否可达。 如果您认为 ping 是一个如此简单的命令,为什么我需要 15 个示例,您应该阅读本文的其余部分。

如您所知,ping 命令用于确定对等主机/网关是否可达。

如果您认为 ping 是一个如此简单的命令,为什么我需要 15 个示例,您应该阅读本文的其余部分。

Ping 命令提供的选项比您可能已经知道的要多得多。


Ping 示例 1. 增加或减少数据包之间的时间间隔

默认情况下,ping 在发送下一个数据包之前等待 1 秒。您可以使用选项 -i 增加或减少它,如下所示。

增加 Ping 时间间隔

示例:在发送下一个数据包之前等待 5 秒。

$ ping -i 5 IP

减少 Ping 时间间隔

示例:在发送下一个数据包之前等待 0.1 秒。


# ping -i 0.1 IP

注意:只有超级用户可以指定小于 0.2 秒的时间间隔。如果没有,您将收到以下错误消息。

$ ping -i 0.1 127.0.0.1
PING 0 (127.0.0.1) 56(84) bytes of data.
ping: cannot flood; minimal interval, allowed for user, is 200ms

Ping 示例 2. 检查本地网络接口是否启动并运行

在检查对端机器是否可达之前,首先使用以下3种方法中的任何一种检查本地网络网络是否已启动并运行。

使用零 (0) ping 本地主机

这可能是 ping 本地主机的最简单和最简单的方法

$ ping 0
PING 0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.024 ms
^C

使用名称 Ping 本地主机

$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.051 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.055 ms
^C
--- localhost ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.051/0.053/0.055/0.002 ms

使用 ip ping 本地主机

$ ping 127.0.0.1

要退出 ping 命令,请按 CTRL+C 发送 SIGINT 信号。如果您没有指定任何使 ping 自动退出的选项,那么您将使用 CTRL+C ( SIGINT ) 终止,这将显示统计信息,然后终止 ping 进程。当一切正常时,它应该说“0% 丢包”

2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.051/0.053/0.055/0.002 ms

Ping 示例 3. 发送 N 个数据包并停止

发送 N 个使用 -c 选项指定的数据包,然后停止。这样 ping 命令可以自动退出,而不是按 CTRL+C 退出。

在以下示例中,ping 命令发送 5 个数据包,并等待目标主机的响应。Ping 将在收到响应或错误后退出。

$ ping -c 5 google.com
PING google.com (142.250.207.15) 56(84) bytes of data.
64 bytes from yx-in-f100.google.com (142.250.207.15): icmp_seq=1 ttl=44 time=731 ms
64 bytes from yx-in-f100.google.com (142.250.207.15): icmp_seq=2 ttl=44 time=777 ms
64 bytes from yx-in-f100.google.com (142.250.207.15): icmp_seq=3 ttl=44 time=838 ms
64 bytes from yx-in-f100.google.com (142.250.207.15): icmp_seq=4 ttl=44 time=976 ms
64 bytes from yx-in-f100.google.com (142.250.207.15): icmp_seq=5 ttl=44 time=1071 ms

--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4216ms
rtt min/avg/max/mdev = 731.039/879.129/1071.050/126.625 ms

Ping 示例 4. 显示版本并退出

使用 -V 选项显示 ping 程序的当前版本。

$ ping -V
ping utility, iputils-sss20071127

Ping 示例 5. 淹没网络

超级用户可以使用 -f 选项每秒发送数百个或更多数据包。它打印一个“。” 发送数据包时,收到数据包时打印退格键。

如下图,ping -f 在几秒内发送了超过 400,000 个数据包。

# ping -f localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
.^C
--- localhost ping statistics ---
427412 packets transmitted, 427412 received, 0% packet loss, time 10941ms
rtt min/avg/max/mdev = 0.003/0.004/1.004/0.002 ms, ipg/ewma 0.025/0.004 ms

Ping 示例 6. 可听见的 ping:当对等方可到达时发出哔声

此选项对系统管理员在故障排除期间很有用。您无需在每次更改后查看 ping 输出。您可以继续使用您的更改,当远程机器变得可访问时,您会自动听到哔哔声。

$ ping -a IP

注意:它只能从终端号 1 到 7 和 gnome-terminal 发出哔声(在控制台中不起作用)。

Ping 示例 7. 找出 IP 地址

您可以使用主机名来识别 IP 地址,如下所示。

$ ping -c 1 google.com
PING google.com (142.250.207.15) 56(84) bytes of data.
64 bytes from gw-in-f100.google.com (142.250.207.15): icmp_seq=1 ttl=43 time=287 ms

--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 287.903/287.903/287.903/0.000 ms

Ping 示例 8. 仅打印 Ping 命令摘要统计信息

使用选项 -q 仅查看 ping 统计摘要,如下所示。

$ ping -c 5 -q 127.0.0.1 
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.

--- 127.0.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 0.047/0.053/0.061/0.009 ms

Ping 示例 9. 更改 Ping 数据包大小

您可以使用 -s 选项更改 ping 命令的数据包大小。

示例:将默认数据包大小从 56 更改为 100。

$ ping -s 100 localhost
PING localhost (127.0.0.1) 100(128) bytes of data.
108 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.022 ms
108 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.021 ms
108 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.020 ms
^C
--- localhost ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.020/0.021/0.022/0.000 ms

Ping 数据包大小

在上面的示例中,当我们将数据包大小设置为 100 时,它会在输出中显示“128 字节”。这是因为 Ping 数据包标头大小为 28 字节。因此,如果您将数据包大小指定为 100,则会将 28 个字节的标头添加到其中并发送 128 个字节。

发送的 Ping 字节 = Ping 数据包大小 + Ping 标头数据包大小(28 字节)

Ping 示例 10. 超时 -w

Ping -w 选项指定终止 ping 输出的最后期限。这指定了 ping 命令应将数据包发送到远程主机的总秒数。

以下示例将 ping 5 秒。即 ping 命令将在 5 秒后退出,无论发送或接收多少数据包。

$ ping -w 5 localhost

注意:当您同时指定 -w 和 -c 时,先到者将终止 ping 命令。

Ping 示例 11. 在线 ping

从不同位置 ping 并检查来自不同位置的服务器的可达性(可用性或到达时间)。

如果您想进行在线 ping,请尝试ping

Ping 示例 12. 选项 -w 或 -c 退出 Ping

$ ping -c 4 0 -w 2
PING 0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.064 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.060 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.058 ms

--- 0 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.058/0.060/0.064/0.009 ms
$ ping -c 4 0 -w 10
PING 0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.063 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.060 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.055 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.061 ms

--- 0 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.055/0.059/0.063/0.009 ms

Ping 示例 13. 使用 SIGQUIT 缩短统计信息

当 ping 打印单个数据包状态时,当您想要查看较短的统计信息时,您可以使用此技术。

CTRL+| (控制键后跟管道符号)用于显示两者之间的摘要,并继续进行数据包发送和接收过程。

$ ping -w 100 localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=10 ttl=64 time=0.021 ms
64 bytes from localhost (127.0.0.1): icmp_seq=11 ttl=64 time=0.022 ms
11/11 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.024 ms
64 bytes from localhost (127.0.0.1): icmp_seq=12 ttl=64 time=0.021 ms
64 bytes from localhost (127.0.0.1): icmp_seq=13 ttl=64 time=0.022 ms
64 bytes from localhost (127.0.0.1): icmp_seq=14 ttl=64 time=0.021 ms
64 bytes from localhost (127.0.0.1): icmp_seq=15 ttl=64 time=0.021 ms
19/19 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.024 ms
64 bytes from localhost (127.0.0.1): icmp_seq=31 ttl=64 time=0.022 ms
64 bytes from localhost (127.0.0.1): icmp_seq=32 ttl=64 time=0.022 ms
32/32 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.027 ms
64 bytes from localhost (127.0.0.1): icmp_seq=33 ttl=64 time=0.023 ms

Ping 示例 14. 指定 ping 发送数据包的路径

您还可以指定 ping 应通过哪个路径将数据包发送到目的地。

$ ping hop1 hop2 hop3 .. hopN destination
$ ping 192.168.3.3 192.168.7.1 192.168.4.4

注意:如果路径中的一跳不可达,那么您将无法 ping。

Ping 示例 15. 记录和打印 ECHO_REQUEST 发送和 ECHO_REPLY 接收的路由

它记录并打印发送和接收数据包的网络路由。这对于希望了解数据包如何发送和接收的网络工程师很有用。

$ ping -R 192.168.1.6
PING 192.168.1.6 (192.168.1.6) 56(84) bytes of data.
64 bytes from 192.168.1.6: icmp_seq=1 ttl=61 time=2.05 ms
RR:   192.168.9.11
        192.168.3.2
        192.168.10.3
        192.168.1.24
        192.168.1.68
        192.168.1.68
        192.168.10.1
        192.168.3.102
        192.168.4.125
64 bytes from 192.168.1.6: icmp_seq=2 ttl=61 time=2.00 ms      (same route)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。