root@eruditorum.org
Recolección de datos interesantes y curiosos en al red, ámbito tecnológico , redes , Linux, Microsoft y c++.

Netcat “La navaja suiza”


Netcat es una herramienta indispensable para cualquier persona con unos mínimos conocimientos sobre redes y  puertos. Se la conoce como navaja suiza por las múltiples opciones que puede realizar esta magnífica herramienta.

Argumentos de NetCat

  • -d: Oculta los procesos del netcat para que no se vean los datos en la shell
  • -e <prog>: Ejecuta el programa cuando se establece la conexión.
  • -l: Deja un puerto escuchando a posibles conexiones.
  • -n: deshabilita la conversión de nombre de dominios (DNS) que es otra de las funciones de netcat. Es capaz de hacer un DNS lookup para averiguar la ip de cualquier dominio.
  • -o <logfile>: guarda los resultados en un archivo en formato hexadecimal.
  • -p <puerto>: establece un puerto. Dependiendo de cada ocasión, este puerto permanecerá a la escucha (-l) o para conectarse a un equipo remoto a través
  • de este puerto.
  • -t: Para establecer negociaciones telnet
  • -u: Para que netcat trabaje con  protocolo UDP en vez de TCP  
  • -v(verbose): Muestra información sobre la conexión.
  • -vv(very verbose): Muestra más información todavía.
  • -w <sg>: Establece un tiempo para realizar la conexión.
  • -r: Genera un patrón de puertos aleatorios.
  • -g <gateway>: permite utilizar routers como “puentes” de conexión.
  • -G <numero>: Para crear una cadena aleatoria de hosts
  • -i <sg>: Tiempo en segundos entre puertos escaneados.  

1.  Un Chat  

 Puedes hablar con cualquier amigo tuyo como si fuera Messenger. ¿Cómo?  

 Primero debes de tener el ejecutable de nc (nc.exe) en cualquier carpeta, en mi caso en el C: para evitarnos complicaciones.  

 El nc se compone básicamente de cliente / servidor. En el chat por supuesto esto no cambia. Veamos las configuraciones de cada uno de ellos.

Servidor:

 C:>nc -l -p 5098  

 A continuación explicaremos los parámetros uno por uno:

 nc: invoca al programa (nc.exe)

  •  -l: pone el nc en modo escucha.
  •  -p 5098: establece el puerto que se pondrá a la escucha. En este caso, pongo 5098, pero tú puedes poner el que quieras,

Cliente:

 C:>nc 127.0.0.1 5098

 nc: invoca al programa (nc.exe)

  •  127.0.0.1: es la ip del servidor. En este caso, como es una práctica y la voy a hacer conmigo mismo, pues pongo la ip del localhost.
  •  5098: es el puerto al que se conectará de la ip 127.0.0.1 que es el que hemos abierto en el servidor.

2. Transferencia de archivos

Una utilidad muy útil es para transferir archivos de un ordenador a otro a través de la red. Hace falta un cliente y  un servidor.  

Servidor:

 C:>nc -l -p 5098 < nc.zip

 nc: invoca al programa (nc.exe)

  •  -l: pone el nc en modo escucha.
  •  -p 5098: establece el puerto que se pondrá a la escucha.
  •  < nc.zip: deja el archivo nc.zip preparado para que cuando alguien se conecte a tu IP en el puerto 5098 se lo envíe.

Cliente:

 C:>nc 127.0.0.1 5098 > nc2.zip

  •  nc: invoca al programa (nc.exe)
  •  12 7.0.0.1: es la ip del servidor.
  •  5098: es el puerto al que se conectará.
  • > nc2.zip: recibe el archivo que el servidor le envíe y lo guarda como nc2.zip. Si te fijas en el servidor, el archivo se llama nc.zip y ahora lo guardo como nc2.zip, pues el cliente lo puede guardar con otro nombre distinto. También hay que destacar que en el servidor utilizo el símbolo de “menor que” < para abrir un archivo y en el cliente utilizo el símbolo “mayor que” > para guardarlo.
    Hay que señalar que no sabes cuándo termina la transferencia. Cuando creas que ya se ha completado la transferencia pulsa la combinación Ctrl + C para detener al nc.

3. Shell remota

Para mí la mejor utilidad del nc es la de obtener shells remotas. 

Servidor:

 C:>nc -l -p 5098 -e cmd.exe  

 nc: invoca al programa (nc.exe)

  •  -l: pone el nc en modo escucha.
  •  -p 5098: establece el puerto que se pondrá a la escucha.
  •  -e cmd.exe: el comando -e ejecuta remotamente el programa que hay detrás.

Cliente:

 C:>nc 127.0.0.1 5098

 nc: invoca al programa (nc.exe)

  •  127.0.0.1: es la ip del servidor.
  •  5098: es el puerto al que se conectará.

4. Escaneador

Otra utilidad de nc es como escáner de puertos de cualquier máquina, ya sea remota o la tuya propia.  

Para esta característica no hace falta cliente/ servidor. Sólo cliente. 

Cliente:

  C:>nc -vv -z 127.0.0.1 21-30

 nc: invoca al programa (nc.exe)

  •  -vv: Pone al nc en modo Very Verbose, que muestra más información que si solo se pone en -v (Verbose).
  •  -z: Hace que no se envíen/ reciban datos de los puertos de la ip 127.0.0.1, para no tener que esperar tanto.
  •  12 7.0.0.1: la ip de la máquina que queremos escanear.
  •  21 -30: Establece un rango de puertos desde el 30 hasta el 21. No tiene por quÉ ser así siempre. Si quieres escanear un puerto solamente: c:>nc -vv -z 1 27.0.0.1 80

2 comentarios to “Netcat “La navaja suiza””

  1. Mi duda es que no se a donde se copian los ficheros que descargo

  2. Generalmente es en el directorio desde donde llamaste el nc, si llamaste una terminal y es desde *nix es en tu home. En win y llamaste el cmd y no te has movido en c:\windows .


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: