Análisis de red con Wireshark. Filtros de captura y visualización.
Este artículo es fruto de algunos correos y algún comentario relativo a como filtrar en Wireshrak.
Wireshark contempla dos tipos de Filtros. Filtros de capura y Filtros de visualización. Como ya hemos comentado en otras ocasiones, en Wireshark para los filtros de captura podemos hacer uso de la ya aprendido en los filtros TCPDump / Windump, ya que usa la misma libreria pcap.
Los filtros de captura (Capture Filter) son los que se establecen para mostrar solo los paquetes de cumplan los requisitos indicados en el filtro.
Los filtros de visualización (Display Filer) establecen un criterio de filtro sobre las paquetes capturados y que estamos visualizando en la pantalla principal de Wireshark. Estos filtros son mas flexibles y pontentes.
Vamos a estudiar cada uno de ellos.
Filtros de Captura (Capture Filter)
Estos filtros están basados en las librerías pcap. Los filtros son los mismos que podemos aplicar para Windump / TCPDump y que hemos visto aquí.
Así pues, para estos filtros, solo estudiaremos algunos ejemplos y como aplicarlos a Wireshark.
Los filtros de captura son los que se establecen para mostrar solo los paquetes de cumplan los requisitos indicados en el filtro. Si no establecemos ninguno, Wireshark capturará todo el tráfico y lo presentará en la pantalla principal. Aún así podrémos establecer filtros de visualización (display filter) para que nos muestre solo el trafíco deseado.
Se aplican en Capture > Options:

En el campo Capture Filter introducimos el filtro o pulsamos el botón Capture Filter para filtros predefinidos:

Sintaxis de los Filtros y ejemplos de Filtros de captura.
Combinación de Filtros.
Podemos combinar las primitivas de los filtros de la siguiente forma:
- Negación: ! ó not
- Unión o Concatenación: && ó and
- Alternancia:|| ó or
Vamos ahora a los filtros:
|
Filtros basados en hosts
|
|
|---|---|
| Sintaxis | Significado |
| host host | Filtrar por host |
| src host host | Capturar por host origen |
| dst host host | Capturar por host destino |
| Ejemplos | |
| host 192.168.1.20 | Captura todos los paquetes con origen y destino 192.168.1.20 |
| src host 192.168.1.1 | Captura todos los paquetes con origen en host 192.1681.1 |
| dst host 192.168.1.1 | Captura todos los paquetes con destino en host 192.168.1.1 |
| dst host SERVER-1 | Captura todos los paquetes con destino en host SERVER-1 |
| host www.terra.com | Captura todos los paquetes con origen y distino www.terra.com |
|
Filtros basados en puertos
|
|
| Sintaxis | Significado |
|
port port
|
Captura todos los paquetes con puerto origen y destino port
|
|
src port port
|
Captura todos los paquetes con puerto origen port
|
|
dst port port
|
Captura todos los paquetes con puerto destino port
|
|
not port port
|
Captura todos los paquetes excepto origen y destino puerto port
|
|
not port port and not port port1
|
Captura todos los paquetes excepto origen y destino puertos port y port1
|
| Ejemplos | |
|
port 21
|
Captura todos los paquetes con puerto origen y destino 21
|
|
src port 21
|
Captura todos los paquetes con puerto origen 21
|
|
not port 21 and not port 80
|
Captura todos los paquetes excepto origen y destino puertos 21 y 80
|
|
portrange 1-1024
|
Captura todos los paquetes con puerto origen y destino en un rango de puertos 1 a 1024
|
| dst portrange 1-1024 | Captura todos los paquetes con puerto destino en un rango de puertos 1 a 1024 |
|
Filtros basados en protocolos Ethernet / IP
|
|
| Ejemplos | |
| ip | Captura todo el trafico IP |
| ip proto \tcp | Captura todos los segmentos TCP |
| ether proto \ip | Captura todo el trafico IP |
| ip proto \arp | Captura todo el trafico ARP |
|
Filtros basados en red
|
|
| Sintaxis | Significado |
| net net | Captura todo el trafico con origen y destino red net |
| dst net net | Captura todo el trafico con destino red net |
| src net net | Captura todo el trafico con origen red net |
|
Ejemplos
|
|
| net 192.168.1.0 | Captura todo el trafico con origen y destino subred 1.0 |
| net 192.168.1.0/24 | Captura todo el trafico para la subred 1.0 mascara 255.0 |
| dst net 192.168.2.0 | Captura todo el trafico con destino para la subred 2.0 |
| net 192.168.2.0 and port 21 | Captura todo el trafico origen y destibo puerto 21 en subred 2.0 |
| broadcast | Captura solo el trafico broadcast |
| not broadcast and not multicast | Captura todo el trafico excepto el broadcast y el multicast |
Aunque son filtros con ejemplos para Windump y TCPdump, los siguientes estudis de filtros avanzados se puedan aplicar sin problemas en Wireshark. Filtros avanzados aquí, aquí y aquí.
Filtros de Visualización (Display Filter)
Los filtros de visualización establecen un criterio de filtro sobre las paquetes que estamos capturano y que estamos visualizando en la pantalla principal de Wireshark. Al aplicar el filtro en la pantalla principal de Wireshark aparecerá solo el trafíco filtrado a través del filtro de visualización.
Lo podemos usar también para filtrar el contenido de una captura a través de un fichero pcap ( archivo.pcap ).
Comparando Filtros.
- Igual a: eq ó ==
- No igual: ne ó !=
- Mayor que:gt ó >
- Menor que: lt ó <
- Mayor o igual: ge ó >=
- Menor o igual: le ó <=
Combinando Filtros.
- Negación: ! ó not
- Unión o Concatenación: && ó and
- Alternancia:|| ó or
Otro operadores.
- Contains: Realizamos una busqueda por la cadena contains
Como aplicar los Filtros.

Si queremos aplicar otro filtro pulsamos el botón Clear, introducimos el filtro y pulsamos Apply.
Ejemplos de filtros:
|
Filtros de visualización
|
|
|---|---|
| Ejemplos | |
| Sintaxis | Significado |
| ip.addr == 192.168.1.40 | Visualizar tráfico por host 192.168.1.40 |
| ip.addr != 192.168.1.25 | Visualizar todo el tráfico excepto host 192.168.1.25 |
| ip.dst == 192.168.1.30 | Visualizar por host origen 192.168.1.30 |
| ip.src == 192.168.1.30 | Visualizar por host destino 192.168.1.30 |
| ip | Visualiza todo el tráfico IP |
| tcp.port ==143 | Visualiza todo el tráfico origen y destino puerto 143 |
| ip.addr == 192.168.1.30 and tcp.port == 143 | Visualiza todo el tráfico origen y destino puerto 143 relativo al gost 192.168.1.30 |
| http contains "http://www.terra.com" | Visualiza el trafico origen y destino www.terra.com. Visualiza los paquetes que contienen www.terra.com en el contenido en protocolo http. |
| frame contains "@miempresa.es" | Visualizamos todos los correos con origen y destivo al dominio miempresa.es, incluyendo usuarios, pass, etc |
| icmp[0:1] == 08 | Filtro avanzado con el que visualizamos todo el tráfico icmp de tipo echo request |
| ip.ttl == 1 | Visualiza todo los paquetes IP cuyo campo TTL sea igual a 1 |
| tcp.windows_size != 0 | Visualizar todos los paquetes cuyos campo Tamaño de Ventana del segmento TCP sea distinto de 0 |
| ip.tos == x | Visualiza todo los paquetes IP cuyo campo TOS sea igual a x |
| ip.flags.df == x | Visualiza todo los paquetes IP cuyo campo DF sea igual a x |
| udp.port == 53 | Visualiza todo el trafico UDP puerto 53 |
| tcp contains "terra.com" | Visualizamos segmentos TCP conteniendo la cadena terra.com |
Tags: Wireshark display filter capture captura ethernet windump tcpdump análisis tráfico red filtros avanzados interpretar snort tcp icmp ip ethereal
Meneame |
del.icio.us





Hola,
Me parece increible la cantidad de información útil que nos ofreces en tu blog. Yo he aprendido infinidad de cosas con él. Muchas gracias.
Una pregunta que quería hacerte. He estado leyendo el artículo sobre donde poner un sniffer en una lan para olisquear todo el tráfico. En mi situación lo que yo estoy haciendo ahora es correr wireshark en mi máquina y cambiar la dirección del gateway y yo suplantar al gateway, pero esto deja sin inet a todos los de mi lan. Hay alguna posibilidad de poder montar facilmente un proxy o algo en mi máquina para q esto sea transparente?.
Gracias por adelantado,
HexDump.