Usos prácticos del comando nc(netcat) en Linux

Netcat es una de las poderosas herramientas de red, herramienta de seguridad o herramienta de monitoreo de red . Actúa como un comando de gato en una red. Incluso se considera como una navaja suiza de herramientas de red.
Generalmente se utiliza por las siguientes razones:

  • Operación relacionada con sockets de dominio TCP, UDP o UNIX
  • Escaneo de puertos
  • Puerto de escucha
  • Redirección de puertos
  • Conexiones remotas abiertas
  • Leer/escribir datos a través de la red
  • Depuración de red
  • Pruebas de demonios de red
  • Proxies TCP simples
  • Un comando de proxy HTTP o calcetines para ssh

Está diseñado teniendo en cuenta que debe ser una herramienta «back-end» flexible que pueda usarse directamente o ser impulsada por cualquier otro programa.

Instalación de la herramienta de monitoreo de procesos netcat(nc)

Para instalar la herramienta Netcat, use los siguientes comandos según su distribución de Linux.

En el caso de Debian/Ubuntu

$sudo apt-get install netcat

En el caso de CentOS/RHEL

$yum install nc 

En el caso de Fedora 22+ y RHEL 8

$dnf install nc

Trabajar con la herramienta de seguridad netcat

1. Para comenzar a escuchar en un puerto, primero abra 2 ventanas de terminal.

Terminal 1 para escuchar

$nc -l -p 1234

Solicitud de envío de terminal 2

$nc 127.0.0.1 1234

Nota: aquí el número de puerto es 1234 y el host predeterminado es localhost.

using netcat command to send message between two terminals

No mostrará nada, pero comenzará a escuchar el puerto 1234 en el host local desde la terminal 1. Y todo lo ingresado en la terminal 2 también se reflejará en la terminal 1, lo que confirma que la conexión se estableció correctamente.

2. Para transferir datos. Abra 2 ventanas de terminal.

Terminal 1 para escuchar

$nc -l -p 1234 >output.txt

Terminal 2 para enviar solicitud

$echo "GeeksforGeeks" >input.txt
$nc 127.0.0.1 1234 <input.txt

Nota: aquí el número de puerto es 1234 y el host predeterminado es localhost. Enviará los datos del archivo input.txt desde la terminal 2 al archivo output.txt en la terminal 1.

Transferring-the-Data-using-Netcat-Command-in-Linux-1

Transferring-the-Data-using-Netcat-Command-in-Linux-2

3. Para realizar la exploración de puertos. Ingrese el siguiente comando en la terminal.

Escaneo de un solo puerto

$netcat -z -v 127.0.0.1 1234

Escaneo de múltiples puertos

$nc -z -v 127.0.0.1 1234 1235

Exploración de un rango de puertos

$nc -z -v 127.0.0.1 1233-1240

Nota: Aquí los números de puerto son 1234, 1235, 1233 y 1240, puede cambiarlos según sus necesidades. Mostrará el número de puerto con el estado (abierto o no).

Port-Scanning-Using-Netcat-Command-in-Linux

4. Para enviar una solicitud HTTP

$printf “GET /nc.1 HTTPs/1.1\r\nHost: www.geeksforgeeks.org\r\n\r\n” | nc www.geeksforgeeks.org 80

Nota: Aquí el sitio web es www.geeksfrogeeks.org , puede elegir cualquiera. Enviará una solicitud HTTP a www.geeksfrogeeks.org .

To-send-an-HTTP-Request-Using-Netcat-Command-in-Linux

5. Retrasar el intervalo de envío de líneas. Abra 2 terminales como se muestra a continuación:

Terminal 1 para escuchar

$nc -l -p 1234

Solicitud de envío de terminal 2

$nc -i 5 127.0.0.1 1234

Nota: aquí el número de puerto es 1234 y el host predeterminado es localhost. El tiempo empleado es de 5 segundos. Cada uno será enviado después de 5 segundos de tiempo.

To delay the interval for lines sent using netcat command in Linux

Publicación traducida automáticamente

Artículo escrito por manav014 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 *