Netcat es una utilidad de red con la ayuda del protocolo TCP/IP que lee y escribe datos a través de conexiones de red. Netcat está diseñado como una herramienta de back-end segura y se puede usar para enviar archivos de un cliente a un servidor y viceversa directamente con otros programas y scripts.
Al mismo tiempo, es una plataforma de depuración y exploración de redes rica en funciones que pueden definir parámetros de red y al mismo tiempo crear una conexión de túnel a un host remoto.
Aunque Netcat puede hacer muchas cosas, su objetivo principal y las características más deseables son las siguientes:
Para instalar Netcat en cualquier distribución de Linux basadas en Debian podéis utilizar el siguiente comando:
sudo apt-get install netcat
Descargar Netcat para Windows:
En primer lugar, debemos tener en cuenta que cuando nos referimos a ponernos en escucha por un puerto con Netcat, lo que estamos haciendo es convertir nuestro equipo como un servidor. De esta forma
podremos recibir datos desde el Cliente.
Para convertir nuestro Pc en servidor y ponernos en escucha por un puerto predeterminado utilizaremos la siguiente sintaxis:
nc -l -p [Puerto en Escucha]
Recordar que las opciones se pueden agrupar en una sola flag -lp .
nc -lp 443
Para hacer la escucha más eficiente, podemos añadir la opción de verbose -v y -n para evitar que aplique resolución DNS.
nc -lvnp 443
Para conectarnos a través de un servidor a un puerto abierto previamente (como por ejemplo un puerto puesto en escucha con el comando anterior) desde el lado del cliente:
nc localhost [Puerto Abierto al que queremos Conectarnos]
nc localhost 443
Una vez se haya establecido la conexión, podremos escribir desde el cliente al servidor:
nc localhost 443
Después de introducir el comando y establecer la conexión ya podemos escribir por ejemplo «Hola Mundo» desde el lado del cliente:
Y si estamos en escucha por el puerto 443 en otra consola, veremos como nos llega el mensaje «Hola Mundo».
Podemos consultar todas las opciones de la herramienta Netcat utilizando el comando nc -h.