一、ping命令的详细用法 在网络中ping是一个十分强大的TCPIP工具。它的作用主要为: 1、用来检测网络的连通情况和分析网络速度 2、根据域名得到服务器IP 3、根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。 我们通常会用它来直接pingip地址,来测试网络的连通情况。 类如这种,直接pingip地址或网关,ping通会显示出以上数据,有朋友可能会问,bytes32;time1TTL128这些是什么意思。 bytes值:数据包大小,也就是字节。 time值:响应时间,这个时间越小,说明你连接这个地址速度越快。 TTL值:TimeToLive,表示DNS记录在DNS服务器上存在的时间,它是IP协议包的一个值,告诉路由器该数据包何时需要被丢弃。可以通过Ping返回的TTL值大小,粗略地判断目标系统类型是Windows系列还是UNIXLinux系列。 一、pingt的用法 不间断地Ping指定计算机,直到管理员中断。 这就说明电脑连接路由器是通的,网络效果很好。下面按按住键盘的Ctrlc终止它继续ping下去,就会停止了,会总结出运行的数据包有多少,通断的有多少了。 二、pinga的使用 pinga解析计算机名与NetBios名。就是可以通过ping它的ip地址,可以解析出主机名。 三、pingn的使用 在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送10个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知: 从以上我就可以知道在给47。93。187。142发送10个数据包的过程当中,返回了10个,没有丢失,这10个数据包当中返回速度最快为32ms,最慢为55ms,平均速度为37ms。说明我的网络良好。 如果对于一些不好的网络,比如监控系统中非常卡顿,这样测试,返回的结果可能会显示出丢失出一部分,如果丢失的比较多的话,那么就说明网络不好,可以很直观的判断出网络的情况。 四、pinglsize的使用 lsize:发送size指定大小的到目标主机的数据包。 在默认的情况下Windows的ping发送的数据包大小为32byt,最大能发送65500byt。当一次发送的数据包大于或等于65500byt时,将可能导致接收方计算机宕机。所以微软限制了这一数值;这个参数配合其它参数以后危害非常强大,比如攻击者可以结合t参数实施DOS攻击。(所以它具有危险性,不要轻易向别人计算机使用)。 例如:pingl65500t211。84。7。46 会连续对IP地址执行ping命令,直到被用户以CtrlC中断。 这样它就会不停的向211。84。7。46计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,网络严重堵塞,由此可见威力非同小可。 五、pingrcount的使用 在记录路由字段中记录传出和返回数据包的路由,探测经过的 路由个数,但最多只能跟踪到9个路由。 pingn1r9202。102。224。25(发送一个数据包,最多记录9个路由) 将经过9个路由都显示出来了,可以看上图。 ping命令用的较多的就这6类的,大家有可能在项目中会用到的。 六、批量ping网段 对于一个网段ip地址众多,如果单个检测实在麻烦,那么我们可以直接批量ping网段检测,那个ip地址出了问题,一目了然。 先看代码,直接在命令行窗口输入: forLDin(1,1,255)doping10。168。1。D IP地址段修改成你要检查的IP地址段。 当输入批量命令后,那么它就自动把网段内所有的ip地址都ping完为止。 那么这段forLDin(1,1,255)doping10。168。1。D代码是什么意思呢? 代码中的这个(1,1,255)就是网段起与始,就是检测网段192。168。1。1到192。168。1。255之间的所有的ip地址,每次逐增1,直接到1到255这255个ip检测完为止。 二、arp命令的使用 arp是地址解析协议,其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。 说白了,就是把通过ip地址找到设备mac地址。 arp的命令一般有三个用法,就是查询显示、添加记录、与删除记录,这个在我们做网络项目时经常会用到。 1、arpa,当你需要显示当期ip地址对应的mac地址时使用 当你需要了解你网络中设备对应的mac地址时,你可以使用arp地址进行显示,这个有利于我们可以清楚了解到ip地址对应的mac地址是哪台设备。 在命令提示符中输入arpa并回车;自动在缓存中,读取IP地址和mac地址的对应关系表; 2、arps,当你需要手动添加或绑定一条arp记录时使用。 手工输入一条ARP项目,格式为ARP空格aIP地址MAC地址; 在网络中,通常在办公网络或监控项目中,为了防止用户乱改ip地址或ip地址冲突,我们需要给ip地址绑定设备的mac地址。 如下图,先用ARPs192。168。1。13c223f5df677绑定一条记录,然后用arpa查询了ARP记录添加是否成功。 其实这个命令也叫作绑定mac地址的命令,例如一个公司的网络,员工经常喜欢改自己电脑的ip地址,经常会造成ip地址混乱,无法管理,那么这个时候你只需要把它的ip地址与它电脑mac地址进行绑定,那么下次出现网络故障,就可以直接mac地址定位到那几台电脑。 3、arpd,当你觉得某条arp记录有问题时,可以删除。 功能为:删除所有ARP记录 其实如果想彻底清空ARP列表,需要您禁止所有网络连接,否则网络数据交互过程中仍然会产生新的ARP列表。 当你网络中出了问题,可能是有某些ip地址发生冲突了,mac对应的ip地址有误,那么你可以对它进行删除这条arp记录,然后重新添加新的记录,网络问题就会得到解决。 三、tracert命令的使用 tracert是路由跟踪命令,用于确定IP数据包访问目标所采取的路径。 在使用Tracert命令之前,我们先来简单地介绍一下它的语法。其中最简单也是最常用的命令格式为: 一、基本用法 Tracert目标设备的ip地址或者网址: 例1、检测ip地址经过几个跃点 这里面是经过了两个跃点。 例2:检测网址经过几个跃点 例3、tracertdbaidu。com代表不将IP地址解析到主机名称,如下图所示: 例4、tracerth3baidu。com代表本次tracert搜索的最大跳数,输入3表示搜索在路由器跳转3次,如下图所示: 这个就是查跟设备最近的几个连接点的问题,通常在网络问题中,先要排除前端跟设备直接连接的最近的几个设备是否有故障,如果这几个近点跟踪可以正常互通,那么问题可能就出现在后端。 例5、tracertw6baidu。com代表tracert为每次回复所指定的毫秒数,其它命令根据需求,可以根据第二步图介绍使用,如下图所示: 当网络很慢,或者很卡时,我们要检测是那个设备的反应速度比较慢,所以这里面可以设个标准值,例如上面是直接显示回复6ms以内的设备,超过6ms的设备不显示,就是反应比较慢的,这个数值可以根据情况设置。 四、route命令使用 route命令用于显示和操作IP路由表。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。 route命令主要用来管理本机路由表,可以查看,添加、修改或删除路由表条目,也就是说可以让哪些ip地址可以访问网络,哪些ip段不能访问网络。 在我们做项目时,经常可能会用到外网与外网切换使用,这样就造成了插拔网线在切换内外网,极其麻烦,这个在我们弱电vip技术群中经常有朋友问题,能否内网和外网同时接入到笔记本,不用每次拔网线呢? 例如: 笔记本上一张机械网卡,一张无线网卡,一般笔记本都是这样的配置,都联上了内外与外网,其中外网网关是49。222。151。207,内网网关10。168。1。1,如何实现双网卡同时使用有线网上内网、无线网上外网? 第一步:设置无线网卡为默认路由网关。 步骤:无线网络连接属性Internet协议(TCPIP)属性高级,手动添加无线路由网关,添加自己的外网网关即关,跃点数为1,是最高优先级。到了这一步,如果有线连接,无线连接同时存在的话,所有的数据都是经由无线网卡处理的。 第二步:查看当前路由表 使用routeprint命令看一个0。0。0。0的网络目标分别映射你的外内网的网关。 当然,这里面你也可以对当前的路由进行删除 第三步: 通过route命令,将所有网段添加到外网网卡,为默认路由,即所有的ip都走外网。 显示查看路由表,查看是否添加成功。 第四步: 通过route命令将内网网段添加到内网网卡,内网使用,即10。168。0。0这个ip段走内网。 显示查看路由表(routeprint命令),查看是否添加成功。 那么就设置成功了,整体的意思就是: 对于所有IP地址的访问,都从49。222。151。207网关走; 但是,对于10。168。0。0开头的地址的访问,从10。168。1。1走。 这样,再也不用插拔网线这种粗鲁的方式来切换网络了。 另附Ping命令完全讲解 ping〔t〕〔a〕〔ncount〕〔llength〕〔f〕〔ittl〕〔vtos〕〔rcount〕〔scount〕〔jcomputerlist〕〔kcomputerlist〕〔wtimeout〕destinationlist tPing指定的计算机直到中断。 a将地址解析为计算机名。 ncount发送count指定的ECHO数据包数。默认值为4。 llength发送包含由length指定的数据量的ECHO数据包。默认为32字节;最大值是65,527。 f在数据包中发送不要分段标志。数据包就不会被路由上的网关分段。 ittl将生存时间字段设置为ttl指定的值。 vtos将服务类型字段设置为tos指定的值。 rcount在记录路由字段中记录传出和返回数据包的路由。count可以指定最少1台,最多9台计算机。 scount指定count指定的跃点数的时间戳。 jcomputerlist利用computerlist指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP允许的最大数量为9。 kcomputerlist利用computerlist指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP允许的最大数量为9。 wtimeout指定超时间隔,单位为毫秒。 destinationlist指定要ping的远程计算机。 Ping的返回信息有RequestTimedOut、DestinationNetUnreachable和BadIPaddress还有Sourcequenchreceived。 RequestTimedOut这个信息表示对方主机可以到达到TIMEOUT,这种情况通常是为对方拒绝接收你发给它的数据包造成数据包丢失。大多数的原因可能是对方装有防火墙或已下线。 DestinationNetUnreachable这个信息表示对方主机不存在或者没有跟对方建立连接。这里要说明一下destinationhostunreachable和timeout的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其它原因不可到达,这时候会出现timeout,如果路由表中连到达目标的路由都没有,那就会出现destinationhostunreachable。 BadIPaddress这个信息表示你可能没有连接到DNS服务器所以无法解析这个IP地址,也可能是IP地址不存在。 Sourcequenchreceived信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。 怎样使用Ping这命令来测试网络连通呢? 连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。 首先我们讲一下使用Ping命令的步骤。 使用Ping检查连通性有五个步骤: 1。使用ipconfigall观察本地网络设置是否正确; 2。Ping127。0。0。1,127。0。0。1回送地址Ping回送地址是为了检查本地的TCPIP协议有没有设置好; 3。Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误; 4。Ping本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略) 5。Ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常。 在检查网络连通的过程中可能出现一些错误,这些错误总的来说分为两种最常见。 1。RequestTimedOut requesttimeout这提示除了在《PING(一)》提到的对方可能装有防火墙或已关机以外,还有就是本机的IP不正确和网关设置错误。 、IP不正确: IP不正确主要是IP地址设置错误或IP地址冲突,这可以利用ipconfigall这命令来检查。在WIN2000下IP冲突的情况很少发生,因为系统会自动检测在网络中是否有相同的IP地址并提醒你是否设置正确。在NT中不但会出现requesttimeout这提示而且会出现Hardwareerror这提示信息比较特殊不要给它的提示所迷惑。 、网关设置错误:这个错误可能会在第四个步骤出现。网关设置错误主要是网关地址设置不正确或网关没有帮你转发数据,还有就是可能远程网关失效。这里主要是在你Ping外部网络地址时出错。错误表现为无法Ping外部主机返回信息Requesttimeout。 2。DestinationHostUnreachable 当你在开始PING网络计算机时如果网络设备出错它返回信息会提示destinationhostunreachable。如果局域网中使用DHCP分配IP时,而碰巧DHCP失效,这时使用PING命令就会产生此错误。因为在DHCP失效时客户机无法分配到IP系统只有自设IP,它往往会设为不同子网的IP。所以会出现DestinationHostUnreachable。另外子网掩码设置错误也会出现这错误。 还有一个比较特殊就是路由返回错误信息,它一般都会在DestinationHostUnreachable前加上IP地址说明哪个路由不能到达目标主机。这说明你的机器与外部网络连接没有问题,但与某台主机连接存在问题。 举个例子吧。 我管理的网络有19台机,由一台100M集线器连接服务器,使用DHCP动态分配IP地址。 有一次有位同事匆忙地告诉我我的OUTLOOK打不开了,我到他机器检查,首先我检查了本地网络设置,我用ipconfigall看IP分配情况一切正常。接着我就开始PING网络中的其中一台机器,第一次PING结果很正常,但OUTLOOK还是无法使用其它网络软件和Copy网络文件都可以使用但网络速度很慢,第二次PING我用了一个参数t(t可以不中断地PING对方,当时我想PING一次可能发现不了问题)发现有time30ms和requesttimeout,从服务器PING这台机就更有趣,requesttimeout比正常数据还多,在局域中竟然有time30ms和requesttimeout太不正常了。开始我认为是网卡的问题但换网卡后故障依旧,重做网线还是不能解决问题,这故障真有趣!最后我没办法了把它插在集线器端口上的另一端的网线换到另一个端口,哈!故障解决了。原来是集线器端口坏了。 如何用Ping命令来判断一条链路的速度? Ping这个命令除了可以检查网络的连通和检测故障以外,还有一个比较有趣的用途,那就是可以利用它的一些返回数据,来估算你跟某台主机之间的速度是多少字节每秒 我们先来看看它有那些返回数据。 Pinging202。105。136。105with32bytesofdata: Replyfrom202。105。136。105:bytes32time590msTTL114 Replyfrom202。105。136。105:bytes32time590msTTL114 Replyfrom202。105。136。105:bytes32time590msTTL114 Replyfrom202。105。136。105:bytes32time601msTTL114 Pingstatisticsfor202。105。136。105: Packets:Sent4,Received4,Lost0(0loss), Approximateroundtriptimesinmilliseconds: Minimum590ms,Maximum601ms,Average593ms 在例子中bytes32表示ICMP报文中有32个字节的测试数据(这是估算速度的关键数据),time590ms是往返时间。 怎样估算链路的速度呢?举个例子吧。我们把A和B之间设置为PPP链路。 从上面的PING例子可以注意到,默认情况下发送的ICMP报文有32个字节。除了这32个字节外再加上20个字节的IP首部和8个字节的ICMP首部,整个IP数据报文的总长度就是60个字节(因为IP和ICMP是Ping命令的主要使用协议,所以整个数据报文要加上它们)。另外在使用Ping命令时还使用了另一个协议进行传输,那就是PPP协议(点对点协议),所以在数据的开始和结尾再加上8个字节。在传输过程中,由于每个字节含有8bit数据、1bit起始位和1bit结束位,因此传输速率是每个字节2。98ms。由此我们可以估计需要405ms。即682。982(乘2是因为我们还要计算它的往返时间)。 我们来测试一下33600bs的链路: Pinging202。105。36。125with32bytesofdata: Replyfrom202。105。36。125:bytes32time415msTTL114 Replyfrom202。105。36。125:bytes32time415msTTL114 Replyfrom202。105。36。125:bytes32time415msTTL114 Replyfrom202。105。36。125:bytes32time421msTTL114 Pingstatisticsfor202。105。36。125: Packets:Sent4,Received4,Lost0(0loss), Approximateroundtriptimesinmilliseconds: Minimum415ms,Maximum421ms,Average417ms 这里大家可能要注意到,这估算值跟实际值是有误差的,为什么呢?因为我们现在估算的是一个理论值,还有一些东西我们没有考虑。比如在网络中的其它干扰,这些干扰主要来之别的计算机。因为在你测试时不可能全部计算机停止使用网络给你做测试,这是不实际的。另外就是传输设备,因为有某些设备如MODEM它在传输时会把数据压缩后再发送,这大大减少了传输时间。这些东西产生的误差我们是不能避免的,但其数值大约在5以内我们都可以接受(利用MODEM传输例外),但是可以减少误差的产生。比如把MODEM的压缩功能关闭和在网络没有那么繁忙时进行测试。有时候误差是无须消除的。因为我们需要这些误差跟所求得的理论值进行比较分析,从而找出网络的缺陷而进行优化。这时测试网络的所有数据包括误差都会成为我们优化的依据。 还要注意,这种算法在局域网并不适用,因为在局域网中速度非常的快几乎少于1ms,而Ping的最小时间分辨率是1ms,所以根本无法用Ping命令来检测速度。如果想测试速度那就要用专门仪器来检测。 总的来说,Ping命令是一个在故障检查方面很有用而且很便利的工具,你不应该忽视它的存在。 对于ping指令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。 现在我就参照ping指令的辅助说明来给大家讲我使用ping时会用到的技巧,ping只有在安装了TCPIP通讯协议以后才可以使用: ping〔t〕〔a〕〔ncount〕〔llength〕〔f〕〔ittl〕〔vtos〕〔rcount〕〔scount〕〔〔jcomputerlist〕〔kcomputerlist〕〕〔wtimeout〕destinationlist Options: tPingthespecifiedhostuntilstopped。ToseestatisticsandcontinuetypeControlBTostoptypeControlC。 不停的ping地方主机,直到你按下ControlC。 此功能有什么特别的技巧,不过可以配合其它参数使用,将在下面提到。 aResolveaddressestohostnames。 解析计算机NetBios名。 例:C:pinga192。168。1。21 Pingingiceblood。yofor。com〔192。168。1。21〕with32bytesofdata: Replyfrom192。168。1。21:bytes32time Replyfrom192。168。1。21:bytes32time Replyfrom192。168。1。21:bytes32time Replyfrom192。168。1。21:bytes32timePingstatisticsfor192。168。1。21: Packets:Sent4,Received4,Lost0(0loss),Approximateroundtriptimesinmillisecods: Minimum0ms,Maximum0ms,Average0ms 从上面就可以知道IP为192。168。1。21的计算机NetBios名为iceblood。yofor。com。 ncountNumberofechorequeststosend。 发送count指定的Echo数据包数。 在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送50个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下知: C:pingn50202。103。96。68 Pinging202。103。96。68with32bytesofdata: Replyfrom202。103。96。68:bytes32time50msTTL241 Replyfrom202。103。96。68:bytes32time50msTTL241 Replyfrom202。103。96。68:bytes32time50msTTL241 Requesttimedout。 Replyfrom202。103。96。68:bytes32time50msTTL241 Replyfrom202。103。96。68:bytes32time50msTTL241 Pingstatisticsfor202。103。96。68: Packets:Sent50,Received48,Lost2(4loss),Approximateroundtriptimesinmilliseconds: Minimum40ms,Maximum51ms,Average46ms 从以上我就可以知道在给202。103。96。68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。 lsizeSendbuffersize。 定义echo数据包大小。 在默认的情?下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其它系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能当机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其它参数以后危害依然非常强大,比如我们就可以通过配合t参数来实现一个带有攻击性的指令:(以下介绍带有危险性,只用于试验,请勿轻易施于别人计算机上,否?后果自负) C:pingl65500t192。168。1。21 Pinging192。168。1。21with65500bytesofdata: Replyfrom192。168。1。21:bytes65500timeReplyfrom192。168。1。21:bytes65500time10msTTL254 这样它就会不停的向192。168。1。21计算机发送大小为65500byt的数据包,如果你只有一台计算机也许?有什么效果,但如果有很多台计算机那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP服务完全停止,由此可见威力非同小可。 fSetDontFragmentflaginpacket。 在数据包中发送不要分段标志。 在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。 iTTLTimeToLive。 指定TTL值在对方的系统里停留的时间。 此参数同样是帮助你检查网络运转情况的。 vTOSTypeOfService。 将服务类型字段设置为tos指定的值。 rcountRecordrouteforcounthops。 在记录路由字段中记录伝出和返回数据包的路由。 在一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由,如果想探测更多,可以通过其它命令实现,我将在以后的文章中给大家讲解。以下为筥例: C:pingn1r9202。96。105。101(发送一个数据包,最多记录9个路由) Pinging202。96。105。101with32bytesofdata: Replyfrom202。96。105。101:bytes32time10msTTL249 Route:202。107。208。187 202。107。210。214 61。153。112。70 61。153。112。89 202。96。105。149 202。96。105。97 202。96。105。101 202。96。105。150 61。153。112。90 Pingstatisticsfor202。96。105。101: Packets:Sent1,Received1,Lost0(0loss), roundtriptimesinmilliseconds: Minimum10ms,Maximum10ms,Average10ms 从上面我就可以知道从我的计算机到202。96。105。101一共通过了202。107。208。187,202。107。210。214,61。153。112。70,61。153。112。89,202。96。105。149,202。96。105。97这几个路由。 scountTimestampforcounthops。 指定count指定的?点数的时间戳。 此参数和r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。 jhostlistLoosesourceroutealonghostlist。 利用computerlist指定的计算机列表路由数据包。连续计算机可以被中间关网?分隔(路由稀疏源)IP允许的最大?量为9。 khostlistStrictsourceroutealonghostlist。 利用computerlist指定的计算机列表路由数据包。连续计算机不能被中间网?分隔(路由?格源)IP允许的最大数量为9。 wtimeoutTimeoutinmillisecondstowaitforeachreply。 指定超时间隔,单位为毫秒。 此参数?有什么其它技巧。 ping指令的其它技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIXLinux系列,一般情况下Windows系列的系?返回的TTL值在100130之间,而UNIXLinux系列的系统返回的TTL值在240255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系?可以通过修改注?表以下键值实现: 〔HKEYLOCALMACHINESYSTEMCurrentControlSetServicesTcpipParameters〕 DefaultTTLdword:000000ff 255FF 12880 6440 3220 好了,ping命令也基本上完全讲解完了,其中还有j,k参数我还没有详细说明。 C:ping? Usage:ping〔t〕〔a〕〔ncount〕〔lsize〕〔f〕〔iTTL〕〔vTOS〕 〔rcount〕〔scount〕〔〔jhostlist〕〔khostlist〕〕 〔wtimeout〕destinationlist Options: tPingthespecifiedhostuntilstopped。 ToseestatisticsandcontinuetypeControlB TostoptypeControlC。 aResolveaddressestohostnames。 ncountNumberofechorequeststosend。 lsizeSendbuffersize。 fSetDontFragmentflaginpacket。 iTTLTimeToLive。 vTOSTypeOfService。 rcountRecordrouteforcounthops。 scountTimestampforcounthops。 jhostlistLoosesourceroutealonghostlist。 khostlistStrictsourceroutealonghostlist。 wtimeoutTimeoutinmillisecondstowaitforeachreply Ping延迟详解 网络延时是指一个数据包从源端发向目的端,然后再立即从目的端返回源端的时间。影响网络延时的主要因素是路由跳数和网络流量。 1、路由跳数 每次路由转发都需要时间,因此路由跳数越多,网络延时越大。 2、网络流量 网络流量越大,设备处理报文排队的时间就越长,网络延时也就越大。网络延时高可能有以下三个原因: 2。1、报文经过的路由跳数多 由于光电的传输速度非常快,报文在物理介质中的传播时间几乎可以忽略不计,但是设备转发数据包的处理时间是不可忽略的。当报文经过太多路由转发处理时,网络延时就会很明显。 2。2、网络带宽不够 当报文经过的网络其带宽不够时,会产生网络拥塞报文排队等待处理,从而表现为响应延时。 2。3、处理内存不够 当设备接收到大量的报文,但是设备处理内存不足时,造成处理速度缓慢,此时也会造成响应延时。 通过Ping命令可以对于网络延迟进行检测,给用户提供当前网络延时的参考,不能作为当前网络延迟的绝对测量值。 Ping延时是否正常没有一个具体的参考值,网络状况不同则要求不同,当需要精确的知道网络延迟时,需要借助于其他的测量方法,比如NQA等。 分析Ping延迟时需要注意以下两点: 当设备对报文进行硬件转发,速度非常快,所以延时也就小。例如,Ping设备端口下挂的电脑。当报文需要CPU进行处理时,延迟比较大。例如,Ping设备网关。 尽管存在Ping设备网关延时大的问题,但是由于业务数据报文不需要CPU处理,而是直接由底层芯片处理,所以不会影响到数据包的转发。 为解决Ping设备网关延时大的问题,可以在设备上执行命令icmpreplyfast使能设备的Ping快回功能,使能后设备对收到的目的地址是自己的EchoRequest报文做快速应答,业务板的CPU收到ICMP报文时,会直接进行ICMP响应,增加CPU对ICMP报文的处理速度,从而降低延迟。 设备为了防止网络中常见的Ping攻击对设备造成影响,将ICMP报文的处理优先级降到最低,ICMP报文传送和处理都排在最后,所以延时就会比较大。