Linux

命令 ping 用于测试主机之间网络的连通性

2021-01-27 14:16:43 卿卿小孩 53

在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命令不一致