最近公司震动内网网络,需要收集一下那些IP没有用,网上搜了这个一个脚本,给大家分享一下:
#!/bin/bash IPar=10.20.221. IPFILE=/root/arping.txt UPIPaddr=/tmp/ipup.txt DOWNIPaddr=/tmp/ipdown.txt >$IPFILE $DOWNIPaddr touch $UPIPaddr touch $IPFILE for IP in {1..254} do arping -c 1 $IPaddr$IP >>$IPFILE done echo UPIPADDR echo " IPADDR MAC "; cat $IPFILE | reply |awk '{print $4" "$5}' |awk -F"[" '{print $1" "$2}' | awk -F"]" '{print $1" "$2}' | umn -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}'| -c |awk '{print $2}' |uniq -c |awk '{print $2}'|column -t >$IPTMP2 cat $IPTMP $IPTMP2 | -t "." -k4,4n |uniq -u >$DOWNIPaddr VL=` -l $UPIPaddr |awk '{print $1}'` VL2=`wc -l $DOWNIPaddr |awk '{print $1}'` cat $UPIPaddr echo 目前有$VL台主机为活动状态 cat $DOWNIPaddr | -s echo 目前有$VL2个可用IP地址 [root@localhost ~]# sh test.sh UPIPADDR IPADDR MAC DOWNIPADDR 10.20.221.6 00:05:1E:E6:64:91 10.20.221.7 00:05:1E:ED:2D:C6 10.20.221.9 00:25:9E:D2:B0:24 10.20.221.10 00:25:9E:D2:B0:90 10.20.221.11 00:10:5C:FA:F0:5A 10.20.221.12 00:50:56:88:55:53 10.20.221.13 00:50:56:88:5A:4A 10.20.221.14 00:10:5C:FA:F0:6C 10.20.221.238 00:50:56:7E:BA:29 10.20.221.239 00:50:56:75:97:B4 10.20.221.244 3C:E5:A6:B1:7F:5D 10.20.221.252 98:4B:E1:6F:F2:B4 目前有138台主机为活动状态 10.20.221.1 10.20.221.2 10.20.221.3 10.20.221.4 10.20.221.5 10.20.221.8 10.20.221.22 10.20.221.25 10.20.221.32 10.20.221.33 10.20.221.34 10.20.221.40 10.20.221.48 10.20.221.49 10.20.221.50 10.20.221.51 10.20.221.52 10.20.221.53 10.20.221.54 10.20.221.55 10.20.221.56 10.20.221.57 10.20.221.58 10.20.221.59 10.20.221.60 10.20.221.61 10.20.221.62 10.20.221.63 10.20.221.64 10.20.221.65 10.20.221.66 10.20.221.67 10.20.221.68 10.20.221.69 10.20.221.70 10.20.221.71 10.20.221.72 10.20.221.73 10.20.221.74 10.20.221.75 10.20.221.76 10.20.221.77 10.20.221.78 10.20.221.79 10.20.221.80 10.20.221.83 10.20.221.84 10.20.221.100 10.20.221.108 10.20.221.109 10.20.221.110 10.20.221.113 10.20.221.114 10.20.221.120 10.20.221.122 10.20.221.123 10.20.221.125 10.20.221.138 10.20.221.139 10.20.221.142 10.20.221.143 10.20.221.144 10.20.221.145 10.20.221.146 10.20.221.147 10.20.221.148 10.20.221.149 10.20.221.151 10.20.221.153 10.20.221.154 10.20.221.155 10.20.221.156 目前有118个可用IP地址 [root@localhost ~]#