您的位置:首页 > 运维架构 > Shell

用shell查找局域网里哪些IP被占用

2011-12-03 23:23 204 查看
#!/bin/bash

IP=192.168.1 #定义变量

for i in `seq 0 255` #for循环,查找192.168.1.0-255的所有地址

#for i in 192.168.1.{1,254}

do

ping -c 2 $IP.$i > /dev/null 2>&1 #ping 只发两个包,要不然不会自动结束,另外将屏幕输出信息重定向

if [ `echo $?` -eq 0 ];then #使用 echo$?判断命令执行结果的返回值

echo -n "

$IP.$i is online

"

else

echo -n "

$IP.$i is offline

"

fi

done

这种查找方法比较简单,当然还有其他方法,如果要通过提取关键字的话,还需要使用多个管道符,相对来说降低了处理速度,所以不建议使用那种方式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: