InicioInfoNetCat: La navaja suiza

NetCat: La navaja suiza

InfoFecha desconocida
GNU NetCat La herramienta que no puede faltar en el mp3 de la dama o el pendrive del caballero Me llama poderosamente la atención que nadie hasta ahora haya posteado nada acerca de NetCat, la herramienta multiplataforma por exelencia para diagnóstico de redes... Siendo así, ahi voy, así se enteran los que lo consideren algo util en sus vidas (y los que no) y de paso, a ver que sale: Primero un poco de Tecnicismos: NetCat, (De ahora en mas me voy a referir a el como NC por que me da fiaca) así como lo presento suena a aplicación llena de botoncitos, reguladores y parámetros que no son para cualquiera. Bueno, todo lo contrario, no puede ser mas simple, ahí radica su genialidad. NC trabaja pura y exclusivamente sobre la capa 7, abre un socket y transfiere datos atravéz del mismo. Al que se quiera interiorizar un poco mas antes de seguir leyendo: El modelo OSI, creado por Juan Carlos Osi en la wikipedia. Socket de Internet del mismo señor que escribe todo en la wikipedia. NC está disponible para todos los sistemas operativos existentes, incluídos WindowsCE (no podés, no podes!) y todos los sabores de Linux / *nix. Probablemente si sos usuario de Linux, tu distro favorita ya lo trae de serie desde hace años y vos ni te enteraste... Un poco de historia, tenga a bien saltearse esta parte el lector impaciente: Originalmente creado por un tal hobbit del que nada se sabe y mucho se especula por allá por 1996, sigue en vigencia al día de de hoy y ha sido reflotado recientemente en lo que dieron en llamar GNU NetCat, una versión nueva totalmente reescrita desde cero y que sigue mantenida. Don hobbit hizo el programa, tiró el codigo fuente en un par de listas de distribución de correo y desapareció de la faz de la tierra, se lavó las manos, si tiene bugs fumátela, si no te gusta como funciona, que casualidad, lo mismo. Algunos arriesgan que después de NC fué contratado por alguna agencia de inteligencia, otros, que dada su genialidad pasó inmediatamente a planos superiores de conciencia y por eso no podemos verlo, los menos arriesgados, que tuvo que cambiar de email y de nick por que le hackearon la cuenta que tenía en avian.org o que simplementé se le saltó la cadena de tanto leer Tolkien y ahora va por la vida disfrazado de enano de jardín. Este muchacho, hobbit se juntaba con sus amigotes a hacer solo dios sabe que y todos juntos se hacían llamar L0pht, grupo que supo hacer mucho ruido en sus epocas mozas y hoy en día ni la página web oficial queda. Ahora si, algunos ejemplos: Windows: Quiero tener una consola de comandos remota al mejor estilo unix. Dejo corriendo netcat en mi_servidor en el puerto 8888 por ejemplo y le digo que ante cada conexión entrante ejecute cmd.exe: nc -l -t -p 888 -e cmd.exe nc es el ejecutable, -l le indica que quede a la escucha de conexiones entrantes, -t para que emule una sesión de telnet -p 888 es el puerto que quiero que abra -e cmd.exe abrirá una consola DOS y redirigirá toda la salida y la entrada remota hacia la pantalla y desde el teclado remotos. En cualquier lugar del mundo ejecuto: nc -t mi_servidor 888 y tengo la consola DOS de mi_servidor lista para usar. Para que me sirve se preguntarán? Bueno, al que administre servidores se le ocurrirán varios usos. Al que no, supongamos que tengo tal o cual programa, vnc por poner un ejemplo y necesito conectarme muy de ves en cuando, justo cuando lo necesito me olvidé de dejar corriendo el servicio... Pueden tener NC corriendo siempre y conectarse cuando lo necesiten para levantar VNC reemplazando cmd.exe por el comando específico que necesiten y eliminando la emulación telnet. Una forma mil veces mas segura de lograr el mismo efecto es port knocking, tiren de google si les interesa, algun día postearé solo sobre esta aplicación. Como NC se cierra una vez cerrada la conexión, se le puede indicar que haga respawn del comando poniendo la L en mayúsculas, quedando el mismo comando anterior: nc -L -t -p 888 -e cmd.exe En la versión para windows le pueden agregar el modificador -d por "detach" para que no se muestre en ejecución en una consola DOS en pantalla ni en la barra de tareas. Como puede conectar cualquier cosa con cualquier cosa, obviamente, sirve como cliente telnet: nc -t mi_servidor 23 Welcome to Microsoft Telnet Service login: Lo mismo como cliente ftp: nc 192.168.1.223 21 220 Delta FTP Server O como cliente http, ideal para averiguar que version de que webserver corre tal o cual dominio, hotmail por ejemplo: nc hotmail.com 80 GET / HTTP/1.0 HTTP/1.0 302 Redirected Date: Sat, 16 Feb 2008 01:51:11 GMT Server: Microsoft-IIS/6.0 Location: http://lc1.bay0.hotmail.passport.com/cgi-bin/login Como ven, hotmail es un IIS 6.0 Usos un poco mas extraños, mover un archivo por la red o por internet: Donde recibo el archivo (supongamos que lo envío desde un cliente hasta mi_servidor) tipeo: nc -l -p 888 > gladiador.avi Desde donde lo envío tipeo: nc mi_servidor 888 < gladiador.avi Ahora ven para que puede ser util una consola remota de DOS? y no tengo que andar poniendo tildes en compartir impresoras y archivos, ni configurando samba o nfs o acordarme contraseñas. Sirve como cliente IRC, lo mismo que hace mIRC, bitcX o similares: nc irc.freenode.org 6666 < yo.txt NOTICE AUTH :*** Looking up your hostname... NOTICE AUTH :*** Found your hostname, welcome back NOTICE AUTH :*** Checking ident NOTICE AUTH :*** No identd (auth) response :anthony.freenode.net 001 procastineitor :Welcome to the freenode IRC Network procastineitor :anthony.freenode.net 002 procastineitor :Your host is anthony.freenode.net[anthony.freenode.net/6666], running version hyperion-1.0.2b Sirve como cliente de correo electrónico: nc smtp.arnet.com.ar 25 220 smtp-04.arnet.com.ar ESMTP HELO procastineitor 250 smtp-04.arnet.com.ar MAIL FROM: [email protected] 250 ok RCPT TO: [email protected] 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) <--- Acá es donde me saca a gambazos por que no uso arnet como proveedor de internet. Sirve como servidor web rudimentario: nc -l -p 80 < index.html ( -L para que no se cierre el proceso) Y luego solo escribir la dirección de la pc corriendo NC (supongamos que es mi_servidor) desde cualquier navegador ingresando a http://mi_servidor En linux, te podés hacer un streaming server para reproducir mp3 o videos tipeando en el servidor: cat *.mp3 | nc -l -p 8888 Y en el cliente: nc mi_servidor 8888 | madplay - O clonar discos atravez de la red: En la pc a clonar con el disco en blanco primero tipear: nc -l -p 8888 | dd of=/dev/hda Luego en la pc de la que queremos tomar una copia espejo tipear: dd if=/dev/hda | nc pc_a_clonar 8888 El mismo resultado pero guardando una imagen que se puede restaurar mas tarde del contenido del disco rígido se logra tipeando en la pc en donde almacenamos la imagen (reemplazando la pc a clonar): nc -l -p 8888 > imagen_del_disco.raw Usando pipes como en los ejemplos anteriores, se puede comprimir la inforación al vuelo haciendola pasar por gzip. Util para cuando clonamos dos pc sobre internet y no sobre una red local: nc -l -p 8888 | gunzip | dd of=/dev/hda dd if=/dev/hda | gzip | nc pc_a_clonar 8888 El mismo sistema de pipes se puede usar para comprimir archivos que se van a mover por internet: (archivo original) => <==> <==> => (archivo de destino). Como ven, economizan ancho de banda. Supongamos que en tu laburo el firewall de la empresa no te deja navegar por internet pero si te dejan recibir correo electrónico, si es un firewall basado en windows, probablemente sea una mierda que no hace stateful packet inspection, de nuevo netcat al rescate: nc -l -p 80 | nc google.com.ar 80 | nc -b -l -p 110 3 instancias de netcat,recibiendo desde internet en el puerto 110 que es el que se usa para recibir correo electrónico usando POP3, una en el medio redirigiendo todo el tráfico hasta google.com.ar y por ultimo una escuchando en el puerto 80. Basta con escribir en tu navegador: localhost para traspasar el firewall y entrar a la página de google. Aclaro una vez mas por las dudas, solo si el firewall no hace SPI, la mayoría de los firewalls para windows no lo hacen. Podría seguir un par de horas mas escribiendo las ideas que se me vienen a la cabeza pero ya con eso tienen por demás demostrada la potencia de una aplicación tan simple. El uso que le den queda librado enteramente a su imaginación, a mi se me ha vuelto "de cabecera" y junto con ethereal y ettercap es todo lo que puedo llegar a necesitar alguna vez para descular una red y ver que hay, que falla y por que. Espero que le sirva a quien corresponda y lo encuentre de utilidad. Por ultimo aclarar: NC pesa 24Kb para linux, 58Kb para windows (mas de el doble? que raro...) y lo pueden descargar desde http://www.vulnwatch.org/netcat/nc111nt.zip para windows. Usuarios de linux, si tu distro, no lo trae preinstalado, tu gestor de paquetes lo tiene seguro, apt-get, yum, urpmi, pacman, emerge o lo que corresponda. FUENTE: Mi cabeza, si tipeé algun comando mal, me lo hacen saber. Permitida su reproducción total o parcial pero citá la fuente o te pongo una zapatería en el culo!
Datos archivados del Taringa! original
10puntos
436visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

p
Usuario
Puntos0
Posts6
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.