局域网中分了很多网段,而IP地址使用情况也未知,前期也没有规划和记录,当新的主机需要使用固定IP的时候,能否第一时间知道哪个IP空闲就显得很重要了,如果一个一个去ping的话太浪费时间。
这里分享一个shell脚本检测当前哪些IP在用和不在用。
脚本如下:
#!/bin/bash #先生成一个网段的IP文本 ippre="192.168.10." for i in {1..254} do echo "${ippre}$i" >>ip.txt done #从文件中读取IP地址并调用ping,一个网段检测下来12秒左右。 iplist=$(cat ip.txt) timestart=$(date "+%H:%M:%S") for i in $iplist do { ping -c 2 $i 2>&1 >/dev/null if [ `echo $?` -eq 0 ] then echo "online host $i" >>192.168.10.on.txt else echo "offline host $i" >>192.168.10.off.txt fi } & done wait timeend=$(date +"%H:%M:%S") echo $timestart echo $timeend