Les presento mis aplicaciones favoritas para la captura de paquetes en la red, si bien es cierto son muy conocidas por sus características, he decidido dar un pequeño espacio para comentar algunas de sus funcionalidades. Además de la captura de datos, estas aplicaciones son útiles para realizar ciertos análisis con los paquetes obtenidos, por otro lado, cuando el análisis que necesitamos realizar es un poco complejo o muy específico, siempre es recomendable construir nuestros propios scripts; pero no cabe duda que sin importar para que las utilicemos, nos será de gran ayuda para obtener información de la red. Estas applicaciones también se pueden combinar con generadores de tráfico con el fin de analizar algunos problemas de la red.

TCPDUM

TCPDUMP [1] es una herramienta para captura del tráfico que circula por la red en tiempo real, esto incluye los paquetes transmitidos y recibidos en una determinada interfaz de red determinada. Dicha herramienta carece de interfaz gráfica, esto lo convierte en una de las aplicaciones preferidas cuando se quiere usar los mínimos recursos posibles, además, de ser idónea para la captura de paquetes en forma desatendida, ya que se puede gestionar por línea de comandos como se puede apreciar en la Figura #1.

Figure #1: Vista del contenido de varios paquetes por línea de comando utilizando **TCPDUMP**.

Esta aplicaciónción se encuentra disponible para casi todos los sistemas operativos (en Windows se llama WinDUMP), hace uso de la librería libpcap en el casos se sistemas UNIX y winpcap para Windows, además, es la encargada de las capturas de paquetes. Esta herramienta permite la depuración de la salida obtenida por medio de filtros, permitiendo filtrar capturas de puerto específico, o filtrando por tipo de protocolo, dirección origen o destino, en una interfaz en específico y otros.

La instalación de tcpdump en sistemas operativos Linux usualmente no es necesaria, ya que viene instalado por defecto en la mayoría de las distribuciones, pero si fuera necesario, basta con instalar mediante el gestor de paquetes de nuestra distribución, de fijo estará en los repositorios, pero si quieres compilarlo tu mismo puedes descargarlo aquí. Para sistemas Windows puedes descargar aquí.

Wireshark

Wireshark [2] es un programa de análisis, mantenido bajo licencia GNU GPL (GNU General Public License), también hace uso de las mismas librerías de captura de paquete de las que se utilizan en TCPDUMP, dependiendo del sistema operativo. A diferencia de TCPDUMP, Wireshark permite su gestión mediante una interfaz gráfica amigable (ver Figura #2) con el usuario sin la posibilidad de una gestión desatendida, además, posee funciones de filtrado y análisis de tráfico como estadísticas, gráficos y otras utilidades. Es compatible con el formato de archivo que utiliza TCPDUMP y reconoce una gran cantidad de protocolos.

Figura #2: Vista del contenido de un paquete UDP utilizando Wireshark.

Otra característica interesante para los investigadores es que permite la exportación de los archivos de capturas a diferentes formatos de aplicaciones orientadas al análisis matemático o de bases de datos, algo que puede resultar útil para realizar un análisis más detallado, como por ejemplo, cálculos de retardos, MOS, estadísticas y otras magnitudes que se puedan extraer de la captura de paquetes en la red.

Para la instalación en sistemas Linux, esta aplicación usualmente se encuentra en los repositorios, así que se utiliza el gestor de paquetes según la distribución, si no lo encuentras o usas Windows lo puedes descargar aquí.

References

  1. http://www.tcpdump.org/
  2. http://www.wireshark.org/