今天我们来看一下ping
命令的的具体使用过程。
在网络中ping是一个十分强大的TCP/IP
工具。它的作用主要为:
- 用来检测网络的连通情况和分析网络速度;
- 根据域名得到服务器
IP
; - 根据
ping
返回的TTL
值来判断对方所使用的操作系统及数据包经过路由器数量。
我们通常会用它来直接ping IP地址
,来测试网络的连通情况。
类如这种,直接
ping IP地址或网关
,ping
通会显示出以上数据,有朋友可能会问bytes=32;time<1ms;TTL=128
这些是什么意思。
bytes
值:数据包大小,也就是字节。time
值:响应时间,这个时间越小,说明你连接这个地址速度越快。TTL
值:Time To Live
,表示DNS
记录在DNS
服务器上存在的时间,它是IP
协议包的一个值,告诉路由器该数据包何时需要被丢弃。可以通过Ping
返回的TTL
值大小,粗略地判断目标系统类型是Windows
系列还是UNIX/Linux
系列。
默认情况下,Linux
系统的TTL
值为64或255,WindowsNT/2000/XP
系统的TTL值为128,Windows98
系统的TTL
值为32,UNIX
主机的TTL值为255。
因此一般TTL值:
- 100~130ms之间,Windows系统 ;
- 240~255ms之间,UNIX/Linux系统。
当然,我们今天主要了解并不是这些,而是ping
的其它参考。
ping
命令除了直接ping
网络的ip
地址,验证网络畅通和速度之外,它还有这些用法。
不间断地ping
指定计算机,直到管理员中断。
这说明电脑连接路由器是通的,网络效果好。下面按住键盘的
Ctrl+c
终止它继续ping
下去,就会停止了,会总结出运行的数据包有多少,通断的有多少了。
Ping-a
解析计算机名与NetBios
名。就是可以通过ping
它的IP
地址,可以解析出主机名。
在默认情况下,一般都只发送4个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度都很有帮助,比如我想测试发送10个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知:
从以上可以知道在给
47.93.187.142
发送10个数据包的过程当中,返回了10个,没有丢失,这10个数据包当中返回速度最快为32ms,最慢为55ms,平均速度为37ms。说明我的网络良好。
如果对于一些不好的网络,比如监控系统中非常卡顿,这样测试,返回的结果可能会显示出丢失一部分,如果丢失的额比较多的话,那么就说明网络不好,可以很直观地判断出网络情况。
-l size
:发送size指定大小的到目标主机的数据包。
在默认的情况下Windows
的ping
发送的数据包大小为32byt
,最大能发送65500byt
。当一次发送的数据包大于或等于65500byt
时,将可能导致接收方计算机宕机。所以微软限制了这一数值;这个参数配合其它参数以后危害非常强大,比如攻击者可以结合-t
参数实施DOS
攻击。(所以它具有危险性,不要轻易向别人计算机使用)。
比如,ping -l 65500 -t 211.84.7.46
会连续对IP
地址执行ping
命令,直到被用户以Ctrl+C
中断。
这样它就会不停地向
211.84.7.46
计算机发送大小为65500byt
的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,网络严重堵塞,由此可见威力非同小可。
在“记录路由”字段中记录传出和返回数据包的路由,探测经过的
路由个数,但最多只能跟踪到9个路由。ping -n 1 -r 9 202.102.224.25 (发送一个数据包,最多记录9个路由)
将经过9个路由都显示出来,可以看上图。
Ping命令用的较多的就是这6种,大家有可能在项目中使用到这些,这里在分享1种不太常用,但是好用的ping的方法。
对于一个网段IP
地址众多,如果单个检测实在麻烦,那么我们可以直接批量ping
网段检测,哪个IP
地址出了问题,就会一目了然。
先看代码,直接在命令行窗口输入:for /L %D in (1,1,255) do ping 10.168.1.%D
当输入批量命令后,那么它就自动把网段内所有IP
地址都ping
完为止。
那么这段“for /L %D in(1,1,255) do ping 10.168.1.%D
” 代码是什么意思呢?
代码中的这个(1,1,255
)就是网段起与始,就是检测网段192.168.1.1
到192.168.1.255
之间的所有的ip
地址,每次逐增1
,直接到1
到255
这255个ip
检测完为止。