Ping命令是TCP/IP中内置的一个测试工具,主要通过发送Internet控制消息协议(ICMP)回响请求消息来验证与另一台TCP/IP计算机的IP级连接。对应的回响应答消息的接受情况将和往返过程的时间一起显示出来。Ping是用于检测网络的连接性、可到达性和名称解析的疑难问题的主要TCP/IP命令。
一、ping命令语法及参数
Ping命令的基本语法格式为:
Ping [-t] [-a] [-n Count] [-1 Size] [-f] [-I TTL] [-v Tos] [-r Count] [{-j Hostlist|-K hostList}] [-w Timeout] [TargetName]
参数说明:
-t 持续向指定的目的主机发送回响请求消息,若要终端发送必须按下CTRL+BREAK或者CTRL+C组合键。
-a 指定对目的地地址进行反向名称解析。如果解析成功,ping将显示相应的主机名。
-n Count 指定发送回响请求消息的次数,默认值为4。
-1Size 指定发送的回响请求消息中“数据”字段的长度(以字节表示),默认值为32,其最大值可以是65527。
-f 指定发送回响请求消息带有“不要拆分”标志(所在的IP标题设为1)。回响请求消息不能由目的地路径上的路由器进行拆分。该参数可用于检测并解决“路径最大传输单位(PMTU)”的故障。对于Windwos XP主机,该值一般是128。TTL的最大值是255。
-v TOS 指定发送回响请求消息的IP标题中的“服务类型(TOS)”字段值,默认是0。TOS被指定为0到255的十进制数。
-r Count 指定IP标题中的“记录路由”选项用于记录由回响请求消息和相应的回响应答消息使用的路径。路径中的每个跃点都使用“记录路由”选项中的一个值。如果可能,可以指定一个等于或大于来源和目的地之间跃点数的Count。Count的最小值必须为1,最大值为4。
-jHostList 指定回响请求消息使用带有HostList指定的中间目的地集的IP标题中的“稀疏资源路由”选项。使用松散源路由时,相邻的中间目标可以由一个或多个路由分隔开。主机列表中的地址或名称的最大数为9,主机列表是一系列由空格分开的IP地址(带点的十进制符号)。
-kHostList 指定回响请求消息使用带有HostList指定的中间目的地集的IP标题中的“严格来源路由”选项。使用严格来源路由,下一个中间目的地必须是直接可达的(必须是路由器接口上的邻居)。主机列表中的地址或名称的最大数为9,主机列表是一系列有空格分开的IP地址(带点的十进制符号)。
-w Timeout 指定等待回响应答消息相应的时间(以微妙计算),该回响应答消息相应接受到的指定回响请求消息。如果在超时时间内未接受到回响应答消息,将会显示“请求超时”的错误消息。默认超时时间为4000(4s)。
TargetName 指定目的端,它既可以是IP地址,也可以是主机名。
二、应用示范
示例1:正常时和故障时的测试结果
网络运行正常情况下,在命令提示符窗口中键入ping www.bwstet.com命令并执行,会显示如下图所示的结果,所有发送的包均被成功接受,丢包率为0。
正常测试结果中会连续出现类似Reply from 61.132.75.113:bytes=32 time=3ms TTL=58的语句。其中,3ms表示从发送数据到收到回应经历的时间,如果超出了限定的时间后仍未收到回应,则视为超时,自动继续发送下一个测试数据包,系统默认的超时时间为4000ms(4s);TTL=58表示对方主机的TTL值为58,根据TTL值一般可以确定该计算机使用哪种操作系统,例如Windows XP/2000系统的主机通常为128,Windows 98系统的主机通常为64,而Unix系统的主机的TTL值一般为255。
当网络出现故障时往往得不到上述结果。在命令提示符窗口中键入ping 192.168.0.252并执行,会显示如下图所示的结果。表明网络连接不正常,所有发送的测试数据包均为成功接受,丢包率为100%。
示例2:指定测试数据包的数目和数据包的大小
发送指定数量的数据包,最后可以得出丢包的概率,如果丢包率非常高,虽然网络是联通的,但是其稳定性会非常差。指定数据包的大小,则是为了测试网络是否能够提供一定的宽带。例如在命令提示窗口中键入ping –n 10 -l 500 192.168.0.184并执行,即可显示如下图所示的结果。其中发送的数据包数量为50,数据包大小为1000字节。
从测试结果不难发现,丢包率为10%。通常情况下,丢包率低于20%时不会影响到正常浏览网页等应用。
示例3:测试到http://www.bwstet.com的连通性以及所有经过的路由器和网关,并只发送一个测试数据包。
在命令提示窗口中键入ping –n 1 –r 9 www.bwstet.com并来执行,即可显示如下图所示结果。
注意:由于ping命令是TCP/IP协议的一个组件,因此应用之前必须正确安装TCP/IP协议。
本文转自 zhouhaipeng 51CTO博客,原文链接:http://blog.51cto.com/zhouhaipeng/179287,如需转载请自行联系原作者