shell小工具-批量ping工具

按需生成一个C段的ip地址并自动ping存活,输出结果
脚本逻辑如下

#!/bin/bash

f="/tmp/ip_list.txt"
read -p "input ip prefix(e.g 192.168.1):" ip_prefix    #ip地址前缀,例如192.168.1
read -p "input start ip(e.g 1):" ip_start    #ping测试开始的ip
read -p "input end ip(e.g 254):" ip_end    #ping测试结尾的ip
for i in $(seq ${ip_start} ${ip_end})
do
    echo "${ip_prefix}.$i" >> $f    #生成ip列表
done
for j in $(cat $f)
do
    chk=$(ping -c2 -w2 $j |grep -i "ttl=")    #逐个ping
    if [ ! -z "${chk}" ];then
        echo "$j ok!"
    fi
done
rm -rf $f
echo "done!"

脚本运行效果如下

[root@test-centos ~]# bash pingtest.sh 
input ip prefix(e.g 192.168.1):192.168.20
input start ip(e.g 1):10
input end ip(e.g 254):20
192.168.20.10 ok!
192.168.20.11 ok!
192.168.20.12 ok!
192.168.20.13 ok!
192.168.20.14 ok!
192.168.20.15 ok!
192.168.20.16 ok!
192.168.20.17 ok!
192.168.20.18 ok!
192.168.20.19 ok!
done!

done!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容