Visualización gráfica de ficheros .pcap con AfterGlow.

Ya vimos en su momento como visualizar, mediante Scapy, nuestros tracerouters mediante la función graph() o el uso de conversations() para una visualización gráfica de las conversaciones o diálogos entre hosts.

Afterglow CSV

En esta ocasión, vamos a estudiar una herramienta para la visualización gráfica de capturas de red usando cualquier ficheros .pcap generado por cualquiera de nuestros sniffer como pueden ser Tshark, TCPDump, Windump, etc . Esta Herramienta es AfterGlow.

AfterGlow.

AfterGlow es una herramienta formada por una serie de scripts de Perl que nos facilita la generación de gráficas a partir de, por ejemplo, un fichero de captura .pcap.Para ello necesitamos tener GraphViz (lo vimos en la serie dedicada a Scapy).

Su funcionamiento es de lo más sencillo. Y para ello, como siempre, que mejor que explicarlo mediante ejemplos:

Usaremos los pipes para "pasar" los datos de las capturas desde el sniffer usado al script.

Tenemos una captura, por ejemplo: captura_ejemplo.pcap tomada desde nuestra máquina.  Un ejemplo muy sencillo aunque poco práctico porque en nuestra red switcheada solo "veremos" nuestro tráfico y el Broadcast. Pero nos servirá para empezar.

~/afterglow/src/perl/graph# tshark -r captura_ejemplo.pcap -T fields -E separator=, -e ip.dst -e ip.src | perl afterglow.pl -c color.properties -t > grafica.dot  

  • Estamos usando Tshark como sniffer.
  • -r leemos el fichero .pcap
  • Tal como vimos en el artículo dedicado a Tshark, vamos a usar -T fields para el formateo de datos por campos, -e para especificar los campos que deseamos mostrar y -E separators para establecer un separador entre campos. Todo esto lo vimos aquí: tshark-wireshark-en-linea-de-comandos-ii-parte
  • | pasamos los datos al script afterglow.pl
  • -c color.properties usamos este esquema de color para nuestra gráfica resultante.
  • -t opción para modo dos nodos.
  • > pasamos los datos al un archivo grafica.dot (ahora veremos para que)

Una vez que hemos generado el fichero .dot, invocamos a neato (por eso necesitamos GraphViz) para convertir los datos .dot en un fichero gráfico para poder visualizar:

~/afterglow/src/perl/graph# neato -Tgif -o grafica0.gif ./grafica.dot

El resultado (-o grafica0.gif ) es este:


Afterglow

Otras formas de uso.

Hemos usado Tshark, pero podría mos usar cualquier otro. Vamos a usar el fichero pcap que utilizamos en el artículo dedicado a SIP con tcpdump:

~/afterglow/src/perl/graph# tcpdump -vttttnnel -r sip-rtp-g711.cap | perl tcpdump2csv.pl "sip rtp dport" > captura.csv

En este caso el fichero de salida es un .csv (apto para visualizar en Excel por ejemplo) que hemos convertido mediante el script tcpdump2csv.pl

~/afterglow/src/perl/graph# cat captura.csv | perl afterglow.pl - c color.properties > captura.dot

Pasamos, arriba, los datos .csv a afterglow.pl para generar el fichero .dot

Abajo convertimos el .dot a captura.gif

~/afterglow/src/perl/graph# neato -Tgif -ocaptura.gif captura.dot

El resultado:


Afterglow

.

El fichero .csv tendría esta pinta:

Afterglow CSV

Un último ejemplo para comprender algunos diltros aplicados  a tcpdump2csv.pl:

~/afterglow/src/perl/graph# tcpdump -vttttnnel -r sip-rtp-g711.cap | perl tcpdump2csv.pl "sip dip dport" > captura.csv

  • sip ip origen
  • dip ip destino
  • dport puerto destino

Seguimos con el resto:

~/afterglow/src/perl/graph# cat captura.csv | perl afterglow.pl - c color.properties > captura.dot

~/afterglow/src/perl/graph# neato -Tgif -ocaptura.gif captura.dot

El resultado:


Afterglow CSV

.

Un Zoom:


Afterglow CSV

.

Conversión del fichero .dot a gráfica.

No solo podemos usar neato, tenemos algunas opciones más:

  • circo
  • dot
  • twopi
  • fdp

Todas estas opciones pertenencen a Graphviz.

Las diferencias las vemos con un ejemplo Misma captura y mismo fichero de salida .dot:

~/afterglow/src/perl/graph# tcpdump -vttttnnel -r captura_ejemplo.pcap | perl tcpdump2csv.pl "sip dip" > captura.csv  

~/afterglow/src/perl/graph# cat captura.csv | perl afterglow.pl -c color.properties -p2 > captura.dot  

~/afterglow/src/perl/graph# neato -Tgif -ocaptura1.gif captura.dot 

y

~/afterglow/src/perl/graph# circo -Tgif -ocaptura1.gif captura.dot 

y

~/afterglow/src/perl/graph# dot -Tgif -ocaptura1.gif captura.dot 

Usando Neato:


Afterglow CSV neato

.

Usando circo:

Afterglow CSV circo

Si usamos dot:

Afterglow CSV dot

============================

.

Seguiremos en otras entregas para ver, es muy facil, como se interprestan los datos de las gráficas.

Información extraída de:
http://seguridadyredes.nireblog.com/post/2010/06/28/visualizacian-grafica-de-ficheros-pcap-con-afterglow

Entradas populares de este blog

Trinity Rescue Kit: Tutorial para eliminar la contraseña de administrador en Windows

Cómo extraer el handshake WPA/WPA2 de archivos de captura grandes