F1r0x
GitHub
tshark

¿Qué es Tshark?

Thark es una herramienta para realizar análisis de protocolos. Se utiliza a través de línea de comandos. Todo el manejo tiene que realizarse a través de comandos.

Como herramienta similar encontramos Tcpdump. Esta también es muy utilizada en entornos Linux que no disponen de entorno gráfico para trabajar.

Tshark puede realizar análisis en tiempo real o investigar una captura guardada. Estos son los conocidos ficheros pcap o pcapng. La ventaja que nos ofrece Tshark frente a otras herramientas en línea de comandos es su funcionamiento. Podríamos decir sin equivocarnos que es Wireshark, pero en línea de comandos. Esto quiere decir que las personas que estén acostumbradas a trabajar con Wireshark van a poder realizar las mismas tareas, pero sin tener que hacerlo a través de ventanas y botones. Lo que permite incluso utilizarlo o incorporarlo en scripts automatizados.

Capturar paquetes http:

tshark -i tun0 -Y "http" 2>/dev/null

Capturar paquetes http y guardar resultados en un archivo .cap:

tshark -i tun0 -w Captura.cap 2>/dev/null

Representar los resultados guardados de un análisis con Tshark:

Ahora, los resultados han quedado guardados en el archivo Captura.cap, para poder representar los archivos sustituimos la opción -i por -r:

tshark -r Captura.cap 2>/dev/null

Filtrar resultados guardados:

Para filtrar y representar por pantalla los resultados guardados de un análisis con Tshark, utilizaremos la opción -Y:

tshark -r Captura.cap -Y “[Palabra Filtrada]” 2>/dev/null

Ejemplo:

tshark -r Captura.cap -Y "http" 2>/dev/null

En este ejemplo, Tshark representará la información que contenga la palabra http.

Ver atributos de un paquete:

Empleando la opción -Tjson podremos ver por cada paquete filtrado pro la palabra http todos sus atributos en json.

tshark -r Captura.cap -Y “http” -Tjson 2>/dev/null

Filtrar por campos que contenga el archivo:

En el siguiente ejemplo vamos a ver como extraer toda la data en hexadecimal de un campo específico. En este caso Tshark mediante la opción -Tfields especifica que queremos exportar un campo y data.data es el campo que queremos exportar.

tshark -r Captura.cap -Y “http” -Tfields -e “data.data” 2>/dev/null