写一个shell脚本:
实现ping C类网段,B类网段和A类网段内的所有主机;
网段地址让用户输入,而且通过脚本判断网段类型;
#!/bin/bash
#Author: MOS
#Script name: funPing.sh
#Date & Time: 2012-10-09/21:53:09
#Version: 1.0.1
#Description:
#
#定义C类网段处理函数
net_C(){
#定义统计不在线IP数量的变量
declare -i Fail=0
#生成C类网的最后位IP,循环ping
for i in `seq 1 254`;do
#ping只发送一个,只等待1秒,得到的所有信息并扔掉,仅去逻辑值
if ping -c 1 -W 1 $1.$i &> /dev/null ;then
echo "Online $1.$i"
else
let Fail++
fi
done
echo "No Online PC, Number is $Fail"
}
net_B(){
#截取B类网的网段
Bip=`echo $1|cut -d'.' -f1-2`
declare -i Fail=0
#循环生成B类网第三段
for i in `seq 0 254`;do
Res="$Bip.$i"
#循环生成B类网第四段
for r in `seq 1 254`;do
if ping -c 1 -W 1 $Res.$r &> /dev/null ;then
echo "Online $Res.$r"
else
let Fail++
fi
done
done
echo "No Online PC, Number is $Fail"
}
net_A(){
Bip=`echo $1|cut -d'.' -f1`
declare -i Fail=0
#生成A类网的第二段,第三段和第四段以此类推
for i in `seq 0 254`;do
Res="$Bip.$i"
for r in `seq 0 254`;do
Res1="$Res.$r"
for l in `seq 1 254`;do
if ping -c 1 -W 1 $Res1.$l &> /dev/null ;then
echo "Online $Res1.$l"
else
let Fail++
fi
done
done
done
echo "No Online PC, Number is $Fail"
}
read -p "Please input subset:" Ip
#判断输入IP段落是否合法