Filtros de captura y filtros de visualización
Diez minutos de captura en una laptop son miles de paquetes. Wireshark tiene dos filtros que se escriben distinto y actúan en momentos distintos; confundirlos es el error de la primera semana.
Filtro de captura: decide qué se guarda
Se escribe antes de iniciar, en el campo sobre la lista de interfaces. Usa BPF (Berkeley Packet Filter, "filtro de paquetes de Berkeley"), la misma sintaxis de tcpdump. Lo que no cumple el filtro nunca se guarda.
[not] [PROTOCOLO] [src|dst] TIPO VALOR [and|or EXPRESIÓN]port 53 solo DNS
host 192.0.2.25 todo lo que entra o sale de ese equipo
net 192.0.2.0/24 una red completa
tcp port 8080 solo TCP en el puerto 8080
not port 443 todo excepto HTTPS
port 53 or tcp port 80 DNS o HTTP sin cifrarÚselo en capturas largas.
Filtro de visualización: decide qué se muestra
Se escribe después, en la barra sobre la lista de paquetes. Usa nombres de campo de Wireshark (protocolo.campo), mucho más expresivos. No borra nada: oculta lo que no coincide.
CAMPO OPERADOR VALOR [and|or EXPRESIÓN]| Operador | Qué hace | Ejemplo |
|---|---|---|
== o eq | Igual a | tcp.port == 8080 |
!= o ne | Distinto de | ip.src != 192.0.2.1 |
contains | El campo contiene un texto | dns.qry.name contains "secwing" |
and o && | Exige ambas condiciones | dns and ip.addr == 192.0.2.25 |
or | Basta una (también dos barras) | dns or arp |
not o ! | Niega | !(arp or dns) |
ip.addr == 192.0.2.25 origen o destino igual a esa IP
http.request.method == "POST" solo envíos de datos
dns.flags.rcode == 3 respuestas NXDOMAIN, nombre inexistente
tcp.flags.syn == 1 && tcp.flags.ack == 0 intentos de conexión nuevosBarra verde, filtro válido; roja, error. Atajo: clic derecho sobre un campo > Aplicar como filtro.
La diferencia en una tabla
| Filtro de captura | Filtro de visualización | |
|---|---|---|
| Momento | Antes de capturar | Durante o después |
| Sintaxis | BPF: port 53 | Campos: udp.port == 53 |
| Efecto | Descarta para siempre | Oculta, no borra |
Ficha de tshark
tshark es el Wireshark de terminal (terminal Wireshark) y viene en el mismo instalador.
Sintaxis
tshark [-i INTERFAZ | -r ARCHIVO] [-f "CAPTURA"] [-Y "VISUALIZACIÓN"] [-w ARCHIVO]Opciones principales
| Opción | Qué hace | Ejemplo |
|---|---|---|
-D | Lista las interfaces numeradas | tshark -D |
-i / -r | Captura en una interfaz / lee un archivo | -i 1, -r dns.pcapng |
-f / -Y | Filtro de captura / de visualización | -Y "dns" |
-w | Guarda lo capturado | -w dns.pcapng |
-T fields -e | Imprime solo los campos pedidos | -T fields -e dns.qry.name |
$ tshark -r dns.pcapng -Y "dns.flags.rcode == 3" -T fields -e dns.qry.name
a8f3k2q9z7x1.datos.secwing.example
m4t6p0w2r8y5.datos.secwing.exampleErrores frecuentes
"port" is neither a field nor a protocol name.Escribió sintaxis BPF en la barra de visualización; allí se dice udp.port == 53.
tshark: Invalid capture filter "prot 53" for interface 'wlan0'.El filtro BPF tiene un error de escritura: corrija a port 53.