Linux中的Ping命令

ping 命令是用于故障排除,测试和诊断网络连接问题的最常用工具之一。

Ping通过将一个或多个ICMP(Internet控制消息协议)回显请求包发送到网络上的指定目标IP并等待答复来工作。 当目的地接收到该程序包时,它将以ICMP回显应答进行响应。

随着 ping 命令,可以确定远程目标IP是活动的还是非活动的。 您还可以找到与目的地通信时的往返延迟,并检查是否有数据包丢失。

pingiputils (要么 iputils-ping)软件包,该软件包几乎预装在所有Linux发行版中。 它在Windows,macOS和FreeBSD上也可用。

如何使用Ping命令

ping命令的语法如下:

ping [OPTIONS] DESTINATION

为了更好地说明,ping命令如何工作,让我们ping google.com

ping google.com

输出将如下所示:

PING google.com (172.217.22.206) 56(84) bytes of data.
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=1 ttl=53 time=40.2 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=2 ttl=53 time=41.8 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=3 ttl=53 time=47.4 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=4 ttl=53 time=41.4 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 40.163/42.700/47.408/2.790 ms

ping 命令将域名解析为IP地址,并开始将ICMP软件包发送到目标IP。 如果目标IP可达,它将响应并ping命令打印一行,其中包括以下字段:

  • 数据字节数。 默认值为56,它转换为64个ICMP数据字节- 64 bytes
  • 目的地的IP地址- from muc11s01-in-f14.1e100.net (172.217.22.206)
  • 每个数据包的ICMP序列号。 icmp_seq=1
  • 生存的时间。 — ttl=53 -TTL如何工作? 。
  • ping时间(以毫秒为单位),它是数据包到达主机的往返时间,以及返回到发送方的响应。 — time=41.4 ms

默认情况下,发送新数据包的间隔为一秒。

ping 命令将继续将ICMP程序包发送到目标IP地址,直到收到中断。 要停止命令,只需点击 Ctrl+C 组合键。

命令停止后,它将显示统计信息,包括丢包率。 数据包丢失意味着数据被丢弃在网络中的某个位置,表明网络中存在问题。 如果有丢包,您可以使用 traceroute 命令以识别丢包发生的位置。

如果 ping 不返回答复,表示未建立网络通信。 发生这种情况时,并不总是意味着目标IP处于不活动状态。 某些主机可能具有阻止ICMP流量或设置为不响应ping请求的防火墙。

成功之后, ping 使用代码退出命令 0。 否则,它将退出并显示代码 1 要么 2。 当使用 ping Shell脚本中的实用程序。

在以下各节中,我们将介绍最常用的 ping 命令选项。

指定数据包数

如前所述,默认情况下, ping 将继续发送ICMP数据包,直到收到中断信号。 要指定要发送的Echo Request软件包的数量,在此之后ping将退出,请使用 -c 选项,后跟软件包数量:

ping -c 1 DESTINATION

例如,ping linuxize.com 您只会使用一次:

ping -c 1 linuxize.com

指定源接口号

的默认行为 ping 命令是通过默认路由发送ICMP软件包。 如果您的计算机上有多个接口,则可以使用 -I 选项:

ping -I INTERFACE_NAME DESTINATION

以下命令将ping linuxize.com 使用 em2 作为源接口:

ping -I em2 linuxize.com

指定互联网协议号

当您运行 ping 命令,它将使用IPv4或IPv6,具体取决于您的计算机的DNS设置。

强迫 ping 要使用IPv4,请通过 -4 选项,或使用其别名 ping4

ping -4 DESTINATION

对于IPv6,请传递 -6 选择或使用 ping6

ping -6 DESTINATION

结论#

ping 是一个命令行网络实用程序,使您可以测试网络上给定主机的IP级别连接。

要查看的所有可用选项 ping 命令,键入 man ping 在您的终端中。

如果您有任何疑问或反馈,请随时发表评论。

ping终端

Sidebar