miércoles, 21 de julio de 2010

La navaja suiza

Netcat es sin duda una herramienta indispensable para cualquier sysadmin. Los soldados del ejercito suizo no van a la guerra sin su navaja, por qué usted habría de olvidarla...

Es una herramienta que permite escribir y leer datos a través de la red - sobre el protocolo TCP/IP. Proximamente espero escribir algunos artículos con ejemplos varios al respecto.

Usted puede hacer que netcat escuche en un determinado puerto TCP utilizando la opción -l. Entonces, hay un ejemplillo -que siempre llevé conmigo a clase mientras estuve de profe- que permite estudiar: qué envían los navegadores a los servidores en la red cuando hacen peticiones HTTP; por supuesto que podría encender algún sniffer y verlo, pero con netcat me parece algo más pedagógico.

Primero que nada instale netcat con APT, YUM, o directamente con un RPM, DEB, compilándolo, en fín, como desee. Luego, puede establecer un chat punto a punto sencillo:

$ netcat -l -p 1234 #esto en una consola
$ necat localhost 1234 #esto en otra consola, luego escriba y ENTER (vea las salidas en cada una de las consolas)

Ahora a lo nuestro, lo que quería demostrar de las peticiones HTTP. La idea es dejar al necat escuchando en un puerto, configurar el navegador Web para que utilice como proxy nuestro socket de netcat y luego hacer una petición... Verá como se genera la salida; que puede almacenar en un archivo y luego utilizarla (esto lo explicaremos en otro artículo).

La configuración del proxy...



Netcat escuchando y su salida en pantalla luego de realizar -con el navegador- una petición a http://netcat.sourceforge.net/...
$ netcat -l -p 1234

GET http://www.google-analytics.com/__utm.gif?utmwv=1.3&utmn=968922939&utmcs=ISO-8859-1&utmsr=1280x800&utmsc=24-bit&utmul=es-ar&utmje=0&utmfl=10.0%20r22&utmdt=The%20GNU%20Netcat%20--%20Official%20homepage&utmhn=netcat.sourceforge.net&utmhid=1586803424&utmr=-&utmp=/&utmac=UA-398133-1&utmcc=__utma%3D100602113.1703963196.1279727538.1279727538.1279727538.1%3B%2B__utmz%3D100602113.1279727538.1.1.utmccn%3D(organic)%7Cutmcsr%3Dgoogle%7Cutmctr%3Dnetcat%7Cutmcmd%3Dorganic%3B%2B HTTP/1.1
Host: www.google-analytics.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-AR; rv:1.9.0.11) Gecko/2009061212 Iceweasel/3.0.6 (Debian-3.0.6-3)
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,es-ve;q=0.7,fr;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer: http://netcat.sourceforge.net/

Fíjese en el detalle de la salida... La petición (el sitio utiliza Google Analitycs para llevar las estadísticas de uso; y quién no lo hace hoy día!!!) mis lenguages configurados, encoding, entre otros.




No hay comentarios:

Publicar un comentario