1、使用arping 来查看主机是否存活
2、脚本如下:
#!/bin/bash
for i in {1…254}
do
arping -c 3 “192.168.223.”$i &> /dev/null
if [ $? = 0 ]
then
echo “192.168.223.”$i “存活”
arping -c 1 “192.168.223.”$i | grep “reply” | awk ‘{print $4,$5}’ | awk -F ‘[’ ‘{print $1,$2}’ | awk -F ‘]’ ‘{print $1}’
else
echo “192.168.223.”$i “死了”
fi
done
3、解释一下代码
(1)先使用for循环来遍历1~254,也就是一个网段的主机
(2)然后arping来依次ping ,&> 把回显放到那个没用的文件中
(3)然后使用if来判断上面的指令是否成功,成功的话$?会输出0,输出其他数,全都是错误
(4)再然后就是成功输出提示,以及ip和mac,awk主要是为了得到没有其他东西的数据,后面两个更是为了去掉[],只是为了获得ip和mac倒也没必要写那么多
(5)最后,失败就是主机不存活