Escaneos básicos: hosts y puertos
Un escaneo se hace en dos tiempos: primero averigua qué equipos están vivos y luego, solo en esos, revisa los puertos. Hacerlo así evita perder minutos escaneando direcciones donde no hay nada. En esta lección verá la sintaxis general, el descubrimiento de hosts y el escaneo de puertos, con salidas reales que deberá aprender a leer.
Sintaxis general
La forma de invocar Nmap es siempre la misma: el programa, unas opciones y el objetivo.
nmap [OPCIONES] OBJETIVOEl objetivo puede ser una IP (192.0.2.50), un rango (192.0.2.1-50), una red completa en notación CIDR (192.0.2.0/24) o un nombre de dominio que usted controle. En esta píldora use siempre direcciones de su laboratorio.
Descubrir qué equipos están vivos
La opción -sn (scan, no port scan) hace host discovery: comprueba qué equipos responden y no toca ningún puerto. Es el primer paso para dibujar el mapa.
$ nmap -sn 192.0.2.0/24
Starting Nmap 7.94 ( https://nmap.org )
Nmap scan report for 192.0.2.1
Host is up (0.0012s latency).
Nmap scan report for 192.0.2.50
Host is up (0.0030s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 2.14 secondsAquí solo dos de las 256 direcciones respondieron: el router (192.0.2.1) y su máquina de laboratorio (192.0.2.50). A partir de acá se escanea esa última.
Escanear los puertos
Si ejecuta Nmap contra un equipo sin opciones de puerto, revisa los 1000 puertos TCP más comunes. Para ver todos los 65535, use -p-; para unos pocos concretos, -p 22,80,443.
$ nmap 192.0.2.50
Starting Nmap 7.94 ( https://nmap.org )
Nmap scan report for 192.0.2.50
Host is up (0.0025s latency).
Not shown: 997 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
445/tcp open microsoft-ds
Nmap done: 1 IP address (1 host up) scanned in 1.83 secondsLa columna STATE es la clave de toda la lección. Hay tres estados que verá todo el tiempo:
| Estado | Qué significa |
|---|---|
open | Un programa está escuchando ahí; es un canal activo |
closed | El equipo respondió, pero nadie escucha en ese puerto |
filtered | Un firewall descartó la sonda; Nmap no pudo decidir |
La diferencia entre closed y filtered importa mucho: closed significa que el equipo contestó "aquí no hay nada"; filtered significa que algo (casi siempre un firewall) se tragó el paquete y Nmap se quedó sin respuesta.
-sS y -sT: dos formas de preguntar
Para TCP, Nmap tiene dos técnicas principales que conviene conocer a nivel de concepto:
-sS(SYN scan): envía el primer paquete del saludo TCP (SYN) y, al recibir respuesta, corta antes de completar la conexión. Es rápido y algo más discreto, pero requiere privilegios de administrador. Es el escaneo por defecto cuando se ejecuta consudo.-sT(connect scan): completa la conexión TCP entera, apoyándose en el sistema operativo. No necesita privilegios, pero es más lento y deja más rastro en los registros del equipo escaneado.
No hace falta memorizar los detalles del saludo TCP ahora; basta recordar que -sS es el modo rápido con permisos y -sT el que funciona sin ellos. Ninguno de los dos "entra" en la máquina: solo tocan la puerta y anotan si contesta.