Hola amigos. Conocer la terminal Linux y sus comandos es una tarea básica de cualquier administrador de sistemas o DevOps. Por eso siempre es bueno de vez en cuando conocer nuevos comandos y sus utilidades. Esto nos permitirá disponer de nuevas funciones que pueden solucionar un problema en cualquier momento. Entonces, en esta publicación, aprenderá sobre el comando ncat.
Introducción al comando ncat
Según el man
Descripción de ncat
tenemos lo siguiente
Ncat es una utilidad de red repleta de funciones que lee y escribe datos en redes desde la línea de comandos.
Inicialmente, Ncat se escribió para el Proyecto Nmap y es la culminación de la familia actualmente fragmentada de encarnaciones de Netcat. Ahora es una herramienta que agrega muchas funciones y no está necesariamente vinculada a Nmap
.
Para muchos administradores de sistemas, es una utilidad de red tan completa que lee y escribe datos a través de redes, es decir, una verdadera navaja suiza.
Con Ncat podemos entre muchas otras cosas:
- Cadena de ncats.
- Reenvío de puertos TCP, UDP y SCTP a otros sitios.
- Conexiones de proxy a través de SOCKS4 o proxy HTTP.
- Escaneo de puertos.
- Verificación de conexión a hosts a través de puertos.
Todo ello, brindando soporte SSL para una mayor seguridad en los datos transmitidos.
Entonces, podemos usar Ncat para muchas cosas, como monitoreo de red y algunos puertos. Esto nos permite detectar algunos problemas de red y solucionarlos. También se puede utilizar para auditar la seguridad de sistemas, servidores web, servidores de correo, entre otros.
Entonces, vamos a por ello.
Instalar el comando Ncat
Antes de usar el comando, tenemos que instalarlo en el sistema.
En el caso de Debian, Ubuntu y algunos derivados, suele estar instalado por defecto, pero puedes asegurarte de ello ejecutando
sudo apt update sudo apt install ncat
En RHEL 7, CentOS 7 y derivados
sudo yum install nmap-ncat
Si usa RHEL 8, CentOS 8, AlmaLinux 8, RockyLinux 8
sudo dnf install nmap-ncat
De esta manera, ya tiene el paquete instalado y puede usar el comando.
Usando el comando Ncat
El comando tiene muchos usos, así que vamos a darte algunos ejemplos útiles de cómo usarlo.
Saber si un puerto está en uso
Para averiguar si un puerto está en uso en el host, podemos usar la siguiente sintaxis
ncat -l [host] [port]
Dónde en el host
campo podemos especificar la dirección IP del servidor o directamente el nombre de dominio.
De esta forma podemos averiguar qué puertos se están ejecutando en el host rápidamente.
Otra forma de hacerlo es la siguiente
ncat -vz [host] [port]
En este caso, se realizará una prueba y, si el puerto está activo, se cerrará la conexión. Este método es un poco más eficiente.
Hacer una conexión remota a un host
Similar a Telnet, podemos conectarnos de forma remota a un host especificando un puerto. Para ello debemos seguir esta sintaxis
ncat -v [host] [port]
Por ejemplo
ncat -v example.com 443
En este caso, se realizará una conexión remota al host en ese puerto. Y obtendrá una pantalla de salida similar a esta
Ncat: Connected to x.x.x.x.x:443
Esto indica que el comando funcionó correctamente.
Hacer conexiones con el protocolo UDP .
Por defecto, Ncat usa TCP
para hacer conexiones de prueba. Pero es posible especificar otro protocolo como UDP
. Para hacerlo, simplemente use -u
opción como esta
ncat -l -u 161
Donde en este caso examinará si su computadora tiene el 161
puerto UDP
abierto.
Además, puede especificar un host para realizar la verificación de forma remota.
ncat -v -u [host] [port]
Copiar archivos de forma remota
Aunque para este caso contamos con herramientas más especializadas como scp
o sftp
también podemos usar Ncat para esto aunque es algo menos probable.
Primero, debe conectarse al host y transmitirle el archivo.
ncat -l 80 > file.txt
Y ahora, en la máquina que enviará el archivo, ejecute
ncat [host] --send-only < data.txt
El archivo data.txt
se refiere al archivo que desea enviar. El comando anterior lo enviará y cerrará la conexión con el host.
Reenvío de puertos con Ncat
Para reenviar puertos usando esta herramienta, puede seguir esta sintaxis.
ncat -u -l [port1] -c 'ncat -u -l [port2]'
De esta manera simple, puede redirigir todo el tráfico desde [port1]
a [port2]
.
Conclusión
Entonces, puede usar el comando Ncat de manera básica, pero nuevamente, hay muchas opciones diferentes que puede usar,
Por lo tanto, puede consultar el sitio web y la documentación de Ncat para obtener más información.