Analizar y exportar tráfico de red con Tshark
En este paso, nos centraremos en cómo exportar tráfico de red en diferentes formatos y realizar un análisis básico del tráfico utilizando tshark. Estas habilidades son cruciales porque te permiten compartir los datos capturados con tus colegas o utilizarlos en otras herramientas. Al final de esta sección, serás capaz de manejar diferentes formatos de archivos y extraer información valiosa del tráfico de red.
Wireshark, un conocido analizador de protocolos de red, admite varios formatos de archivos de captura. Cada formato tiene sus propias características únicas, que es importante entender ya que determinan cómo se pueden utilizar los datos más adelante.
- pcapng: Este es el formato predeterminado utilizado por Wireshark. Admite múltiples interfaces y tiene características avanzadas. Es una excelente opción cuando necesitas capturar escenarios de red complejos.
- pcap: El formato clásico. Es compatible con herramientas antiguas, pero tiene menos características en comparación con pcapng. Si necesitas trabajar con sistemas heredados, este formato podría ser tu mejor opción.
- csv: Valores separados por comas. Este formato es muy útil cuando quieres importar los datos a hojas de cálculo para un análisis posterior.
- json: Notación de Objeto JavaScript. Es ideal para el análisis programático, ya que puede ser fácilmente analizado por lenguajes de programación.
- text: Un formato de texto plano legible por humanos. Es útil cuando quieres ver rápidamente los datos sin herramientas especiales.
Para cambiar el formato de un archivo de captura, puedes utilizar la opción -F
en tshark. La estructura general del comando es la siguiente:
tshark -r <input_file> -F <format> -w <output_file>
Aquí, -r
especifica el archivo de entrada, -F
establece el formato de salida y -w
define el archivo de salida.
Tomemos un ejemplo y exportemos nuestra captura al formato pcap:
tshark -r /home/labex/project/capture.pcapng -F pcap -w /home/labex/project/export.pcap
Cuando este comando se ejecuta correctamente, no verás ninguna salida en la pantalla. Para confirmar que la exportación fue exitosa, puedes utilizar el comando ls
para listar los detalles del archivo exportado:
ls -l /home/labex/project/export.pcap
Deberías ver una salida similar a esta:
-rw-r--r-- 1 labex labex 22468 Jan 27 12:45 /home/labex/project/export.pcap
Analizar estadísticas de protocolos
Tshark no solo es útil para exportar archivos, sino también para generar diversas estadísticas sobre el tráfico capturado. Exploremos algunas de estas opciones de análisis estadístico.
Estadísticas de jerarquía de protocolos
Si quieres ver cómo se distribuyen diferentes protocolos en tu captura, puedes utilizar el siguiente comando:
tshark -r /home/labex/project/capture.pcapng -z io,phs
La opción -z
se utiliza para especificar el tipo de estadísticas. En este caso, io,phs
significa estadísticas de jerarquía de protocolos. La salida mostrará la jerarquía de protocolos y el porcentaje de paquetes para cada protocolo.
Protocol Hierarchy Statistics
|
+ Ethernet
+ Internet Protocol Version 4
+ Transmission Control Protocol
+ Transport Layer Security
+ Hypertext Transfer Protocol Secure
+ User Datagram Protocol
+ Domain Name System
Estadísticas de conversaciones
Para analizar las conversaciones entre puntos finales en la red, puedes utilizar el siguiente comando:
tshark -r /home/labex/project/capture.pcapng -z conv,tcp
Este comando se centra en las conversaciones TCP. Muestra estadísticas como los puntos finales involucrados, el número de paquetes intercambiados y el total de bytes transferidos.
TCP Conversations
| <- | | -> | | Total | Relative | Duration |
| Frames Bytes | | Frames Bytes | | Frames Bytes | Start | |
192.168.1.100:43210 <-> 93.184.216.34:443 24 18765 18 4532 42 23297 0.000000000 8.2345
Estadísticas de solicitudes HTTP
Si tu captura contiene tráfico HTTP, puedes analizar las solicitudes HTTP utilizando el siguiente comando:
tshark -r /home/labex/project/capture.pcapng -z http,tree
Este comando organiza las solicitudes HTTP por URI y muestra el número de solicitudes para cada URI.
HTTP/Requests:
/index.html 1 requests
/images/logo.png 2 requests
Exportar a diferentes formatos de texto
Además de los formatos binarios, tshark también puede exportar datos a formatos de texto, que a menudo son más fáciles de analizar.
Exportar a CSV
Para exportar campos específicos de la captura a un archivo CSV, puedes utilizar el siguiente comando:
tshark -r /home/labex/project/capture.pcapng -T fields -e frame.number -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport -E header=y -E separator=, > /home/labex/project/tcp_summary.csv
Aquí, -T fields
especifica que queremos exportar campos específicos. La opción -e
se utiliza para definir los campos que queremos exportar, como el número de trama, las direcciones IP de origen y destino y los puertos TCP de origen y destino. -E header=y
agrega un encabezado al archivo CSV y -E separator=,
establece el separador como una coma.
Examinar la exportación CSV
Después de exportar los datos a un archivo CSV, puedes ver rápidamente las primeras líneas del archivo utilizando el comando head
:
head -5 /home/labex/project/tcp_summary.csv
La salida podría verse así:
frame.number,ip.src,ip.dst,tcp.srcport,tcp.dstport
1,192.168.1.100,93.184.216.34,43210,443
2,93.184.216.34,192.168.1.100,443,43210
3,192.168.1.100,93.184.216.34,43210,443
...