Cómo ver todos los dispositivos en tu red con nmap

¿Crees que sabes lo que está conectado a tu red doméstica? Te sorprenderías realmente. Debes aprender cómo usar nmap en Linux, lo que te permitirá explorar todos los dispositivos conectados a tu red.

Puede pensar que tu red doméstica es bastante simple, y no hay nada que aprender de echarle un vistazo más profundo.

Puede que tengas razón, pero es probable que aprendas algo que no sabías. Con la proliferación de dispositivos de Internet de las cosas, dispositivos móviles como teléfonos y tabletas y la revolución de casas inteligentes. Además de los dispositivos de red “normales” como enrutadores de banda ancha, computadoras portátiles y computadoras de escritorio, esto podría ser una revelación.

Si lo necesitas, debes instalar nmap

Vamos a usar el comando nmap. Dependiendo de qué otros paquetes de software hayas instalado en tu computadora, es posible que nmap ya esté instalado en tu computadora. Si no, así es como puedes instalarlo en Ubuntu.

Así se instala en Fedora.

Si usas Manjaro, así se instala.

Puedes instalarlo en otras versiones de Linux utilizando el administrador de paquetes para tus distribuciones de Linux.

Encontrar tu dirección IP

La primera tarea es descubrir cuál es la dirección IP de tu computadora Linux. Hay una dirección IP mínima y máxima que tu red puede usar. Este es el alcance o rango de direcciones IP para tu red.

Tendremos que proporcionar direcciones IP o un rango de direcciones IP a nmap, por lo que necesitamos saber cuáles son esos valores.

Prácticamente, Linux proporciona un comando llamado ip y tiene una opción llamada addr (dirección). Escribe ip, un espacio addr, y presiona Enter.

En la sección inferior de la salida, encontrarás tu dirección IP. Está precedida por la etiqueta “inet“.

La dirección IP de esta computadora es “192.168.4.25”. El “/24” significa que hay tres conjuntos consecutivos de ocho 1 en la máscara de subred. (y 3 x 8 = 24.)

En binario, la máscara de subred es:

y en decimal es 255.255.255.0.

La máscara de subred y la dirección IP se utilizan para indicar qué parte de la dirección IP identifica la red y qué parte identifica el dispositivo. Esta máscara de subred informa al hardware que los primeros tres números de la dirección IP identificarán la red y la última parte de la dirección IP identifica los dispositivos individuales. El número más grande que puede contener en un número binario de 8 bits es 255. El rango de direcciones IP para esta red será de 192.168.4.0 a 192.168.4.255.

Todo eso está encapsulado en el “/24”. Afortunadamente, nmap funciona con esa notación, por lo que tenemos lo que necesitamos para comenzar a usar nmap.

Iniciando con nmap

nmap es una herramienta de mapeo de red. Funciona enviando varios mensajes de red a las direcciones IP en el rango que le proporcionaremos. Puede deducir mucho sobre el dispositivo que está probando al juzgar e interpretar el tipo de respuestas que obtiene.

Iniciemos un escaneo simple con nmap. Vamos a utilizar la opción –sn (escanear sin puerto). Esto le indica a nmap que no pruebe los puertos en los dispositivos por ahora. Hará un escaneo ligero y rápido.

Aun así, puede llevar un poco de tiempo a nmap ejecutar el escaneo. Por supuesto, cuantos más dispositivos tengas en la red, más tardará. Primero realiza todo su trabajo de pruebas y reconocimiento y luego presenta sus hallazgos una vez que se completa la primera fase.

No te sorprenda cuando no pase nada visible durante un minuto más o menos.

La dirección IP que vamos a usar es la que obtuvimos usando el comando ip anteriormente, pero el número final se establece en cero. Esa es la primera dirección IP posible en esta red. El “/24” le dice a nmap que escanee todo el rango de esta red.

El parámetro “192.168.4.0/24” se traduce como “comenzar en la dirección IP 192.168.4.0 y trabajar directamente a través de todas las direcciones IP hasta 192.168.4.255 inclusive”.

Ten en cuenta que estamos usando sudo.

Después de una breve espera, la salida se muestra en la ventana de la terminal.

Uso de sudo

Puedes ejecutar este análisis sin usar sudo, pero el uso de sudo garantiza que pueda extraer tanta información como sea posible. Sin sudo este escaneo no devolvería la información del fabricante, por ejemplo.

La ventaja de usar la opción –sn, además de ser un escaneo rápido y liviano, es que le brinda una lista ordenada de las direcciones IP en vivo. En otras palabras, tenemos una lista de los dispositivos conectados a la red, junto con su dirección IP. Y donde sea posible, nmap ha identificado al fabricante. Eso no está mal para el primer intento.

Aquí está el resultado final.

Resultados

Hemos establecido una lista de los dispositivos de red conectados, por lo que sabemos cuántos hay. Hay 15 dispositivos encendidos y conectados a la red. Conocemos al fabricante de algunos de ellos. O, como observamos, tenemos lo que nmap ha informado como fabricante, lo mejor que podemos.

Cuando revises tus resultados, es probable que veas dispositivos que reconoces. Puede haber algunos que no. Estos son los que necesitamos investigar más a fondo.

Lo que algunos de estos dispositivos son claros para mí. La Fundación Raspberry Pi se explica por sí misma. El dispositivo de Amazon Technologies será mi Echo Dot. El único dispositivo Samsung que tengo es una impresora láser, por lo que se reduce.

Hay un par de dispositivos listados como fabricados por Dell. Esos son fáciles, es una PC y una computadora portátil. El dispositivo Avaya es un teléfono de voz sobre IP que me proporciona una extensión del sistema telefónico en la oficina central. Les permite molestarme en casa más fácilmente, así que estoy al tanto de ese dispositivo.

Pero todavía me quedan preguntas.

Hay varios dispositivos con nombres que no significan nada para mí. Liteon technology and Elitegroup Computer systems, por ejemplo.

Tengo (forma) más de un Raspberry PI. La cantidad de personas que están conectadas a la red siempre variará porque se cambian continuamente dentro y fuera de servicio a medida que se vuelven a crear imágenes y se vuelven a utilizar. Pero definitivamente, debería aparecer más de uno.

Hay un par de dispositivos marcados como Desconocidos. Obviamente, necesitarán investigarse.

Realizar un escaneo más profundo

Si eliminamos la opción –sn de nmap, también intentaremos probar los puertos en los dispositivos. Los puertos son puntos finales numerados para conexiones de red en dispositivos.

Considéralos como un bloque de apartamentos. Todos los apartamentos tienen la misma dirección (el equivalente de la dirección IP), pero cada apartamento tiene su propio número (el equivalente del puerto).

Cada programa o servicio dentro de un dispositivo tiene un número de puerto. El tráfico de red se entrega a una dirección IP y a un puerto, no solo a una dirección IP.

Algunos números de puerto están preasignados o reservados. Siempre se usan para transportar tráfico de red de un tipo específico. El puerto 22, por ejemplo, está reservado para las conexiones SSH y el puerto 80 está reservado para el tráfico web HTTP.

Vamos a usar nmap para escanear los puertos en cada dispositivo y te dice cuáles están abiertos.

Esta vez estamos obteniendo un resumen más detallado de cada dispositivo. Nos dicen que hay 13 dispositivos activos en la red. Espera un minuto; Teníamos 15 dispositivos hace un momento.

La cantidad de dispositivos puede variar a medida que ejecutas estos escaneos. Probablemente se deba a que los dispositivos móviles llegan y salen de las instalaciones, o al encendido y apagado de equipos.

Además, ten en cuenta que cuando enciendes un dispositivo que se ha apagado, es posible que no tenga la misma dirección IP que la última vez que estuvo en uso. Podría, pero podría no serlo.

Es mucha información de salida. Hagamos eso de nuevo y captúralo en un archivo.

Y ahora podemos listar el archivo con less y buscarlo si lo deseamos.

Resultados

A medida que te desplazas por el informe de nmap, debes buscar cualquier cosa que no puedas explicar o que parezca inusual. Cuando revises su lista, toma nota de las direcciones IP de cualquier dispositivo que desees investigar más a fondo.

Según la lista que generamos anteriormente, 192.168.4.10 es una Raspberry Pi. Se ejecutará una distribución de Linux u otra. Entonces, ¿qué está usando el puerto 445? Se describe como “microsoft-ds”. Microsoft, en un Pi con Linux? Ciertamente lo estaremos investigando.

192.168.4.11 fue etiquetado como “Desconocido” en el análisis anterior. Tiene muchos puertos abiertos; Necesitamos saber qué es eso.

192.168.4.18 también se identificó como una Raspberry Pi. Pero ese Pi y el dispositivo 192.168.4.21 tienen el puerto 8888 abierto, que se describe como utilizado por “sun-answerbook”. Sun AnswerBook es un sistema de recuperación de documentación retirado (elemental) de muchos años. No hace falta decir que no tengo eso instalado en ningún lado. Eso necesita revisarse.

El dispositivo 192.168.4.22 se identificó anteriormente como una impresora Samsung, que se verifica aquí mediante la etiqueta que dice “impresora”. Lo que me llamó la atención fue el puerto HTTP 80 presente y abierto. Este puerto está reservado para el tráfico del sitio web. ¿Mi impresora tiene incorporado un sitio web?

Según los informes, el dispositivo 192.168.4.31 es fabricado por una compañía llamada Elitegroup Computer Systems. Nunca he oído hablar de ellos, y el dispositivo tiene muchos puertos abiertos, así que lo investigaremos.

Cuantos más puertos tenga abierto un dispositivo, más posibilidades tiene un ciberdelincuente de ingresar, si estás expuesto directamente a Internet. Es como una casa, cuantas más puertas y ventanas tenga, más puntos potenciales de entrada tendrá un ladrón.

Tenemos a los sospechosos; Hagámoslos hablar

El dispositivo 192.168.4.10 es una Raspberry Pi que tiene el puerto 445 abierto, que se describe como “microsoft-ds”. Una búsqueda rápida en Internet revela que el puerto 445 generalmente está asociado con Samba.

Samba es una implementación de software libre del protocolo Server Message Block (SMB) de Microsoft. SMB es un medio para compartir carpetas y archivos en una red.

Esto tiene sentido; Utilizo ese Pi en particular como una especie de mini dispositivo de almacenamiento conectado a la red (NAS). Utilizo Samba para poder conectarme desde cualquier computadora en mi red. Ok, eso fue fácil. Uno menos, varios más por recorrer.

Dispositivo desconocido con muchos puertos abiertos

El dispositivo con la dirección IP 192.168.4.11 tenía un fabricante desconocido y muchos puertos abiertos.

Podemos usar nmap de forma más agresiva para intentar obtener más información del dispositivo. La opción -A (escaneo agresivo) obliga a nmap a usar la detección del sistema operativo, la detección de versiones, el escaneo de scripts y la detección de traceroute.

La opción –T (plantilla de tiempo) nos permite especificar un valor de 0 a 5. Esto establece uno de los modos de tiempo. Los modos de sincronización tienen grandes nombres: paranoico (0), astuto (1), cortés (2), normal (3), agresivo (4) y loco (5). Cuanto menor sea el número, menor será el impacto de nmap en el ancho de banda y otros usuarios de la red.

Ten en cuenta que no estamos proporcionando a nmap un rango de IP. Nos estamos centrando con nmap en una sola dirección IP, que es la dirección IP del dispositivo en cuestión.

En la máquina utilizada para investigar este artículo, nmap tardó nueve minutos en ejecutar ese comando. No te sorprenda si tienes que esperar un tiempo antes de ver alguna salida.

Desafortunadamente, en este caso, el resultado no nos da las respuestas fáciles que esperábamos.

Dudas aun

Una cosa adicional que hemos aprendido es que está ejecutando una versión de Linux. En mi red eso no es una gran sorpresa, pero esta versión de Linux es extraña. Parece ser bastante viejo. Linux se usa en casi todos los dispositivos de Internet de las cosas, por lo que podría ser una pista.

Más abajo en la salida nmap nos dio la dirección de Media Access Control (dirección MAC) del dispositivo. Esta es una referencia única que se asigna a las interfaces de red.

Los primeros tres bytes de la dirección MAC se conocen como el Identificador Único de organización (OUI). Esto se puede utilizar para identificar al proveedor o fabricante de la interfaz de red.

Mi utilidad dice que pertenece a Google. Con la pregunta anterior sobre la versión peculiar de Linux y la sospecha de que podría ser un dispositivo de Internet de las cosas, esto señala el dedo de manera justa y directa a mi mini altavoz inteligente Google Home.

Puedes hacer el mismo tipo de búsqueda de OUI en línea, utilizando la página de búsqueda de fabricantes de Wireshark.

Alentador, eso coincide con mis resultados.

Una forma de estar seguro acerca de la identificación de un dispositivo es realizar un escaneo, apagar el dispositivo y escanear nuevamente. La dirección IP que ahora falta en el segundo conjunto de resultados será el dispositivo que acabas de apagar.

¿Sun AnswerBook?

El siguiente misterio fue la descripción de “sun-answerbook” para la Raspberry Pi con la dirección IP 192.168.4.18. La misma descripción de “sun-answerbook” se mostraba para el dispositivo en 192.168.4.21. El dispositivo 192.168.4.21 es una computadora de escritorio Linux.

Nmap hace su mejor conjetura sobre el uso de un puerto de una lista de asociaciones de software conocidas. Por supuesto, si alguna de estas asociaciones de puertos ya no es aplicable (tal vez el software ya no esté en uso y haya finalizado su vida útil), puedes obtener descripciones de puertos engañosas en tus resultados de escaneo.

Ese fue probablemente el caso aquí, el sistema Sun AnswerBook se remonta a principios de la década de 1990, y no es más que un recuerdo lejano.

Entonces, si no se trata de un antiguo software de Sun Microsystems, ¿qué podrían tener en común estos dos dispositivos, el Raspberry Pi y el dispositivo de escritorio?

Las búsquedas en Internet no devolvieron nada que fuera útil. Hubo muchos éxitos. Parece que cualquier cosa con una interfaz web que no quiera usar el puerto 80 parece optar por el puerto 8888 como alternativa. Entonces, el siguiente paso lógico fue intentar conectarse a ese puerto usando un navegador.

Usé 192.168.4.18:8888 como dirección en mi navegador. Este es el formato para especificar una dirección IP y un puerto en un navegador. Utiliza dos puntos : para separar la dirección IP del número de puerto.

De hecho, se abrió un sitio web.

Es el portal de administración para cualquier dispositivo que ejecute Resilio Sync.

Siempre uso la línea de comando, así que me había olvidado por completo de esta instalación. Por lo tanto, la lista de entradas de Sun AnswerBook era un señuelo, y el servicio detrás del puerto 8888 había sido identificado.

Un servidor web oculto

El siguiente problema que guardé para echar un vistazo fue el puerto HTTP 80 en mi impresora. Nuevamente, tomé la dirección IP de los resultados de nmap y la usé como una dirección en mi navegador. No necesitaba proporcionar el puerto; el navegador pasaría por defecto al puerto 80.

Aquí los resultados; mi impresora tiene un servidor web incorporado.

Ahora puedo ver el número de páginas que han pasado por él, el nivel de tóner y otra información útil o interesante.

Otro dispositivo desconocido

El dispositivo en 192.168.4.24 no reveló nada a ninguno de los escaneos de nmap que hemos probado hasta ahora.

He añadido la opción –Pn (sin ping). Esto hace a nmap suponer que el dispositivo objetivo está activo y continua con los otros escaneos. Esto puede ser útil para dispositivos que no reaccionan como se esperaba y confunden a nmap al pensar que están fuera de línea.

Esto recuperó algo de información, pero no había nada que identificara el dispositivo.

Se me informó que ejecutaba un kernel de Linux desde Mandriva Linux. Mandriva Linux fue una distribución que se suspendió en 2011. Sigue viviendo con una nueva comunidad que lo respalda, como OpenMandriva.

¿Otro dispositivo de Internet de las cosas, posiblemente? probablemente no, solo tengo dos, y ambos han sido contabilizados.

Un recorrido por cada habitación y un recuento de dispositivos físicos no me dieron nada. Busquemos la dirección MAC.

Entonces, resultó que era mi teléfono móvil.

Recuerda que puedes hacer estas búsquedas en línea, utilizando la página de búsqueda de fabricantes de Wireshark.

Elitegroup Computer Systems

Las últimas dos preguntas que tuve fueron sobre los dos dispositivos con nombres de fabricantes que no reconocí, estoy hablando de Liteon y Elitegroup Computer Systems.

Cambiemos de táctica. Otro comando que es útil para precisar la identidad de los dispositivos en tu red es arp.  arp se utiliza para trabajar con la tabla del Protocolo de resolución de direcciones en tu computadora con Linux. Se utiliza para traducir de una dirección IP (o nombre de red) a una dirección MAC.

Si arp no está instalado en tu computadora, puedes instalarlo así.

En Ubuntu, usa apt-get:

Para su uso de Fedora es con dnf:

En Manjaro debes usar pacman:

Para obtener una lista de los dispositivos y sus nombres de red, si se les ha asignado uno, simplemente debes escribir arp y presionar Enter.

Este es el resultado de mi máquina de investigación:

Los nombres en la primera columna son los nombres de las máquinas (también llamados nombres de host o nombres de red) que se han asignado a los dispositivos. Algunos de ellos los configuré (Nostromo, Cloudbase y Marineville, por ejemplo) y otros los configuró el fabricante (como Vigor.router).

La salida nos da dos medios de referencia cruzada con la salida de nmap. Debido a que las direcciones MAC de los dispositivos están en la lista, podemos consultar la salida de nmap para identificar más a fondo los dispositivos.

Además, debido a que puedes usar un nombre de máquina con ping y porque ping muestra la dirección IP subyacente, puedes hacer referencias cruzadas de nombres de máquinas a direcciones IP utilizando ping en cada nombre por turno.

Realizando pruebas

Por ejemplo, hagamos ping a Nostromo.local y descubramos cuál es su dirección IP. Ten en cuenta que los nombres de las máquinas no distinguen entre mayúsculas y minúsculas.

Debes usar Ctrl + C para detener el ping.

La salida nos muestra que su dirección IP es 192.168.4.15. Y ese es el dispositivo que apareció en el primer escaneo de nmap con Liteon como fabricante.

La compañía Liteon fabrica componentes informáticos que son utilizados por muchos fabricantes de computadoras. En este caso, es una tarjeta Wi-Fi Liteon dentro de una computadora portátil Asus.

Entonces, como notamos anteriormente, el nombre del fabricante que devuelve nmap es solo su mejor suposición. ¿Cómo iba a saber nmap que la tarjeta Wi-Fi Liteon estaba instalada en una computadora portátil Asus?

Y finalmente. La dirección MAC del dispositivo fabricado por Elitegroup Computer Systems coincide con la que figura en arp en la lista del dispositivo que he denominado LibreELEC.local.

Este es un Intel NUC que ejecuta el reproductor multimedia LibreELEC. Entonces, este NUC tiene una placa base de la compañía Elitegroup Computer Systems.

Y ahí estamos, todos los misterios resueltos.

Todos controlados

Hemos verificado que no hay dispositivos inexplicables en esta red. También puedes usar las técnicas descritas aquí para investigar tu red.

Puedes hacerlo por interés, para satisfacer a tu geek interno, o para asegurarte de que todo lo que está conectado a tu red tiene permiso de estar allí.

Recuerda que los dispositivos conectados vienen en todas las formas y tamaños. Pasé un tiempo dando vueltas y tratando de localizar un dispositivo extraño antes de darme cuenta de que era, de hecho, el reloj inteligente en mi muñeca.