He estado hace poco trasteando un poco con distintas opciones para la extraccin de ficheros de capturas de trfico de red. Tom como partida estos dosartculos de SANS, que incluyen listados de herramientas, y quiero compartir con vosotros algunos ejemplos de utilizacin que podran seros de utilidad. Son 5 mtodos de entre muchos posibles, dos son grficos, dos son de lnea de comandos y el ltimo combina ambos.

He tratado de desarrollar un poco ms los textos originales a travs de un ejemplo prctico, en este caso, capturando en mi dispositivo mvil el trfico resultante de instalar una aplicacin desde el Android Market. He escogido intencionadamente este ejemplo para hablar sobre captura de trfico en dispositivos mviles, y el hecho de escoger una aplicacin determinada responde nicamente a tomar alguna que quizs nos sirva de ejemplo en futuros artculos. La aplicacin en s es IMO Instant Messenger, uno de tantos clientes que permiten conexin a diversas redes y servicios, como Facebook Chat, Google Talk, Skype, MSN, ICQ/AIM, Yahoo, Jabber, Myspace, Vkontakte.ru y la holandesa Hyves, aunque repito que cualquier otra podra haber servido igualmente.

Para capturar el trfico he empleado Shark, adaptacin del popular Wireshark para Android, que permite capturar el trfico del dispositivo tanto en modo independiente como operando en tethering, soportando 3G y WiFi. La nica pega es que requiere root, con lo que caso de instalarlo, os aconsejo que lo hagis en un dispositivo de pruebas o que eliminis los binarios su despus de las pruebas. Ya sabis que soy contrario a tener telfonos corriendo sistemas operativos con privilegios de super usuario circulando por las calles

Sea como fuere, estos mtodos funcionan independientemente del origen de la captura de trfico. Da igual si el trfico procede de un telfono Android o de un PC de sobremesa, ya que los ficheros de captura resultantes de una adquisicin deben respetar la misma estructura para asegurar la interoperabilidad.

Mtodo 1: Network Miner
El ms rpido y visual de todos, y el ms indicado para personas que no quieren complicarse la vida. Empleando Network Miner esta tarea es prcticamente inmediata y apenas requiere explicacin. La captura es auto explicativa


El resultado es un paquete que puede ser abierto con cualquier gestor de ficheros comprimidos y en cuyo interior encontraremos la estructura bsica de un paquete de instalacin APK de Android:


Mtodo 2: Wireshark
Tratndose de una captura pcap, parece que tiene sentido trata de efectuar la extraccin empleando Wireshark. Al ser un entorno grfico, la operacin es igualmente sencilla y prcticamente tambin se explica sola. Para ello, localizamos la peticin GET Market/Binary, efectuamos sobre ella un Follow TCP Stream y salvamos en formato RAW la totalidad de la conversacin entre servidor y cliente:


El resultado vuelve a ser un fichero que podemos abrir con cualquier gestor de compresin, al igual que en el ejemplo anterior.

Mtodo 3. Extraccin mediante tcptrace
Entramos en las modalidades de la lnea de mandatos, y empezamos por tcptrace, una interesante aplicacin que aunque lleva desde 2004 en estado vegetativo, posee binarios plenamente funcionales que pueden ser utilizados. El comando a emplear es el siguiente:
tcptrace -e fichero.pcap
Una vez ejecutado el programa observamos los patrones de trfico y seleccionamos la porcin que nos interese:


En concreto la lnea que nos interesa especifica lo siguiente:
14: android_4af33226b2d182ff:39450 - 74.125.15.178:80 (aa2ab)
Luego si aa2ab es el trfico entre el dispositivo y el servidor, necesitamos el fichero ab2aa, que contendr el trfico entre servidor y dispositivo. Intentamos abrir con el gestor de compresin, al igual que hicimos en los ejemplos anteriores, pero se presenta un error. El tipo de archivo no est soportado:


Y por qu pasa esto? Por qu no podemos obtener limpiamente el fichero APK tras volcar los datos entre servidor y cliente? Examinamos cabeceras


Resulta obvio que mientras en el primer caso tenemos al inicio de la cabecera los valores PK, correspondientes al formato de compresin, en el segundo tenemos lo que aparentemente es una peticin HTTP. Comprobamos en el editor hexadecimal:


De este examen se deduce que los primeros 436 bytes (offsets 0 a 435) del fichero no pertenecen al fichero que pretendemos extraer en s. El fichero en s (estructura PK) da comienzo justo en el offset 436. Existen numerosas maneras para eliminar el sobrante, desde el mismo editor hexadecimal si queremos hacerlo de un modo grfico, o empleando la consola. En este caso escogemos consola, y de paso ilustramos cmo hacer el corte con dd. El comando a ejecutar es:
dd if=ab2aa_contents.dat bs=436 skip=1 of=cortado.dat


En este caso hemos empleado el artificio del tamao de bloque (block size, bs) para decirle a dd que tenemos un tamao de bloque de 436 bytes, y que queremos que omita completamente el primer bloque (skip=1) siendo el fichero de entrada ab2aa_contents.dat y el de salida cortado.dat. Como no poda ser de otro modo, ahora si es factible desempaquetar nuestra aplicacin:


Mtodo 4. Extraccin mediante tcpick
Mtodo similar al anterior. En este caso empleamos tcpick, que lleva sin desarrollo activo desde 2005 aunque los binarios son sumamente estables y completos.
El comando a lanzar es:
tcpick -wRC -r fichero.pcap


El procedimiento de extraccin es exactamente el mismo que hemos visto para el caso de tcptrace, incluyendo la necesidad de eliminar el exceso de los primeros 436 bytes, por lo que no lo repetiremos.

Mtodo 5. Extraccin mediante chaosreader
El quinto y ltimo mtodo que veremos implica el uso de chaosreader. Es un script Perl que genera ficheros de datos a partir del trfico junto a un informe HTML sobre la actividad. El comando a utilizar es:
perl chaosreader0.94 fichero.pcap
Una vez generados los ficheros, abrimos el fichero index.html generado por la herramienta:


El fichero session_0019.part_01.zip se puede descargar directamente y no precisa de correcciones en la cabecera.


Como habis visto, distintas maneras de obtener el mismo resultado. Algunos mtodos son ms didcticos que otros, pero al final de lo que se trata es de ser productivos, con lo que cada cual escoja el que ms le plazca. Y si alguien quiere comentar algn otro mtodo, que deje un comentario

Un saludo,

Be Sociable, Share! @ http://www.sahw.com/wp/archivos/2011...rafico-de-red/