myfreax

Linux Ping命令

ping命令是用于排除故障,测试和诊断网络连接问题的最常用的命令之一。使用ping命令,我们可以确定远程目标IP是处于活动状态还是非活动状态,找到与目标通信的往返延迟并检查是否存在数据包丢失

4 min read
By myfreax
Linux Ping命令

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

Ping通过将一个或多个ICMP(Internet控制消息协议)Echo请求包发送到指定目标IP并等待回复来工作。当目标IP收到包时,它将响应ICMP回复。

使用ping命令,我们可以确定远程目标IP是处于活动状态还是非活动状态,找到与目标通信的往返延迟并检查是否存在数据包丢失。

ping命令是iputils(或iputils-ping)程序包的一部分,该程序包已预先安装在绝大多数Linux发行版上。ping命令也可用于Windows,MacOSX和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

默认情况下,发送新报文的时间间隔为1秒。

ping命令将继续将ICMP包发送到目标IP地址,直到收到中断为止。要停止命令,只需按下Ctrl+C组合键即可。

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

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

成功时,ping命令退出代码是0 ,否则将退出代码12。如果您在shell脚本中使用ping命令,这将非常有用。

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

指定数据包数

正如我们已经讨论的那样,默认情况下,ping命令将继续发送ICMP包,直到收到中断信号。要指定要在ping退出之前发送的Echo Request包的数量,请使用-c选项后跟包的数量:

ping -c 1 DESTINATION

例如,要myfreax.com只使用一次ping

ping -c 1 myfreax.com

指定源接口(网卡)

默认情况下,ping将通过默认路由发送ICMP包。如果您的计算机上有多个接口,则可以使用以下-I选项指定源接口:

ping -I INTERFACE_NAME DESTINATION

下面的命令将执行ping myfreax.com使用em2作为源接口

ping -I em2 myfreax.com

指定Internet协议

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

强制ping使用IPv4传递-4选项或使用其别名ping4。对于IPv6传递-6选项或使用ping6

ping -4 DESTINATION
ping -6 DESTINATION

结论

至此,您应该很好地理解如何使用Linux ping命令。您可以通过键入man ping来查看所有可用的命令选项。

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持