Las IP activas en tu red, detéctalas desde la terminal de Ubuntu

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

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.

Post relacionados

Aspirando Kodi. Un addon que buscar ser de ayuda para mantener Kodi en forma

Tecleando-Ando, una web para aprender mecanografía

DescargaX. Un programa para descargar contenido multimedia de X

4 Comentarios

mauricio 15 abril, 2021 - 9:41 PM
una pregunta solo hace el escaneo en ese tipo de IP ? o escaea IP-s de tipo A , B , C?
entreunosyceros 16 abril, 2021 - 10:10 AM
Hola. Solo sirve para este tipo de escaneo. Para lo que tú buscas, necesitarás una herramienta más completa que un script. Salu2.
Remi 27 abril, 2019 - 2:06 PM
Muy bueno.grachie
sapoclay 27 abril, 2019 - 5:19 PM
Gracias a ti por comentar. Salu2.
Añadir comentario