Este código no es de mucha utilidad per se, solo es una prueba de concepto de como podríamos sacar todas las IP’s de un rango dado:
#!/bin/bash
#comprobamos que han introducido al menos un parametro
if [ -z $1 ]
then
echo "No ha especificado ningun parametro. Por favor incluya la IP origen del rango y la IP final del rango"
else
if [ -z $2 ]
then
echo "Debe introducir como segundo parámetro la IP final del rango"
else
let BIT1=`echo $1 | cut -d "." -f 1`
let BIT2=`echo $1 | cut -d "." -f 2`
let BIT3=`echo $1 | cut -d "." -f 3`
let BIT4=`echo $1 | cut -d "." -f 4`
let BIT11=`echo $2 | cut -d "." -f 1`
let BIT12=`echo $2 | cut -d "." -f 2`
let BIT13=`echo $2 | cut -d "." -f 3`
let BIT14=`echo $2 | cut -d "." -f 4`
while [ "$BIT4" -lt "$BIT14" ]; do
echo "nmap $BIT1.$BIT2.$BIT3.$BIT4"
let "BIT4 = $BIT4 + 1"
done
while [ "$BIT3" -lt "$BIT13" ]; do
echo "nmap $BIT1.$BIT2.$BIT3.$BIT4"
let BIT4=`echo $1 | cut -d "." -f 4`
while [ "$BIT4" -lt "$BIT14" ]; do
echo "nmap $BIT1.$BIT2.$BIT3.$BIT4"
let "BIT4 = $BIT4 + 1"
done
let "BIT3 = $BIT3 + 1"
done
while [ "$BIT2" -lt "$BIT12" ]; do
echo "nmap $BIT1.$BIT2.$BIT3.$BIT4"
let "BIT2 = $BIT2 + 1"
let BIT3=`echo $1 | cut -d "." -f 3`
while [ "$BIT3" -lt "$BIT13" ]; do
echo "nmap $BIT1.$BIT2.$BIT3.$BIT4"
let "BIT3 = $BIT3 + 1"
let BIT4=`echo $1 | cut -d "." -f 4`
while [ "$BIT4" -lt "$BIT14" ]; do
echo "nmap $BIT1.$BIT2.$BIT3.$BIT4"
let "BIT4 = $BIT4 + 1"
done
done
done
while [ "$BIT1" -lt "$BIT11" ]; do
echo "nmap $BIT1.$BIT2.$BIT3.$BIT4"
let "BIT1 = $BIT1 + 1"
let BIT2=`echo $1 | cut -d "." -f 2`
while [ "$BIT2" -lt "$BIT12" ]; do
echo "nmap $BIT1.$BIT2.$BIT3.$BIT4"
let "BIT2 = $BIT2 + 1"
let BIT3=`echo $1 | cut -d "." -f 3`
while [ "$BIT3" -lt "$BIT13" ]; do
echo "nmap $BIT1.$BIT2.$BIT3.$BIT4"
let "BIT3 = $BIT3 + 1"
let BIT4=`echo $1 | cut -d "." -f 4`
while [ "$BIT4" -lt "$BIT14" ]; do
echo "nmap $BIT1.$BIT2.$BIT3.$BIT4"
let "BIT4 = $BIT4 + 1"
done
done
done
done
fi
fi
3 comments for “[Bash] Listado IP’s”