Netcat

De Wikipedia, la enciclopedia libre
netcat
Información general
Tipo de programa Utilidad de red
Lanzamiento inicial 28 de octubre de 1995
Licencia GNU GPL
Información técnica
Plataformas admitidas Microsoft Windows
Versiones
Última versión estable 0.7.1 ( 10 de enero de 2004)
Enlaces

Netcat es una herramienta de red que permite a través de intérprete de comandos y con una sintaxis sencilla abrir puertos TCP/UDP en un HOST (quedando netcat a la escucha), asociar una shell a un puerto en concreto (para conectarse por ejemplo a MS-DOS o al intérprete bash de Linux remotamente) y forzar conexiones UDP/TCP (útil por ejemplo para realizar rastreos de puertos o realizar transferencias de archivos bit a bit entre dos equipos). Fue originalmente desarrollada por Hobbit en 1996 y liberada bajo una licencia de software libre permisiva (no copyleft, similar a BSD, MIT) para UNIX. Posteriormente fue portada a Windows y Mac OS X entre otras plataformas. Existen muchos forks de esta herramienta que añaden características nuevas como GNU Netcat o Cryptcat.

Entre sus múltiples aplicaciones, es frecuente la depuración de aplicaciones de red. También es utilizada a menudo para abrir puertas traseras en un sistema.

Funcionamiento básico[editar]

La forma más básica de operar de netcat consiste en:

  • Crear un socket para conectarse a un servidor (o bien para hacer de servidor)
  • Enviar todo lo que entre por la entrada estándar por el socket
  • Sacar por la salida estándar todo lo recibido por el socket

Parámetros[editar]

A continuación se listan algunos de los parámetros más usados con Netcat:

  • -l: Indica que Netcat abre el puerto para Escucha (Listen): Acepta una única conexión de un Cliente y se cierra.
  • -p: Especifica el puerto.
  • -k: Fuerza a que el puerto permanezca abierto tras haber recibido una Conexión. Se usa con el parámetro -l y permite infinitas Conexiones.
  • -u: El puerto abierto se abre como UDP, en vez de TCP que es la opción por defecto.
  • -v: Muestra información de la conexión.
  • -t: Las respuestas son compatibles para sesiones de Telnet.
  • -q segundos: Tras haber recibido el EOF de la Entrada de datos, espera los segundos indicados para enviarla.
  • -i segundos: Especifica un delay (retraso) de tiempo para el envío o recepción de las líneas de texto.

Ejemplos[editar]

Abrir nueva conexión al puerto 25 (como telnet):

nc mail.server.net 25.

Abrir una conexión para enviar un Archivo de manera RAW (Binario) a un Cliente:

cat ARCHIVO | nc -l PUERTO

Abrir una conexión y volcar la Información recibida en ARCHIVO (Cliente del Ejemplo anterior):

nc HOST PUERTO > ARCHIVO

Simular una Respuesta HTTP (austera) a un Cliente que se conecta con un navegador web (https://web.archive.org/web/19961229112017/http://localhost/):

echo -en "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\<h1>Hola Mundo</h1>" | nc -l -p 80

Véase también[editar]

Enlaces externos[editar]