一口气Ping1000个IP地址,会发生什么事情?
在下方公众号后台回复:面试手册,可获取 PDF 手册。
ping命令是我们检查网络中最常用的命令,作为网络人员,基本上每天都会用到,可以很好地帮助我们分析和判定网络故障,对吧?
一般来说,网工们用 ping查看网络情况,主要是检查两个指标:
第一个是看看是不是超时
第二个看看是不是延迟太高
我做个假设啊,如果,你今天需要负责10台设备,100台设备,1000台设备怎么办?
一个个ping过去怕是凉凉,这种情况,在大型网络中很有可能遇到,那该咋整?
这篇文章想和你分享下大量设备的ping方法。
当然,ping作为网络工程师必备的命令,也反映了它是必学的网络基础之一。
一、 批量ping网段
对于一个网段ip地址众多,如果单个检测实在麻烦,那么我们可以直接批量ping网段检测,那个ip地址出了问题,一目了然。
先看代码,直接在命令行窗口输入:
for /L %D in (1,1,255) do ping 10.168.1.%D
IP地址段修改成你要检查的IP地址段。
当输入批量命令后,那么它就自动把网段内所有的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检测完为止。
二、批量ping网段命令升级
上面的命令虽然能批量ping 地址,但是上面代码在命令行窗口显示数量多的时候看起来也很麻烦,那么我们再升级一下,用下面的代码。
for /L %D in (1,1,255) do ping -n 10.168.1.%D >>a.txt
说明,ip地址是变的,你填你需要测的ip网段就行,a.txt也是变的,可以自已设置名称。
这样就会把结果导入的a.txt文件中,全部IP检查完成后打开a.txt搜索“TTL=”包含它的就是通的地址,没有包含“TTL=”的地址就是不通的。
如下图:
打开后,就直接搜索没TTL的就可以了。
三、批量ping网段命令再升级
很多人要说了这样还要搜索,也不是太方便,需要这样查来查去,那么我们再看下,是否有更简便的方法呢?
答案肯定是有的,我们来看代码。
for /l %D in (1,1,255) do (ping 192.168.1.%D -n 1 && echo 192.168.1.%D>>ok.txt || echo 192.168.1.%D >>no.txt)
这段代码会将ping通的IP和不通的IP分别放到两个文件里面,这样是不是很方便啦,如下图:
这段代码非常实用,在大网络中可以用到,就是大家在输入的时候需要细心,不过也没有关系,可以直接把这篇文章收藏,日后要用,直接复制里面代码,然后改下里面ip地址就行了。
四、批量ping网段命令终极方法
上面提到的三种代码提到的都是针对同一个网段内ip地址批量检测。
那么,在实际项目中,也可能存不同网段的ip地址需要同时检测,那咋整?
也有方法,可以把没有规划的ip地址同时批量检测,我们来看下代码:
for /f %D in (ip.txt) do (ping %D -n 1 && echo %i>>ok.txt || echo %D >>no.txt)
看见没有,多了一个ip.txt文件。
这个文件是要你自己准备的哦,把你ping的地址写到这个文件里面,代码会自己读取这个文件里面的ip地址,并且把结果放到两个文件里面去。
这里就不给大家截图了与上图差不多。
这里面补充下:上面代码生成的文件,在你命令行默认目录下。
也就是说,如果你的命令行状态是 "c:\windows\system32>",那么生成的文件,就在系统的system32目录下面。
如果是"c:\"那么文件就在C盘根目录下。这个可以根据自己的实际情况进行调整了哈。