Presentación de la interfaz de línea de comandos de Wireshark: El TShark
TShark está diseñado como una interfaz CLI o de línea de comandos de Wireshark para capturar y analizar paquetes directamente desde la CLI. La mayoría de la gente no conoce TShark, a diferencia del Wireshark que se utiliza habitualmente. TShark viene incluido con Wireshark. Esto es especialmente útil cuando no se dispone de una interfaz gráfica de usuario. Todas las opciones utilizadas en Wireshark también se admiten aquí. Por ejemplo, los paquetes capturados pueden almacenarse en un archivo y recuperarse posteriormente para su análisis. El formato de archivo de captura por defecto es pcapng, que es el mismo que utiliza Wireshark. La ventaja de utilizar TShark es que se puede incluir en los scripts (se puede utilizar dentro de un script de python) y se puede utilizar en sistemas remotos a través de SSH. El inconveniente es, por supuesto, que no tiene una interfaz gráfica de usuario.
Al igual que Wireshark, TShark está disponible para los principales sistemas operativos: Linux, Mac OS y Windows.
¿Qué vamos a cubrir aquí?
En este tutorial, te explicaremos qué es TShark y te presentaremos algunos casos de uso básicos. Vamos a sumergirnos en TShark. Para esta guía, utilizaremos Kali Linux, que ya viene con WireShark y TShark.
¿Qué necesitas?
En realidad, necesitas tener un conocimiento profundo de los conceptos de las redes informáticas y de los protocolos relacionados, como TCP/IP, etc. Además, en algunos casos, pueden ser necesarios derechos administrativos.
Instalación de TShark
TShark viene preinstalado en Kali Linux. Para instalarlo en un sistema Ubuntu/Debian utiliza el comando
$ sudo apt install tshark
Para otras distribuciones, utiliza la forma de instalación por defecto para instalar TShark. Para comprobar la versión de TShark en tu sistema, abre un terminal e introduce
$ tshark -v
TShark vs Tcpdump
TShark tiene la misma capacidad que Wireshark. TShark funciona igual que tcpdump cuando no se utiliza ninguna opción. Incluso TShark es capaz de sustituir a tcpdump. Comparemos las dos herramientas por un momento. Fíjate en la captura de pantalla de abajo, hemos ejecutado ambas herramientas sin ninguna opción:
Si observas con atención, te darás cuenta de que la salida de TShark es más legible para los humanos en comparación con tcpdump. TShark utiliza la biblioteca pcap para capturar paquetes. Por defecto, escribirá el archivo de salida en el formato pcapng. Si quieres otro formato, utiliza la opción ‘-F’ para listar y seleccionar uno de los formatos disponibles.
Manos a la obra con TShark
Pasemos ahora a ver algunos casos de uso de TShark. Empezamos por comprobar la interfaz disponible para que TShark capture en ella. Dependiendo de tu método de instalación, puede que necesites tener privilegios «sudo». Ejecuta el siguiente comando para obtener la lista de interfaces disponibles:
$ tshark -D
Elección de la interfaz de escucha
Por defecto, TShark captura en la primera interfaz que ve. Por lo tanto, de la lista anterior, TShark fijará su objetivo en ‘eth0’. Por tanto, si no especificamos la interfaz, utilizará automáticamente la interfaz ‘eth0’. Sin embargo, si queremos definir explícitamente la interfaz, tendremos que utilizar la opción ‘-i’:
$ tshark -i eth0
De esta forma, TShark capturará todo lo que pase por ella. Si queremos podemos limitar la captura a pocos paquetes, por ejemplo a 10 paquetes, utilizando la opción ‘-c’ o de recuento de paquetes:
$ tshark -i eth0 -c 10
Almacenar los archivos de captura
Una cosa buena que tiene TShark es que podemos guardar las capturas en un archivo para su uso posterior. En el comando anterior utiliza la opción ‘-w’ para guardar la captura en un archivo, por ejemplo, mycapture.pcap:
$ tshark -c 500 -w micaptura.pcap
Para leer el archivo anterior, utiliza el comando
$ tshark -r mycapture.pcap
La salida del comando anterior se mostrará en el terminal.
Especificar un host de destino
Podemos configurar TShark para que filtre el tráfico que va y viene de un host específico, por ejemplo, google.com. Para demostrarlo, enviemos una solicitud de ping a ‘google.com’
$ ping google.com
Ahora ejecutamos el comando TShark para capturar el tráfico anterior:
$ tshark -i eth0 -c 10 host google.com
Nota: También podemos utilizar la dirección IP del host en lugar del nombre del mismo.
El comando anterior contiene todas las solicitudes de ping enviadas hacia y desde el host (google.com). Para filtrar el tráfico entrante, utiliza el comando
$ tshark -i eth0 src host google.com
Del mismo modo, utiliza el siguiente comando para filtrar el tráfico saliente
$ tshark -i eth0 dst host google.com
De forma similar a una solicitud de ping, también podemos ejecutar un escaneo Nmap y guardar nuestros resultados en un archivo o analizarlo directamente con TShark.
Conclusión
TShark es una herramienta muy esencial para los analizadores de seguridad. Este artículo sólo toca la superficie para que sepas lo que puedes hacer con TShark. Hay todo un mundo de grandes posibilidades con TShark. Para saber más sobre TShark, visita https://www.wireshark.org/docs/, donde encontrarás vídeos de formación, guías, etc. Las páginas man para TShark también almacenan enormes fuentes de información.