Cómo utilizar los filtros en Wireshark

Wireshark es un software libre y de código abierto (FOSS) y está desarrollado por una comunidad de entusiastas desarrolladores. Wireshark (antes Ethereal) se utiliza para capturar e investigar el tráfico de una red. Con Wireshark uno puede ver lo que ocurre en su red: Puedes ver desde dónde entra el tráfico y hacia dónde va. Si trabajas en un entorno de producción, vas a tener mucho tráfico. Será muy engorroso inspeccionar este tráfico sin conocer las funcionalidades de los filtros de Wiresharks. Utilizando los filtros podrás ver exactamente el tipo de tráfico que quieres y todo lo demás se eliminará de la escena.

¿Qué vamos a cubrir?

En esta guía, vamos a explorar cómo crear y aplicar eficazmente filtros en Wireshark. Empecemos ahora.

Presentación de los filtros Wireshark

Los filtros de Wireshark sirven para simplificar la búsqueda de paquetes. Por ejemplo, si quieres ver sólo el tráfico TCP o los paquetes de una dirección IP concreta, tienes que aplicar los filtros adecuados en la barra de filtros. Wireshark no entiende las frases directas «filtra el tráfico TCP» o «muéstrame el tráfico del destino X», por lo que tienes que aprender una sintaxis y unas reglas complicadas para aplicar estos filtros.

Hay básicamente dos tipos de filtros en Wireshark: Filtro de Captura y Filtro de Visualización. Hay una diferencia entre la sintaxis de ambos y en la forma en que se aplican.

Los filtros de captura se aplican antes del inicio de la operación de captura. De este modo, sólo se almacena el tráfico que te interesa ver. Este filtro no se puede cambiar después del inicio de la operación de captura. Los filtros de visualización, en cambio, se aplican sobre todos los paquetes capturados. Se puede cancelar y cambiar posteriormente (se puede aplicar mientras se está ejecutando una captura).

En el filtro de visualización, la captura se almacena realmente en un buffer de rastreo. Así, sólo oculta el tráfico que no te interesa y sólo muestra el que te interesa.

Escribir un filtro de captura

Empecemos por el filtro de captura. Puedes encontrar el filtro de captura en la primera pantalla después de iniciar Wireshark:

Filtro de captura
El filtro se aplicará a la interfaz seleccionada. Otra forma es utilizar el menú Captura y seleccionar el submenú Opciones (1).

Menú de Captura

También puedes hacer clic en el icono del engranaje (2), en cualquiera de los casos, aparecerá la siguiente ventana:

Opciones del menú de captura
En la caja de texto etiquetada como «Introduce un filtro de captura», podemos escribir nuestro primer filtro de captura. Pero si quieres puedes utilizar el icono del marcador para utilizar los filtros ya hechos.

Los filtros de captura se escriben en el formato de filtro de la libpcap. Se construyen a partir de una secuencia de expresiones primitivas. Estas expresiones están unidas por conjunciones (y/o) y pueden empezar por un «no». Esta es la sintaxis:

[not] primitive [and|or [not] primitive ...]

Para ilustrarlo, supongamos que queremos capturar el tráfico UDP desde o hacia el host 192.168.18.161. La expresión del filtro de captura, en este caso, será

udp y host 192.168.18.161

Menú de Captura de Expresión
Algunas de las primitivas a utilizar en la expresión anterior pueden ser

  1. [src|dst] host <host>: Se utiliza para filtrar sobre una dirección IP o un nombre de host. Puede ir precedido de src|dst para identificar la dirección de origen o de destino.
  2. ether [src|dst] host <ehost>: Se utiliza para filtrar sobre direcciones de host Ethernet. También puede ir precedido de src|dst para identificar la dirección de origen o de destino.
  3. puerta de enlace host <host>: Se utiliza para filtrar los paquetes que han utilizado el host como puerta de enlace.
  4. [src|dst] net <net> [{máscara <mask>}|{len <len>}]: Se utiliza para filtrar por números de red. También puede ir precedido de src|dst para identificar la dirección de origen o de destino.
  5. [tcp|udp] [src|dst] puerto <port>: Se utiliza para filtrar por números de puerto TCP y UDP.

Puedes encontrar todas las primitivas para la expresión anterior en la lista de aquí.

Escribir un filtro de visualización

Para escribir un filtro de visualización, algo que necesitarás es el conocimiento de los operadores booleanos. Sí, tienes razón, estamos hablando de las operaciones básicas AND, OR y NOT. Con ellos también podemos combinar varias consultas de filtro en una sola. Por ejemplo, si buscamos tráfico TCP y paquetes que utilicen el puerto 80, podemos escribir el filtro como

tcp y tcp.puerto == 80

Otra forma es utilizar la expresión

tcp && tcp.port == 80

Filtro de la pantalla

A continuación hemos enumerado las expresiones booleanas más utilizadas en los filtros de visualización:

1. == o eq (Operación de igualdad)

2. && o and (operación And)

3. || (doble tubería) o or (operación Or)

Conclusión

En esta guía hemos aprendido a «utilizar los filtros en el software Wireshark». Te recomendamos que explores los filtros de Wireshark realizando prácticas. De este modo, podrás comprender mejor esta herramienta. Si te interesa, puedes explorar más sobre Wireshark visitando el sitio web oficial de Wireshark en https://www.wireshark.org.

También te podría gustar...