Probar un puerto y hacer banner grabbing
Probar si un puerto responde
El uso más cotidiano de netcat es responder una pregunta simple: ¿este servicio está escuchando? Antes de culpar a la aplicación, conviene saber si siquiera hay alguien al otro lado del puerto. Netcat lo resuelve en un segundo con la opción -z, que intenta la conexión sin enviar ningún dato, y -v, que explica el resultado en palabras.
nc -z -v 192.0.2.10 443
# salida típica si está abierto:
Connection to 192.0.2.10 443 port [tcp/https] succeeded!Si el puerto estuviera cerrado o filtrado, vería un mensaje de conexión rechazada o la orden se quedaría esperando hasta agotar el tiempo. Para no esperar de más, agregue -w con los segundos de espera.
nc [opciones] <host> <puerto>| Opción | Qué hace | Ejemplo |
|---|---|---|
-z | Solo comprueba el puerto, sin enviar datos | nc -z 192.0.2.10 443 |
-v | Muestra detalles del intento (verbose) | nc -z -v 192.0.2.10 22 |
-w | Fija un tiempo de espera en segundos | nc -z -w 3 192.0.2.10 8080 |
-u | Usa UDP en lugar de TCP | nc -u -z 192.0.2.10 53 |
Puede comprobar un rango de puertos de una máquina suya en un bucle:
for p in 22 80 443 3306; do
nc -z -w 2 192.0.2.10 "$p" && echo "puerto $p abierto"
doneBanner grabbing: ¿qué servicio es?
Saber que un puerto está abierto es la mitad; la otra mitad es saber qué hay detrás. Muchos servicios, al conectarse, se presentan con un banner: una línea que suele delatar el programa y su versión. A eso se le llama banner grabbing y es legítimo contra servicios propios para inventariar lo que corre en su red.
nc 192.0.2.10 22
# un servidor SSH suele saludar así:
SSH-2.0-OpenSSH_9.6Con servicios HTTP no hay saludo automático: usted pide algo y el servidor responde con sus cabeceras, donde a menudo aparece el nombre del servidor web.
printf 'HEAD / HTTP/1.0\r\n\r\n' | nc 192.0.2.10 80
# respuesta típica:
HTTP/1.0 200 OK
Server: nginx/1.24.0
Date: Mon, 27 Oct 2026 14:03:11 GMTEl printf arma la petición y la tubería se la entrega a netcat, que la envía y le muestra la respuesta. Para un defensor, esta misma técnica sirve para auditar qué versiones expone su propia infraestructura y detectar servicios viejos que habría que actualizar.
Errores frecuentes
Si -z le da error, su variante de netcat quizá no lo soporta: pruebe con ncat o compruebe con nc -h. Y recuerde que un puerto abierto no significa un servicio vulnerable; solo significa que algo escucha ahí.