OpenWebinars

Ciberseguridad

Tshark: Qué es y primeros pasos

Si quieres saber qué es y en qué consiste la herramienta Tshark, así como comenzar a trabajar con la misma, te lo contamos a continuación en este artículo.

Angel Camaño

Angel Camaño

Experto en Ciberseguridad

Lectura 9 minutos

Publicado el 10 de junio de 2022

Compartir

Introducción

En este post voy a contarte qué es y en que consiste la herramienta Tshark. Así como los primeros pasos para poder trabajar con ella. Pero antes de entrar en detalles particulares, hay que conocer algunos detalles previos.

Lo primero de todo que tenemos que conocer es el concepto de análisis de protocolos o analizador de protocolos. Esto consiste en monitorizar una red de datos y analizar el tráfico que se está moviendo en las comunicaciones.

Este tipo de análisis son llevados a cabo normalmente para verificar que la red funciona correctamente. Del mismo modo, se puede utilizar para analizar capturas de red después de haber sufrido una intrusión.

Como herramientas más conocidas para realizar estas tareas podemos encontrar Wireshark o Ethereal. Ambas son herramientas utilizadas mediante entorno gráfico.

Imagen 0 en Tshark: Qué es y primeros pasos

Si quieres más información sobre esa herramienta, te proponemos leer nuestro artículo Wireshark: Qué es y ejemplos de uso.

Qué es TShark

En la introducción hemos nombrado dos herramientas muy utilizadas para realizar tareas de análisis de protocolos. Entonces, ¿cómo encaja Tshark en todo esto?

Tshark se define como una herramienta para realizar también análisis de protocolos. La diferencia en este caso es que se utiliza a través de línea de comandos. Es decir, no encontramos ningún tipo de botón ni nada parecido. 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.

Al igual que se puede realizar en la herramienta Wireshark, en el caso de Tshark se 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.

Tshark vs Wireshark

¿Podríamos realizar una comparativa entre estas dos herramientas? ¿Podríamos ponerlas en un duelo a ver cuál es mejor? La verdad es que cualquier herramienta puede ser comparada con otra ya que esto nos permite ver que potencial nos da cada una de ellas. Así posteriormente poder decidirnos por una u otra en función del uso que necesitemos.

En este caso no existen muchas diferencias entre una herramienta y otra. ¿Por qué? La respuesta es sencilla y la hemos adelantado anteriormente. Podemos decir que Tshark es la herramienta en línea de comandos que nos permite trabajar como si fuese Wireshark.

Entonces, ¿Qué ventajas me ofrece una frente a la otra? La respuesta también es sencilla. Las personas que no necesitan trabajar mucho con la línea de comandos o realizar complejos análisis. O que simplemente están más acostumbrados al entorno gráfico, su herramienta va a ser Wireshark.

En el lado opuesto encontramos a personas que trabajan habitualmente con la línea de comandos y que están muy familiarizados. En este perfil encontramos también personas que utilizan estas herramientas y capturas de red para tratarlas a través de scripts en el sistema. Para este tipo de perfiles la recomendación es utilizar Tshark.

Como puedes comprobar no hay una herramienta mejor que la otra. La realidad es que va a depender realmente del perfil de la persona que trabaje con ella y el propósito que desea conseguir.

Instalación de Tshark

La instalación de Tshark no es difícil de realizar. Vamos a utilizar un sistema operativo Linux, en particular una distribución bastante conocida como es Ubuntu.

Para comenzar tenemos que abrir un terminal en el sistema y proceder a la instalación a través del gestor de paquetes. Sin olvidar que esta acción hay que realizarla con credenciales de root a través de sudo.

$ sudo apt-get install tshark

Imagen 2 en Tshark: Qué es y primeros pasos

Durante la fase previa de instalación el sistema nos informa de los paquetes que se van a instalar y el tamaño que van a ocupar estos en el sistema. Para continuar deberemos indicar que deseamos continuar con la instalación como muestra la siguiente imagen.

Imagen 3 en Tshark: Qué es y primeros pasos

Esto llevará al comienzo de la instalación de Tshark. El proceso no llevará mucho tiempo de duración. Dependerá principalmente de la velocidad de la conexión a Internet que tenga el sistema desde el que se realiza.

Una vez finalizada la instalación el sistema nos devolverá el prompt de la consola. En este punto podemos verificar que se ha instalado correctamente a través de la versión instalada. Para poder realizar esto tenemos que lanzar Tshark junto con su opción “-v”.

$ tshark -v

Imagen 4 en Tshark: Qué es y primeros pasos

En este caso podemos ver que la versión que se ha instalado corresponde a la 2.6.10.

Una vez comprobado que todo está instalado correctamente tenemos que conocer lo que más nos va a ayudar en el uso de la herramienta. En definitiva, corresponde a la propia ayuda que nos ofrece el comando. Para poder verla deberemos lanzar Tshark con la opción “-h”.

$ tshark -h

Imagen 5 en Tshark: Qué es y primeros pasos

Como se puede observar en la captura, encontramos los distintos parámetros que se le pueden aportar al comando. Así como la función que tiene cada uno de ellos y los parámetros adicionales que se le pueden aportar.

A partir de este punto todo lo que se puede realizar a través de Tshark va a ser en función de lo que se esté deseando revisar o analizar.

Ejemplos de uso de Thsark

En los apartados anteriores hemos realizado una introducción de la herramienta y su instalación, pero ¿Qué es esta herramienta sin ver algún ejemplo de uso? Es por esto por lo que en este apartado vamos a ver algunos ejemplos de uso y opciones principales a conocer.

Ver los interfaces de red

Lo primero que nos interesa conocer para poder realizar un análisis de red es saber que interfaces tenemos para poder hacerlo. De esta forma poder definir por cuál de ellas queremos realizar la escucha del tráfico.

Para hacer esto en Tshark lo hacemos mediante la opción “-D”. De esta forma nos aparecen todas las interfaces disponibles en el sistema.

$ tshark -D

Imagen 6 en Tshark: Qué es y primeros pasos

En la captura anterior puedes comprobar las opciones que aparecen en el ejemplo que estamos utilizando. Podemos validar y verificar en el sistema operativo la interfaz que nos interesa monitorizar.

$ ip ad

Imagen 6 en Tshark: Qué es y primeros pasos

Se puede comprobar que la interfaz “enp0s3” es la que corresponde a nuestra tarjeta de red donde tenemos el direccionamiento correcto.

Realizar nuestra primera captura

Para realizar una captura a través de Tshark hay que utilizar la opción “-i”. Con ella lo que hacemos es indicar a la herramienta a través de que interfaz tiene que analizar.

Teniendo en cuenta la información obtenida en el punto anterior, podemos seleccionar la interfaz que deseamos. En este caso lo realizamos a través del identificador que nos ha mostrado. Es decir, identificador 1 de la interfaz enp0s3.

$ tshark -i 1

Imagen 7 en Tshark: Qué es y primeros pasos

Una vez lanzado podemos comprobar que tráfico se está escuchando a través de dicha interfaz de red. En este ejemplo vemos tráfico ARP.

Conocer los filtros

Si estamos en una única máquina realizando pruebas o un pequeño laboratorio que nos montamos en casa para practicar, es posible que tengamos poco tráfico y podamos tratarlo de una buena manera.

Sin embargo, cuando estas tareas se realizan en redes más amplias como son los entornos empresariales, la cantidad de tráfico se vuelve muy difícil de tratar. De esta manera aparece lo que se denomina como “ruido”. No es más que tráfico que no nos interesa.

Aquí es donde cobra sentido el concepto de filtros. Nos van a permitir poner un poco de orden entre toda la información que se captura. Por ejemplo, deseamos únicamente conocer el tráfico que pertenece a un único dispositivo, en este caso la máquina local desde la que utilizamos la herramienta. Para ello tenemos que indicar a Tshark que únicamente queremos los paquetes de dicho dispositivo. Esto lo realizamos con la opción “-f” e indicando a continuación entre comillas dobles la palabra “host” seguido de la dirección IP que queremos filtrar.

La opción “-f” la podemos encontrar en la propia ayuda de Tshark.

Imagen 8 en Tshark: Qué es y primeros pasos

La ejecución completa con el ejemplo que hemos planteado se realizaría de la siguiente forma.

$ tshark -i 1 -f “host 10.0.2.15”

Imagen 9 en Tshark: Qué es y primeros pasos

Otro ejemplo puede ser que únicamente deseemos ver el tráfico web realizado en el protocolo http. El cual conocemos que por defecto escucha en el puerto 80 de los servidores. Para ello tendríamos que indicar que queremos el tráfico que tenga como destino el puerto 80.

$ tshark -i 1 -f “dst port 80”

Imagen 10 en Tshark: Qué es y primeros pasos

Los filtros que hemos visto hasta ahora son denominados filtros en la captura, pero existen otro tipo de filtros. Estos son denominados filtros de visualización. La diferencia entre ellos es que estos últimos realizan los filtros sobre una captura completa de tráfico. Al igual que se realizan en el propio entorno gráfico de Wireshark.

Estos filtros se venían realizando con la opción “-R”. Sin embargo, como podemos encontrar en la propia ayuda de la herramienta, en la actualidad tenemos que utilizar la opción “-Y”.

Imagen 11 en Tshark: Qué es y primeros pasos

En este caso imaginemos que queremos ver en una captura de tráfico únicamente los paquetes que tienen como destino un servidor al que se accede remotamente por SSH. Es decir, por defecto tendrá a la escucha el puerto 22. Por lo tanto, tenemos que realizar el filtro sobre el puerto TCP número 22.

$ tshark -i 1 -Y “tcp.port == 22”

Imagen 12 en Tshark: Qué es y primeros pasos

Leer ficheros .pcap de capturas anteriores

Hasta ahora sólo hemos visto y realizado ejemplos de capturas en tiempo real. Es decir, poniendo nuestra interfaz de red a monitorizar y analizar el tráfico que se mueve. Sin embargo, como hemos nombrado anteriormente, Tshark también es capaz (al igual que Wireshark) de leer ficheros .pcap.

Esta forma de trabajar se puede realizar, por ejemplo, cuando sucede un incidente dentro de una red corporativa. De esta forma se obtienen las capturas de red del intervalo de tiempo donde sucedió el problema y se intenta investigar qué es lo que ha sucedido.

Para poder leer un archivo de este tipo en Tshark hay que utilizar la opción “-r”. No confundir con la misma letra en mayúsculas. Hemos visto anteriormente que se utilizaba para otras tareas en el pasado.

Imagen 13 en Tshark: Qué es y primeros pasos

En nuestra máquina de pruebas disponemos de un fichero .pcapng en el escritorio del usuario, por lo que se encuentra en la siguiente ruta “/home/user/Escritorio/test.pcapng”. Lo indicamos de la siguiente manera para que Tshark pueda leerlo.

$ tshark -r /home/user/Escritorio/test.pcapng

tsh

Como se puede comprobar en la captura anterior, la información que contiene este fichero es mostrada por consola. Por lo que se puede gestionar sin ningún problema a través de la terminal del sistema operativo.

Conclusión

A lo largo de este artículo has podido tener un primer contacto con la herramienta Tshark así como que usos se le puede dar. Como has comprobado es una herramienta en su totalidad usada en línea de comandos, por lo que tienes que sentirte a gusto y cómodo trabajando en este entorno.

La funcionalidad que ofrece la integración con la línea de comandos es muy grande. Es este motivo el que lleva a plantearse la opción de pasarse a esta herramienta y dejar poco a poco de utilizar las habituales de entorno gráfico.

El gran beneficio que vamos a obtener utilizando a través de la línea de comandos es la gran versatilidad que ofrece. Incluida la potencia frente al entorno gráfico. Sobre todo, en entornos empresariales en los que las máquinas pueden no tener disponible un entorno gráfico con el que trabajar.

Adicionalmente a esto, el poder trabajar e integrarlo con scripts del sistema operativo, ofrece un plus muy grande a la hora de trabajar con grandes cantidades de tráfico de red. Pudiendo de esta forma realizar cualquier tipo de automatismos. Estos podrían ser en la monitorización en tiempo real o la posterior investigación de capturas anteriores a través de los ficheros .pcap o .pcapng.

Compartir este post

También te puede interesar

Icono de la tecnología
Curso

Curso de introducción a la Ciberseguridad

Avanzado
4 h.

Este curso online es una interesante introducción a la ciberseguridad, en el que aprenderás los conceptos básicos y...

David Reinares Lara
4.1