题目:
将格式如192.168.10.1/24的ip地址做ping处理,将能ping通的ip地址输出到文本中。
如:
192.168.10.4
192.168.10.5
....................
#!/bin/bash
echo "请输入IP地址 格式如:192.168.10.1/24"
read ip
h=`echo $ip|sed 's/.*\///'`
if [ $h -ge 24 ]&&[ $h -lt 32 ];then
var=$ip
q=` echo ${var%.*} `
for((i=1;i<255;i++))
do
ping -c 4 $q.$i |grep -q "ttl=" && echo "$q.$i" >>/~active
done
elif [ $h -ge 16 ]&&[ $h -lt 24 ];then
var=$ip
q=` echo ${var%.*} `
w=` echo ${q%.*} `
for((i=1;i<255;i++))
do
for((j=1;j<255;j++))
do
ping -c 4 $w.$i.$j |grep -q "ttl=" && echo "$w.$i.$j" >>/~active
done
done
elif [ $h -ge 8 ]&&[ $h -lt 16 ];then
var=$ip
e=` echo ${var%%.*} `
for((i=1;i<255;i++))
do
for((j=1;j<255;j++))
do
for((x=1;x<255;x++))
do
ping -c 4 $d |grep -q "ttl=" && echo "$e.$i.$j.$x" >>/~activ
e
done
done
done
else
echo "输入有误!"
fi