En Linux una de las herramientas más versátiles y poderosas para escanear redes es Nmap (Network Mapping), tiene muchas utilidades pero sólo se demostrará el escaneo de un red local (LAN), es muy simple, ocupa poco espacio en el disco ya que se utiliza en la línea de comandos y no en un entorno gráfico, generalmente se desprecia un poco las herramientas de un entorno no gráfico como la línea de comandos, ya que parecen antiguas o difíciles de interpretar, sin embargo, estas herramientas son tan poderosas como cualquier otra en entorno gráfico, solamente hay que saber utilizarlas e interpretarlas por ejemplo:
Antes de hacer cualquier procedimiento es necesario iniciar una sesión como root del sistema.
Sesión de Administrador
En Ubuntu:
$sudo su
password:
En otros entornos Linux:
$su
password:
Instalación
En distribuciones basadas en Debian:
#apt-get install nmap
En distribuciones basadas en RetHat:
#yum install nmap
Escaneo de un equipo
Escaneo de un equipo en la red LAN:
#nmap -sU -sT -O 192.168.1.1
Como se ve en la figura nmap se realiza con las siguientes opciones:
- -sU Esta opción permite escanear los puertos UDP del objetivo (luego veremos el porqué de todo esto)
- -sT Esta opción permite escanear los puertos TCP del objetivo.
- -O Esta opción detecta el sistema operativo que usa el objetivo, no es exacto pero es muy aproximado a lo real.
- 192.168.1.1 Dirección IP del equipo que será escaneado, generalmente esta dirección está asignada a la puerta de enlace, o gateway, también conocido popularmente como el módem.
El resultado es el siguiente:
Starting Nmap 5.00 ( http://nmap.org ) at 2011-11-19 18:11 PET
Interesting ports on 192.168.1.1:
Not shown: 1988 closed ports
PORT STATE SERVICE
21/tcp open ftp
23/tcp open telnet
80/tcp open http
443/tcp open https
1723/tcp open pptp
67/udp open|filtered dhcps
68/udp open|filtered dhcpc
123/udp open|filtered ntp
161/udp open|filtered snmp
520/udp open|filtered route
1900/udp open|filtered upnp
49152/udp open|filtered unknown
MAC Address: 00:0E:50:EE:D1:DC (Thomson Telecom Belgium)
Device type: broadband router
Running: Thomson embedded
OS details: Thomson ST 536i ADSL modem
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 123.83 seconds
La interpretación de esto aunque no lo parezca es muy simple, la primera línea indica cuando se inició el escaneo, la segunda muestra la IP del equipo, la tercera el núemro de puertos cerrados (no es importante), luego se ve lo siguiente:
- El puerto 21/tcp abierto con el servicio de ftp (servidor de archivos presente) para transferir archivos al modem/router.
- Puerto 23/tcp abierto con el servicio telnet (acceso telnet) para la administración remota telnet.
- Puerto 80/tcp abierto con el servicio http (servidor web presente) muy común para configurar el modem/router.
- Puerto 443/tco abierto https (web seguro).
- Puerto 1723/tcp abierto para uso de VPN's.
- Puertos 67/udp y 68/udp del servidor dhcp que asigna las direcciones ip a los hosts de la red LAN.
- Puerto 123/udp abierto con el servicio ntp, el servidor de tiempo.
- Puerto 161/udp abierto con el servicio snmp para el protocolo de administración de red.
- Puerto 520/udp abierto con el protocolo de información de rutas.
- Puerto 1900/udp abierto con el servicio de descubrimiento de dispositivos UPnP.
- Puerto 49152/udp abierto con una aplicación desconocida que posiblemente sea una conexión de Internet.
Seguidamente se ve la dirección MAC del dispositivo 00:0E:50:EE:D1:DC y en base a ésta el fabricante del dispositivo de red del equipo (Thomson Telecom Belgium). Luego se muestra el tipo de dispositivo que es un router broadband como ya lo sabíamos. Luego está ejecutándose el sistema operativo: Thomson embedded para routers, como algunos detalles tenemos Thomson ST 536i ADSL modem, que indica que efectivamente es un sistema operativo para un modem ADSL, también nos indica que el dispositivo está a un salto (1 hop) y finalmente se indica el número de dispositivos escaneados y el tiempo que duró el escaneo.
Escaneo de un grupo de equipos
Escaneo de un rango de equipos en nuestra red LAN:
#nmap -sU -sT -O 192.168.1.1-254
Como se puede ver ahora se elegimos un rango de direcciones IP de la 192.168.1.1 hasta la 192.168.1.254 pero se denota de otra forma más simple como se ve en la parte superior, el resultado mostrará el módem/router, la computadora que estamos usando y otras computadoras o dispositivos en la red, esto es muy útil al momento de detectar intrusos en nuestra red estén conectados de manera inalámbrica o cableada, o tal vez otra medio de conexión. Es decir podemos explorar nuestra red, detectar y conocer los dispositivos en ella.
El resultado puede no caber en la pantalla ya que puede ser muy extenso sin embargo podemos guardar la salida en un archivo de la siguiente forma:
#nmap -sU -sT -O 192.168.1.1-254 > archivo_nmap.txt
Y luego para visualizar el archivo usamos cualquier herramienta para editar o ver archivos de texto, como
less:
#less archivo_nmap.txt
Escaneo con ARP
Este tipo de escaneo se hace usando el protocolo ARP, es un escaneo más rápido y se usa generalmente cuando un escaneo normal, como los mostrados en los ejemplos anteriores, no da los resultados esperados, ya sea porque las computadoras de destino usan un firewall o algún método de protección.
#nmap -PR 192.168.1.0/24
# Nmap 5.21 scan initiated Thu Jul 17 10:15:32 2014 as: nmap -PR -oN scan123.txt 192.168.1.0/24
Nmap scan report for 192.168.1.1
Host is up (0.019s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
21/tcp open ftp
23/tcp open telnet
80/tcp open http
5431/tcp open park-agent
MAC Address: 98:F5:37:1E:19:51 (Unknown)
Nmap scan report for 192.168.1.35
Host is up (0.0097s latency).
Not shown: 992 filtered ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
554/tcp open rtsp
2869/tcp open unknown
5357/tcp open unknown
10243/tcp open unknown
49155/tcp open unknown
MAC Address: 28:E3:47:86:B9:0A (Unknown)
Nmap scan report for 192.168.1.43
Host is up (0.033s latency).
Not shown: 990 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
6881/tcp open bittorrent-tracker
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49156/tcp open unknown
49157/tcp open unknown
49158/tcp open unknown
MAC Address: 70:1A:04:F7:D8:BA (Liteon Tech)
# Nmap done at Thu Jul 17 10:16:13 2014 -- 256 IP addresses (5 hosts up) scanned in 40.69 seconds
Escaneo Ping
Este tipo de escaneo no hace más que mostrar las computadoras o dispositivos que están en línea (online), se recomienda ejecutarlo dos veces para poder tener un resultado más completo. Este escaneo es muy rápido y práctico.
# nmap -sP 192.168.1.0/24
# Nmap 5.21 scan initiated Thu Jul 17 10:25:52 2014 as: nmap -sP -oN scan1234.txt 192.168.1.0/24
Nmap scan report for 192.168.1.1
Host is up (0.0033s latency).
MAC Address: 98:F5:37:1E:19:51 (Unknown)
Nmap scan report for 192.168.1.35
Host is up (0.0043s latency).
MAC Address: 28:E3:47:86:B9:0A (Unknown)
Nmap scan report for 192.168.1.43
Host is up (0.0065s latency).
MAC Address: 70:1A:04:F7:D8:BA (Liteon Tech)
Nmap scan report for 192.168.1.100
Host is up (0.000064s latency).
MAC Address: 00:26:6C:4A:69:D1 (Inventec)
Nmap scan report for 192.168.1.239
Host is up.
# Nmap done at Thu Jul 17 10:26:27 2014 -- 256 IP addresses (5 hosts up) scanned in 34.73 seconds
Guardar resultados
Una forma de guardar el resultado es redireccionando la salida hacia un archivo de texto. Este método no muestra los resultados en la pantalla pero si los direcciona y guarda en el archivo de texto.
#nmap 192.168.0.1 > escaneo_nmap.txt
Otra forma es usando la opción -oN, que significa guardar la salida (o) en formato normal (N). Este método si muestra los resultados en la pantalla y también los guarda en el archivo de texto.
#nmap 192.168.0.1 -oN escaneo_nmap.txt
Conclusiones
Nmap es fácil de instalar, fácil de usar y sobre todo es una herramienta muy, pero muy poderosa, para ver las capacidades completas de nmap es necesario conocer todas sus opciones en su manual:
#man nmap