17 años en Internet

28 enero 2011

Netcat

Seguramente muchos de vosotros desconozcáis la existencia de netcat. No os culpo, esta aplicación lo único que hace es escuchar y enviar datos a través de los puertos de tu ordenador. Parece sencillo, pero como herramienta es terriblemente poderosa y además está presente en la inmensa mayoría de distribuciones GNU/Linux. A continuación os mostraré unos ejemplos prácticos:


Descarga de archivos:
Cliente:~$ nc -lp 2000 > archivo.tar.gz
Servidor:~$ nc -w1 192.168.1.123 2000 < archivo.tar.gz

Clonar un disco duro por red:
Cliente:~$ nc -lp 2000 | dd of=/dev/sda
Servidor:~$ dd if=/dev/sda | nc 192.168.1.123 2000

Chat bidireccional:
Servidor:~$ nc -lp 2000
Cliente:~$ nc 192.168.123 2000

Chat unidireccional:
Servidor:~$ nc -lp 2000 -e /bin/cat
Cliente:~$ nc 192.168.123 2000 

Cliente de IRC:
Cliente:~$ nc irc.freenode.net 6667

Shell remota:
Servidor:~$ nc -lp 2000 -e /bin/bash
Cliente:~$ nc 192.168.1.123 2000

Servidor web:
Servidor:~$ nc -lp http -c “cat index.html”

Streaming de mp3 o vídeos:
Servidor:~$ nc -lp 2000 < tux.avi
Cliente:~$  nc 192.168.1.123 2000 | vlc –

Ejemplo de streaming de vídeo a través de netcat

Aclaraciones:
- El netcat de Ubuntu está capado para limitar las opciones "peligrosas". Se puede instalar el tradicional a través de "sudo apt-get install netcat". Habrá que ejecutar "nc.traditional" en vez de "nc". Puedes crear un alias para simplificar esto.
- 192.168.1.123 - IP local de mi máquina servidor.
- 2000 - Puerto de escucha empleado.

Fuentes empleadas:

5 comentarios:

  1. Genial capítulo de Big bang theory XD, la vuelta del ártico... el comienzo de una relación que se ve extinta XD (spoiler off)

    ResponderEliminar
  2. Siempre he sido muy curioso, ¿cuales son esas opciones peligrosas que están capadas?

    ResponderEliminar
  3. Pues por ejemplo el argumento "-e" que permite ejecutar aplicaciones.

    ResponderEliminar
  4. Grandisima herramienta. Al igual que "cat" de simple parece inútil pero como muestras tiene multitud de aplicaciones.
    También muy útil como snifer para saber que es lo que envia un cliente.
    Gracias por el articulo.

    ResponderEliminar

Si te ha gustado la entrada o consideras que algún dato es erróneo o símplemente deseas dar algún consejo, no dudes en dejar un comentario. Todo feedback es bienvenido siempre que sea respetuoso. También puedes contactarme vía Twitter @Hamster_ruso si lo consideras necesario.