Este script, lo que hará es simple pero útil, nos devolverá «disponible» si un IP esta libre después de intentar hacer ping.

En este ejemplo, se usara una red clase C, la típica para ejercicios, usaremos vim como editor de texto. Al invocar el script nos preguntara que rango queremos escanear y de ahí, podremos meter los resultados en un archivo con >> o simplemente leerlos en consola!

$ vim net_scanner.sh

Una ves dentro, escribimos esto:

#!/bin/bash
read -p "Introduce el rango a escanear: " RANGE;
for i in $(seq 1 254);
do EXISTS=`ping -w 3 -c 2 $RANGE.$i |grep 'time='`
if [ "$EXISTS" = "" ]
then
echo $RANGE.$i esta disponible.
fi
done
echo Listo!

Guardamos y damos permisos de escritura…

$ chmod +x net_scanner.sh
$ ./net_scanner.sh
Introduce el rango a escanear: 192.168.1
192.168.1.1 disponible.
192.168.1.2 disponible.
192.168.1.3 disponible.

Solo debemos tomar en cuenta que no se pone el ultimo punto de la red.