Analizando capturas .pcap TCP con tcptrace. Generación de gráficas con Xplot. Parte 2

En la primera parte de la serie dedicada a tcptrace vimos su instalación, uso básico, argumentos, impresión de cabeceras, estadísticas RTT, extracción de contenido o payload del campo data tcp, etc. Es esta segunda parte vamos a comenzar con la generación de los distintos tipos de gráficas, para más adelante estudiarlas e interpretarlas. De la interpretación de las gráficas podemos obtener gran cantidad de información para la detección de problemas de red, optimización, etc.

Gráfica  time sequence tcptrace jplot

Tcptrace. Introducción a la gráficas.

Tenemos dos formas de plotear o mostrar las gráficas:

  • Mediante Jplot (Java),
  • a través de Xplot.

Tcptrace, mediante una serie de opciones, generará un formato de archivo .xpl con toda la información necesaria para que tanto Jplot como Xplot puedan crear las gráficas.

Jplot 2.0.1 lo descargamos desde http://www.tcptrace.org/windows.html

Para Xplot. Necesitaremos (lo veremos en el siguiente capítulo) el comprimido http://www.tcptrace.org/useful/win_xplot.zip y Xserver for Windows http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.4/. como os digo, todo esto lo veremos en el siguiente capítulo. En este nos centraremos con Jplot.

Os aviso: es posible que el enlace a XServer for Windows, más arriba reseñado, no esté activo. En el próximo capítulo os daré una alternativa que funciona perfectamente.

Tcptrace. Gráficas con Jplot.

Vamos a usar en este artículo algunos ficheros de captura de red del tipo .pcap. Para saber más sobre ellos, su uso, filtros, etc:

Wireshark / Tshark / Windump – Filtros pcap. Creación de filtros y filtros avanzados para captura de paquetes.

Empezamos.

Jplot lo descargamos desde http://www.tcptrace.org/jPlot/download/jPlot-1.0.2.zip El ejecutable .jar los tenemos en \jPlot-1.0.2\src. Para ejecutarlo lo haremos de la siguiente manera:

  • java -jar jplot -h (para ver la ayuda)

Bien. Vamos ahora como preparar los archivos con los que trabajará Jplot.

Tcptrace generara los siguientes tipos de gráficas mediante las opciones:

  • -T  throughput graph
  • -R  rtt sample graph
  • -S  time sequence graph
  • -N  cwin graph
  • -F  segsize graph
  • -G  todos los tipos de gráficas

La nomenclatura, para identificar los tipos de archivos generados por tcptrace, para luego generar las gráficas, son las siguiente:

  • _owin.xpl – outstanding data/congestion
  • _rtt.xpl – round trip time/time
  • _ssize.xpl – segment size/time
  • _tput.xpl – throughput/time
  • _tsg.xpl – time sequence graph
  • _tline.xpl – Timeline graph

En esta ocasión vamos a ver _rtt.xpl, _tput.xpl y _tsg.xpl.

Gráfica time sequence.

Vamos con la gráfica time sequence o de número de secuencia (-S). Para ello, lo más simple es, en este caso usando un archivo de captura .pcap previa:

tcptrace -zxy -o1 -S XPLICO.pcap

  • -zxy establecemos orígen de coordenadas 0 en x e y. La opción es –z. Para individualizar lo hacemos así -zx o –zy.
  • -o1 aplicamos solo para la conexión 1 (a2b / b2a). Lo vimos en la primera parte.
  • -S para crear la gráfica solo de time secuence.
  • XPLICO.pcap es el archivo de captura que usamos para generar los gráficos. Lo generé en su momento con Tshark.

Después de ejecutar, tcptrace genera dos archivos:

  • b2a_tsg.xpl
  • a2b_tsg.xpl

Para generar la grafica secuence time a partir de la conexión a2b hacemos lo siguiente:

java -jar jplot.jar -t a2b_* (usamos el comodín si queremos abrir todos los tipos de gráficas) ó java -jar jplot.jar -t a2b_tsg.xpl

Al ejecutar se abre una ventana:

Gráficas tcptrace jplot en Seguridad y Redes.

Podríamos usar el zoom, etc. Lo vemos luego. Pero si queremos aplicar algunos límites, podríamos usar la opción -E de tcptrace para limitar por número de segmentos a analizar. Vemos en la gráfica que hay más de 80000. Vamos a limitar un poco:

tcptrace -zxy -E30000 -o1 -S XPLICO.pcap

-E30000 limitamos hasta 30000 segmentos.

tcptrace -zxy -B10000 -E20000 -o1 -S XPLICO.pcap

-B10000 -E20000 desde 10000 a 20000

Obtenemos ahora la gráfica con -E30000:

java -jar jplot.jar -t a2b_tsg.xpl

Gráficas tcptrace jplot en Seguridad y Redes.

Esta gráfica corresponde a la proción comprendida en el recuadro en rojo de la gráfica anterior.

He generado otra gráfica, aquí la tenemos:

Gráfica  time sequence tcptrace jplot

El tiempo de conexión es menor 0-100 segundos. En el anterior es casi 4 veces más y tendríamos que hacer una vetana zoom para apreciar detalles.

Básicamente: 

La línea verde representa los valores ACK recibidos. La línea amarilla representa la ventana de recepción.

Si hacemos zoom y vemos unos segmentos sobre la línea verde, se trata de ACKs duplicados. Igualmente, si vemos unos segmentos blancos con flechas en sus extremos, se trata de números desecuencia. Si las flechas son rojas, representa retransmisiones.

NOTA: Cuando veamos las gráficas con Xplot veremos que podemos tener mayor control en información que con las generadas con jplot.

Para la interpretación de las gráficas tenéis información aquí:  https://seguridadyredes.wordpress.com/post/2008/12/01/graficas-con-wireshark-ii-parte-tcptrace que aunque se trate de Wireshark, son gráficas tipo tcptrace.

Gráfica RTT (Retardo Promedio de Red)

Seguimos. Vamos ahora a ver otro tipo de gráfica, por ejemplo las gráficas RTT. Ya viemos en la primera parte:

RTT (Retardo Promedio de Red).  Básicamente se trata de una estadística del tiempo que toma en enviar un paquete desde un host cliente a un host servidor y viceversa.

Para ello usamos la opción -R y, del fichero de captura, extraemos los datos que corresponden a la conexión 1 (-o1) es decir (a2b) y (b2a):

tcptrace -zxy -l -o1 -R captura3.pcap

Ejecutamos Jplot con los datos .xpl:

java -jar jplot.jar -t a2b_*     usamos el comodín pero podríamos poner también: java -jar jplot.jar -t a2b_rtt.xpl. Lo vemos:

Gráfica RTT tcptrace jplot en Seguridad y Redes.

Vemos que el eje X representa RTT en milisegundos y el eje Y el tiempo.

Gráfica throughput.

Mediante este tipo de gráfica, se nos muestra el rendimiento de los streams TCP en relación al tiempo.

Para ello:

tcptrace -zxy -o2 -T captura3.pcap

java -jar jplot.jar -t c2d_tput.xpl

La gráfica:

Gráfica throughput jplot tcptrace

Tenemos en el eje y el rendimiento / segundo, eje x el tiempo.

————————————-

Hasta aquí por hoy. Seguiremos en el siguiente capítulo con:

  • Los otros tipos de gráficas.
  • Veremos más ejemplos para interpretarlos y usaremos las opciones para gráficas de tcptrace.
Esta entrada fue publicada en Seguridad y redes, tcptrace, Visualización Gráfica Tráfico red.. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s