在Linux系统中,命令 ping 用于测试主机之间网络的连通性,执行ping命令则会使用ICMP传输协议,发出要求回应的信息,若远端的主机网络功能没有问题,就会回应该信息,从而得知该主机运作是否正常。[root@qingqing ~]# ping
Usage: ping [-aAbBdDfhLnOqrRUvV64] [-c count] [-i interval] [-I interface]
[-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
[-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
[-w deadline] [-W timeout] [hop1 ...] destination
Usage: ping -6 [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
[-l preload] [-m mark] [-M pmtudisc_option]
[-N nodeinfo_option] [-p pattern] [-Q tclass] [-s packetsize]
[-S sndbuf] [-t ttl] [-T timestamp_option] [-w deadline]
[-W timeout] destination
[root@qingqing ~]#
参数说明:-c 指定发送ICMP报文的次数,否则,ping命令将一直发送报文
-i相邻两次发送报文时间间隔,默认间隔时间为1秒
-n不查询主机名,直接显示IP地址
-q只显示命令开始时的信息和运行结束时的统计信息,忽略命令执行过过程中的输出信息
-s 设置发送数据包大小,默认大小为56字节,再加上8个字节的ICMP头,一共是64字节的ICMP包
-t 设置发送数据包及其生存期(TTL)的值
-w截止时间,查过截止时间立即退出ping程序
-W超时时间 等待响应的超时时间
案例:
不带参数使用[root@qingqing ~]# ping www.qingqing.yn.cn
PING www.qingqing.yn.cn (47.99.62.58) 56(84) bytes of data.
64 bytes from 47.99.62.58 (47.99.62.58): icmp_seq=1 ttl=64 time=2.00 ms
64 bytes from 47.99.62.58 (47.99.62.58): icmp_seq=2 ttl=64 time=2.03 ms
64 bytes from 47.99.62.58 (47.99.62.58): icmp_seq=3 ttl=64 time=2.09 ms
64 bytes from 47.99.62.58 (47.99.62.58): icmp_seq=4 ttl=64 time=2.03 ms
64 bytes from 47.99.62.58 (47.99.62.58): icmp_seq=5 ttl=64 time=2.01 ms
^C
--- www.qingqing.yn.cn ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 2.003/2.035/2.096/0.043 ms
[root@qingqing ~]#
结果说明:
第1行:ping后面可以跟域名或IP
第2行:56代表发送的是56字节的数据
第3行:意思是送目标主机上接收到的是64位字节数据,icmp_seq收到的包的序列号,ttl是数据包的生存期,time是延时
第8行:Ctrl+C强制退出
第9行:结果统计标题
第10行:发了5个包,收到5个,丢失了0%的包,时间为4005ms
第11行:rtt是传输时间延迟,min/avg/max/mdev 分别代表 最小值/均值/最大值/算数平均差
带参数使用示例[root@qingqing ~]# ping -c 3 www.qingqing.yn.cn
PING www.qingqing.yn.cn (47.99.62.58) 56(84) bytes of data.
64 bytes from 47.99.62.58 (47.99.62.58): icmp_seq=1 ttl=64 time=2.02 ms
64 bytes from 47.99.62.58 (47.99.62.58): icmp_seq=2 ttl=64 time=2.03 ms
64 bytes from 47.99.62.58 (47.99.62.58): icmp_seq=3 ttl=64 time=2.03 ms
--- www.qingqing.yn.cn ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 2.021/2.031/2.037/0.007 ms
[root@qingqing ~]#
扩展:
1)ping命令会显示一个时间作为衡量网络延迟的参数,以判断源主机与目标主机之间网络的质量。
2)ping命令的输出信息中含有TTL值。TTL(Time To Life)称为生存期,它是ICMP报文在网络上的存活时间。不同的操作系统发出的ICMP报文的生存期各不相同,常见的生存期为32、64、128和255等。TTL值反映了ICMP报文所能够经过的路由器数目,每经过一个路由器,路由器都会将其数据包的生存期减去1,如果TTL值变为0,则路由器将不再转发此报文。
3)Windows下ping命令与Linux下ping命令不一致