ping命令解析

ping命令(做ping探测的总结)

ping命令:

    作用:主要用于确定网络的连通性问题。

执行ping指令会使用ICMP传输协议,向目标主机发送ICMP ping请求报文,期待获得目标主机的ICMP ping响应。若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

Linux ping命令:

语法:

       ping [-LRUbdfnqrvVaAB] [-c <完成次数>] [-i <间隔秒数>] [-l <前置载入>]  [-p <范本样式>] [-s <数据包大小>] [-t <存活数值>] [-w <期限>]  [-I <网络界面>]  [hop ...] 主机名称或IP地址

参数:

-c<完成次数> 后面接的是执行ping的次数。

-i<间隔秒数> 指定收发信息的间隔时间。

-l<前置载入> 设置在送出要求信息之前,先行发出的数据包。

-p<范本样式> 设置填满数据包的范本样式。

-s<数据包大小> 指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节

-t<存活数值> 设置存活数值TTL的大小,预设是255,每经过一个节点就会少一。

-w <期限> 指定超时时间期限,在此期间内,count数目的包发送时,ping不会停止;

-I<网络界面> 使用指定的网络界面送出数据包。

-b 后面接的是broadcastip,用在你需要对整个网域的主机进行ping时。

-q不显示任何传送封包的信息,只显示最后的结果。

-r 忽略普通的Routing Table,直接将数据包送到远端主机上。

-R 记录路由过程。

-M [do|dont] 主要在侦测网络的MTU数值大小,两个常见的项目是:

do 代表传送一个DFDon’t Fragment)旗标,让封包不能重新拆包与打包;

don't 代表不要传送DF旗标,表示封包可以在其他主机上拆包与打包。

  结果显示分析:

  ……bytes from……”:说明目标主机工作正常,中间的线路也正常。

  “Request timed out.”:表示在规定时间内因某种原因没有返回ping命令的应答,这种情况很可能是对方的计算机没有运行,或者中间线路不通致使信息没有到达对方那里。大多数情况下是企业防火墙等阻挡了ping命令中使用的ICMP信息。在这种情况下即便通信对象正在工作,也会有这种结果显示。(echo包顺利到达目的主机,且目的主机也向源主机返回echo-reply包,但是echo-reply包在半路上丢失,无法到达源主机。)

  “Destination host unreachable.”:此错误信息表明执行命令的计算机没能将信息发送到对方那里。大多数情况是自己一方的计算机LAN连接线掉线,或者由于IP设置不对,而无法进行正常通信。

  unknown host 不知名主机,该远程主机的名字不能被域名服务器DNS转换成IP地址,故障原因可能是域名服务器有故障,或者目标主机的名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。

 

  IP寻址故障诊断:

1.       ping 127.0.0.1 检查本机IP栈是否初始化,失败则重装TCP/IP协议;

2.       ping 本主机IP 检查网卡NIC功能是否正常;

3.       ping 网关 成功则NIC连接到网络,并且网络通信正常;

4.       ping 远端主机 成功则表示主机与远端主机可进行IP通信。

 

  测试例子:

[root@fly ~]# ping baidu.com -c 4 -w 5

PING baidu.com (220.181.38.84) 56(84) bytes of data.

64 bytes from 220.181.38.84: icmp_seq=1 ttl=50 time=142 ms

64 bytes from 220.181.38.84: icmp_seq=2 ttl=50 time=142 ms

64 bytes from 220.181.38.84: icmp_seq=3 ttl=50 time=142 ms

64 bytes from 220.181.38.84: icmp_seq=4 ttl=50 time=140 ms

 

--- baidu.com ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3000ms

rtt min/avg/max/mdev = 140.880/141.834/142.199/0.719 ms

结果分析:表示与目标主机连接成功,其中:

64bytes:表示测试中发送的ICMP数据包的大小是64个字节,这是预设值,在某些特殊场合中,例如要搜索整个网络内最大的MTU时,可以使用-s 2000之类的数值来取代;

icmp_seq = 1ICMP所侦测进行的次数;

ttl= 50:表示当前测试使用的TTL time to live 值为50,每3经过一个带有MAC的节点时,例如routerbridge时,TTL就会减少一,可以透过-t 150之类的方法来重新设定预设TTL数值;

ps:如果你的主机与待侦测主机并不在同一个网域内,那么TTL的预设值使用255,如果是同一个网域内,那么TTL预设则使用64。)

time = 142 ms:回应时间,单位有msus,一般来说,越小的回应时间,表示两部主机之间的网络连接越良好。

如果你忘记加上-c 4 这样的规定侦测次数,那就可得要使用【ctrl+c 将他结束掉了!

 

[root@fly ~]# ping 192.168.99.22 -w 5 -c 4

PING 192.168.99.22 (192.168.99.22) 56(84) bytes of data.

From 192.168.99.2 icmp_seq=2 Destination Host Unreachable

From 192.168.99.2 icmp_seq=3 Destination Host Unreachable

From 192.168.99.2 icmp_seq=4 Destination Host Unreachable

 

--- 192.168.99.22 ping statistics ---

4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2999ms

, pipe 3

结果分析:这是因为发送给目标主机的echo包在192.168.99.2上被迫终止,即echo包无法到达目标主机;可能原因:某个路由器192.168.99.2的端口上,禁止来自源主机的数据包通过。

 

[root@localhost ~]# ping qq.cn

ping: unknown host qq.cn

结果分析:不知名主机,该远程主机的名字不能被域名服务器DNS转换成IP地址,故障原因可能是域名服务器有故障,或者目标主机的名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。

 

 

 

你可能感兴趣的:(网络,服务器,测试,table,statistics,behavior)