Una vez más aquí. En esta ocasión vengo a dejar colocado un post sobre algo que me he encontrado en otra web y que me ha parecido muy interesante e útil. Se trata de un script en bash con el que los usuarios vamos a poder detectar rápidamente intrusiones en nuestra red obteniendo una lista de IP activas.
El script tan solo nos va a mostrar las ip conectadas (hostname o ip inversa si se da el caso). Esto datos tan simples son más que suficientes para identificar un extraño en nuestra red. La mayoría de los usuarios somos conscientes de la cantidad de dispositivos que tenemos conectados a nuestra red, por lo que si vemos que aparece más dispositivos que los que tenemos conectados, pues ya tenemos la fiesta montada y un objetivo sobre el que tomar medidas. Hay que decir que este script no nos va a permitir tomar medidas contra los intrusos, esto tendremos que hacerlo utilizando otras herramientas o medidas.
El único requisito para ejecutar el script en nuestro equipo es tener instalado “nmap“. Lo cual vamos a poder hacer de manera muy sencilla en nuestro Ubuntu.
Detectar las ip activas en tu red
Si no tienes instalado Nmap en Debian, Ubuntu, Linux Mint y derivados vas a poder hacerte con el abriendo una terminal (Ctrl+Alt+T) y escribiendo en ella el siguiente comando:
sudo apt install nmap
Cumplidos los requisitos previos, vamos a crear el script bash para detectar las IP activas en la red. Aquí cada cual que utilice el editor que más le guste, para este ejemplo yo utilizo vi.
vi scan.sh
Dentro del archivo, solo habrá que pegar el siguiente código:
#!/bin/bash # # scan.sh network= # Salir si no se encuentra nmap x=`which nmap 1> /dev/null 2>&1` if [ $? -eq 1 ] ; then echo "nmap no instalado" exit 1 fi # Encuentra redes disponibles netlist=`ip addr show | grep inet | awk '{print $2}' | egrep -v ^'fe80|127.0|::|fd0c'` cnt=1 echo "Redes disponibles:" ; echo echo " 0) Salir" for net in $netlist; do echo " $cnt) $net" cnt=`expr $cnt + 1` done echo # Seleccionar red para escanear netsel= while [ X"$netsel" = X ] ; do echo -n "select : " read netsel done if [ $netsel -eq 0 ] ; then exit 1 fi cnt=1 for net in $netlist ; do if [ $cnt -eq $netsel ] ; then network=`echo $net` break fi cnt=`expr $cnt + 1` done echo "Scaneando $network (un momento)..." ; echo network_s=`echo $network | awk -F "." '{print $1"."$2}'` nmap -sP ${network} | grep ${network_s} | awk -F " " '{print $5 $6}'
Cuando termines con el archivo, guarda y cierra el editor.
Tras finalizar la creación del archivo, ya podemos ejecutarlo. Esto podremos hacerlo escribiendo algo como:
sh ./scan.sh
Aquí se nos va a mostrar una opción para salir y la IP del equipo desde dónde ejecutamos el script. La terminal nos mostrará algo parecido a lo siguiente:
Tras seleccionar la IP de nuestro equipo, obtendremos la respuesta del script.
Como se puede ver en la anterior captura, veremos un listado de IP que se encuentran en nuestra red. Tendremos que asegurarnos de que las IP detectadas son nuestras, con lo que podremos estar seguros de que no tenemos a nadie conectado a nuestra red wifi.
4 Comentarios
una pregunta solo hace el escaneo en ese tipo de IP ?
o escaea IP-s de tipo A , B , C?
Hola. Solo sirve para este tipo de escaneo. Para lo que tú buscas, necesitarás una herramienta más completa que un script. Salu2.
Muy bueno.grachie
Gracias a ti por comentar. Salu2.