黑帽联盟

标题: shell 编写脚本批量ping ip [打印本页]

作者: 定位    时间: 2017-3-18 13:16
标题: shell 编写脚本批量ping ip
服务器总是一下子买了很多的段的ip。通过绑定后,也不知道这些ip是否绑定成功,所以就写了一个shell脚本,把ip输好,批量ping一下,看是不是都能ping通。
脚本如下:
11.png

此外。还有一个ip文件,里面放的都是ip 名为allip
12.png

我们来运行一下,看一下结果:
13.png


都能ping通,那么我现在在allip里面的第一行,加一个1.1.1.1 这一个我无法ping通的网址,看一下这个小程序,怎么处理,我们来看一下运行结果:
14.png

他显示 ping 1.1.1.1 失败。的确这个ip是ping不通。好了。效果就这些,我们来看一下他的原理
先贴一下程序:
#! /bin/bash
for i in `cat allip`
do
ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'`
if [ $ping -eq 100  ];then
echo ping $i fail
else
echo ping $i ok
fi
done
程序很简单,现在来挨个解释一下

#! /bin/bash
for i in `cat allip`  #这个是逐个读取allip文件里的ip
do
ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'`
#上面一行是对读出来的ip ping一次,看是否ping通。并取出loss的百分比的值 也就是掉包的值 ,看是否掉包
if [ $ping -eq 100  ];then #比较一下,看掉包的值是不是100,如果是100就是全部掉包,那就是没ping通,那就显示 ping ip fail,如果不等于100的话,就ping通了,就显示 Ping ip OK
echo ping $i fail
else
echo ping $i ok
fi
done

结束,小工具挺有用的,有时那么多的ip,一次性就ping完了。






欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5