命令 ping 用于测试主机之间网络的连通性
在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命令不一致