原创作品,允许转载,转载时请务必以超链接形式标明文章 、作者信息和本声明。否则将追究法律责任。
有的时候需要给服务器或者什么的配置一个静态IP地址又不知道那个IP地址没有被占用,这个时候使用这个脚本就很方便了。
#cat arping
#!/bin/bash IPaddr=192.168.0. ETHX=eth0 IPFILE=/root/arping.txt UPIPaddr=/tmp/ipup.txt DOWNIPaddr=/tmp/ipdown.txt >$IPFILE touch $DOWNIPaddr touch $UPIPaddr touch $IPFILE for IP in {1..254} do arping -I $ETHX -c 1 $IPaddr$IP >>$IPFILE done echo UPIPADDR echo " IPADDR MAC "; cat $IPFILE |grep reply |awk '{print $4" "$5}' |awk -F"[" '{print $1" "$2}' | awk -F"]" '{print $1" "$2}' | column -t >$UPIPaddr echo DOWNIPADDR IPTMP=/tmp/ip.txt IPTMP2=/tmp/ip2.txt grep -v ^'[S|R]' $IPFILE |awk -FARPING '{print $2}'|awk -Ffrom '{print $1}' |column -t >$IPTMP grep -v ^'[S|R]' $IPFILE |awk -F"Unicast reply from" '{print $2}'|awk '{print $1}'|uniq -c |awk '{print $2}' |uniq -c |awk '{print $2}'|column -t >$IPTMP2 cat $IPTMP $IPTMP2 |sort -t "." -k4,4n |uniq -u >$DOWNIPaddr VL=`wc -l $UPIPaddr |awk '{print $1}'` VL2=`wc -l $DOWNIPaddr |awk '{print $1}'` cat $UPIPaddr echo 目前有$VL台主机为活动状态 cat $DOWNIPaddr |paste -s echo 目前有$VL2个可用IP地址
请好用的,直接将已经开着的主机将IP地址与MAC地址对应列出来,并将没有使用的IP地址打印出来,有时候用的话时非常方便的。
NETIP=192.168.0.0/24 echo IPaddr" " status; nmap -sP $NETIP |grep up |awk '{print $3}' |awk -F"(" '{print $2}'|awk -F")" '{print $1" up" }' |column -t
本文出自 “” 博客,请务必保留此出处