Netcat: uso básico y descripción general

Netcat es una utilidad de Unix que lee y escribe datos a través de conexiones de red utilizando el protocolo TCP o UDP
Las siguientes tareas se pueden realizar fácilmente con Netcat:

  • Conéctese a un puerto de un host de destino.
  • Escuche un determinado puerto para cualquier conexión entrante.
  • Envíe datos a través del cliente y el servidor una vez que se establezca la conexión.
  • Transfiera archivos a través de la red una vez que se establezca la conexión.
  • Puede ejecutar programas y scripts del cliente en el servidor y viceversa.
  • Puede proporcionar acceso de shell remoto del servidor a un cliente donde se pueden ejecutar comandos de shell.

Ejemplo 

Una simple conexión cliente-servidor:
 escriba este comando en la máquina del servidor. 

nc -l -p 1234

Aquí, nc significa Netcat, que llamamos el programa Netcat. 
La opción -l le dice al programa que escuche en un puerto especificado por la opción -p . En este caso, es 1234. Entonces, el comando también se puede escribir como, 

Ahora escriba lo siguiente en la máquina cliente o en la otra terminal:-

nc 127.0.0.1 1234

Esto creará una conexión TCP con la dirección IP (es decir, 127.0.0.1) en el puerto especificado (es decir, 1234). 

Algunas opciones importantes que se pueden usar con Netcat:

1. Verbose, imprime información adicional sobre la conexión.

#command for terminal 1
nc -vlp 1234
#command for terminal 2
nc -v 127.0.0.1 1234

El comando anterior en el cliente muestra que se ha conectado correctamente al servidor. Este comando también se puede usar para escanear un puerto del servidor si está abierto o no. 

2.  Después de la transferencia de datos, espere w segundos antes de terminar la conexión.

#command for terminal 1
nc -w 20 -lp 1234
#command for terminal 2
nc -w 2 127.0.0.1 1234

3. Para realizar chat simple y transferencia de datos.

#command for terminal 1
nc -lp 1234
#command for terminal 2
nc 127.0.0.1 1234

Use la secuencia de comando anterior para enviar los mensajes o datos de una terminal y una ip a la otra

4.  Para realizar la transferencia de archivos

#command for terminal 1 
nc -v -w 30 -l -p 1234 >manav.txt
#command for terminal 2
nc -v -w 2 127.0.0.1 1234<manav.txt

En este ejemplo, el servidor finalizará la conexión 30 segundos después de recibir el archivo. Si el archivo no está en el directorio actual, especifique la ruta completa. 

5. Para ejecutar el comando de shell después del establecimiento exitoso de la conexión

#command for terminal 1
nc -lp 1234 -c /bin/sh
#command for terminal 2
nc 127.0.0.1 1234

/bin/sh es un comando de Unix que proporciona un shell para ejecutar comandos de shell. Esto proporcionará un shell remoto al cliente, desde donde el cliente puede ejecutar el comando de shell en el servidor. 

Algunos puntos importantes sobre Netcat

  1. De forma predeterminada, Netcat utiliza una conexión TCP. Para establecer una conexión UDP se utiliza la opción -u .
  2. Sin la opción -w , la conexión no finaliza hasta que se sale del programa Netcat.
  3. La opción -n especifica una dirección IP numérica, no un nombre de dominio. Es decir, la opción -n permite solo una dirección IP con la que conectarse, pero no puede resolver un nombre de dominio en una dirección IP.
  4. La opción -k se usa en el modo de escucha para aceptar múltiples conexiones.

Publicación traducida automáticamente

Artículo escrito por SreejitBose y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *