Linux: ¿Qué sistema operativo usan los ordenadores de mi red?

Hace unos días vimos cómo saber qué ordenadores estaban conectados a nuestra red local. Es una forma de saber si tenemos intrusos en nuestra red y es conveniente comprobarlo cada cierto tiempo (sobre todo si tenemos una red wifi).

Una vez tengamos el listado de los equipos conectados, si vemos alguno que no debería estar debemos empezar a actuar. Normalmente podemos echar a los que se han conectado a nuestro wifi cambiando la clave del router y reiniciándolo, usando WPA en lugar de WEP para mayor seguridad o filtrando por MAC (ojo, que las direcciones MAC se pueden falsear).

Averiguar el sistema operativo con nmap

Una vez tenemos localizada la posible IP intrusa (supongamos que es la 192.168.1.101) bastaría con hacer:

sudo nmap -O 192.168.1.101

Esto nos dará una información que puede ser similar a ésta:

Host is up (0.0093s latency).
Not shown: 996 closed ports
PORT     STATE    SERVICE
21/tcp   filtered ftp
23/tcp   filtered telnet
25/tcp   filtered smtp
3971/tcp open     lanrevserver
MAC Address: 00:22:F7:26:39:9D (Conceptronic)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.13 - 2.6.32
Network Distance: 1 hop

Vemos que ha habido suerte y ya tenemos el sistema operativo aproximado que usa el ordenador en cuestión.

Una anécdota

Os voy a contar un caso curioso que me sucedió hace un tiempo. En una red descubrieron que había conectado un equipo que no tenían identificado. Dicho equipo estaba conectado no a través de Wifi sino de cable. Gracias al nmap descubrieron que el misterioso ordenador funcionaba con alguna versión de Linux. El problema es que ellos, salvo el router, usaban MS Windows en todos los equipos.

Se dispararon todas las alarmas y empezó la caza del intruso. Hicieron un inventario de todos los equipos con sus IP, se comprobaron todos los ordenadores por si alguno tenía alguna máquina virtual instalada, e incluso revisaron todo el cableado por si alguien había instalado algún dispositivo “extraño” oculto.

Cuando estaban en medio de la investigación me avisaron a ver si se me ocurría algo. Al final resultó que en el almacén tenían otro router del que nadie se acordaba (al almacén no entraba nadie de la oficina) y esa era la misteriosa máquina con Linux.

Linux: ¿Cómo puedo saber qué máquinas hay conectadas en mi red local?

La forma sencilla de averiguarlo es entrando en el panel de control del router y buscar una pesataña o un lugar donde diga “Attached devices”, “Dispositivos conectados” o algo similar.

En muchos casos es posible que no tengamos acceso al router por lo que habría que buscar otras formas.

Detectar ordenadores en mi red local desde la consola

El primer paso es saber qué formato tienen las IP de nuestra red. Abrimos una consola y tecleamos:

$ ifconfig

que mostrará algo como:

eth1      Link encap:Ethernet  HWaddr 00:24:2b:a5:7d:b3  
          inet addr:192.168.1.103  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::224:2bff:fea5:7db3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:23155 errors:0 dropped:0 overruns:0 frame:235583
          TX packets:17955 errors:19 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17069467 (17.0 MB)  TX bytes:2957881 (2.9 MB)
          Interrupt:19

Aquí vemos que la red tiene un formato 192.168.1.X y que la IP de broadcast (para buscar todos los equipos) es 192.168.1.255 (es la que viene justo detrás de Bcast:).

así que con estos datos podemos hacer:

$ ping -b 192.168.1.255

Este método no siempre funciona porque, por ejemplo, algunos equipos no responden a los pings. En mi red local no responde ninguno.

Detectar ordenadores con nmap

Si no te ha funcionado el anterior método no desesperes, hay otra forma. En la consola teclea:

sudo nmap -sP 192.168.1.1-254

nmap mostrará un resultado similar a éste:

Nmap scan report for 192.168.1.1
Host is up (0.0022s latency).
MAC Address: C1:3D:C7:82:38:AD (Netgear)
Nmap scan report for 192.168.1.101
Host is up (0.0026s latency).
MAC Address: 00:22:F7:26:39:9D (Conceptronic)
...
Nmap scan report for 192.168.1.108
Host is up (0.14s latency).
MAC Address: 44:33:4C:60:06:DA (Unknown)
Nmap scan report for 192.168.1.120
Host is up (0.030s latency).
MAC Address: B8:27:EB:D8:7E:37 (Raspberry Pi Foundation)

(sí, hay una Raspberry Pi en mi red).

Podemos ver que por cada dispositivo tenemos esta información:

Nmap scan report for 192.168.1.101
Host is up (0.0026s latency).
MAC Address: 00:22:F7:26:39:9D (Conceptronic)

Aquí tenemos la IP del dispositivo, su MAC y algo de información adicional (lo que aparece en el paréntesis).

Nota: Si no hubiésemos sacado el listado con sudo no tendríamos las direcciones MAC.