ping:测试主机之间网络的连通性

xiaohai 2021-06-28 19:55:28 2618人围观 标签: Linux 
简介ping命令用于测试主机之间的网络连通性。执行ping命令会使用ICMP传输协议,发送要求回应的信息,若远程主机的网络功能没有问题,就会回应信息,因而可得知该主机运行正常。
说明

  ping命令用于测试主机之间的网络连通性。执行ping命令会使用ICMP传输协议,发送要求回应的信息,若远程主机的网络功能没有问题,就会回应信息,因而可得知该主机运行正常。

格式

  ping [option] [dest(目标主机IP或域名)]

常用参数
  • -c:指定发送ICMP报文的次数,否则会一直发送报文
  • -i:时间间隔,默认为1s
  • -n:不查询主机名,直接显示IP地址
  • -q:只显示命令开始时的信息和运行结束时的统计信息,忽略命令运行过程中的输出信息
  • -s:设置发送数据包的大小,默认大小为56个字节,再加上8个字节ICMP头,一共是64字节的ICMP包
  • -t:设置发送的数据包其生命周期TTL的值
  • -w:超过截止时间,立即退出ping
  • -W:等待相应的超时时间
使用示例

1、测试目标主机的网络连通性

[root@localhost ~]# ping www.hi917.com
PING www.hi917.com (39.108.78.191) 56(84) bytes of data.
64 bytes from 39.108.78.191: icmp_seq=1 ttl=128 time=45.2 ms
64 bytes from 39.108.78.191: icmp_seq=2 ttl=128 time=47.1 ms
64 bytes from 39.108.78.191: icmp_seq=3 ttl=128 time=44.9 ms
64 bytes from 39.108.78.191: icmp_seq=4 ttl=128 time=65.5 ms
64 bytes from 39.108.78.191: icmp_seq=5 ttl=128 time=90.2 ms
64 bytes from 39.108.78.191: icmp_seq=6 ttl=128 time=44.0 ms
...

2、网络故障时的ping结果

[root@localhost ~]# ping 192.168.71.107
PING 192.168.71.107 (192.168.71.107) 56(84) bytes of data.
From 192.168.71.108 icmp_seq=1 Destination Host Unreachable
From 192.168.71.108 icmp_seq=2 Destination Host Unreachable
From 192.168.71.108 icmp_seq=3 Destination Host Unreachable
From 192.168.71.108 icmp_seq=4 Destination Host Unreachable
From 192.168.71.108 icmp_seq=5 Destination Host Unreachable

--- 192.168.71.107 ping statistics ---
13 packets transmitted, 0 received, +12 errors, 100% packet loss, time 12006ms
pipe 4

3、使用ping参数的不同组合的例子

[root@localhost ~]# ping -c 3 -i 3 -s 1024 -t 255 www.baidu.com
PING www.a.shifen.com (111.13.100.91) 1024(1052) bytes of data.
1032 bytes from sc.10086.com (111.13.100.91): icmp_seq=1 ttl=128 time=40.2 ms
1032 bytes from sc.10086.com (111.13.100.91): icmp_seq=2 ttl=128 time=40.8 ms
1032 bytes from sc.10086.com (111.13.100.91): icmp_seq=3 ttl=128 time=44.6 ms

--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 6006ms
rtt min/avg/max/mdev = 40.241/41.924/44.646/1.956 ms

命令说明:

  • -c 3:发送3次ICMP包
  • -i 3:每次发包时间间隔3s
  • -s 1024:设置发送的数据包大小为1024字节
  • -t 255:设置发送数据包的ttl值为255
扩展内容
  • 1、ping命令会显示一个时间作为衡量网络延迟的参数,以判断源主机与目标主机之间的网络质量。
  • 2、ping命令的输出信息中含有TTL值。TTL(Time To Life)值称为生存期。他是ICMP报文在网络上的存活时间。不同的操作系统发出的ICMP报文的生存期各不相同,常见的生命周期为:32、64、128和255等。TTL值反映了ICMP报文所能够经过的路由器数目,每经过一个路由器,路由器都会讲其数据包的生存期减去1,如果TTL值变为0,则路由器将不会再转发次报文。