Redes & Protocolos Wireshark Análisis Práctico 2026

Wireshark: guía completa de filtros, comandos y análisis de tráfico [2026]

Por Álvaro Chirou · · 28 min de lectura · Actualizado: 6 sep 2026

Wireshark puede capturar miles de paquetes en pocos segundos, pero el desafío no es almacenarlos: el verdadero problema es saber qué estás buscando. Aprender Wireshark no consiste en memorizar una lista interminable de filtros, sino en saber formular preguntas precisas a la red: ¿quién inició la conexión?, ¿qué DNS resolvió?, ¿se completó el handshake TCP?, ¿hubo retransmisiones o resets? En esta guía aprenderás desde los display filters esenciales hasta sintaxis BPF, TShark, troubleshooting y análisis forense para Blue Team.

Wireshark: guía completa de filtros, comandos y análisis de tráfico
Idea clave: Wireshark no sustituye tus conocimientos de redes: los hace visibles. Si todavía no dominas IP, TCP/UDP, puertos, DNS o routing, revisa antes nuestra guía de Redes para ciberseguridad: qué debes aprender y en qué orden.

Respuesta rápida: los filtros Wireshark que deberías conocer primero #

Si ya tienes una captura de paquetes abierta en tu ordenador y necesitas una referencia rápida de visualización, estos son los display filters fundamentales:

Objetivo de análisis Display Filter
Mostrar TCP tcp
Mostrar UDP udp
Mostrar DNS dns
Mostrar ARP arp
Mostrar ICMP icmp
Mostrar TLS tls
Mostrar HTTP / HTTP/2 http || http2
Mostrar QUIC quic
Una IP como origen o destino ip.addr == 192.168.1.10
Filtrar solo paquetes de origen ip.src == 192.168.1.10
Filtrar solo paquetes de destino ip.dst == 192.168.1.10
Puerto TCP específico tcp.port == 443
Puerto UDP específico udp.port == 53
Inicio de conexión: SYN sin ACK tcp.flags.syn == 1 && tcp.flags.ack == 0
Cierre abrupto: TCP Reset tcp.flags.reset == 1
Retransmisiones TCP tcp.analysis.retransmission
Fast Retransmissions tcp.analysis.fast_retransmission
Duplicate ACKs tcp.analysis.duplicate_ack
Segmentos fuera de orden tcp.analysis.out_of_order
Aislar una conversación TCP tcp.stream == 5
Consultas DNS (Queries) dns.flags.response == 0
Respuestas DNS (Answers) dns.flags.response == 1
Nombre consultado en DNS dns.qry.name contains "ejemplo"
Errores en respuestas DNS dns.flags.rcode != 0
Peticiones HTTP http.request
Peticiones HTTP POST http.request.method == "POST"
Host consultado en cabecera HTTP http.host == "example.com"
SNI visible en handshake TLS tls.handshake.extensions_server_name contains "example.com"
Fundamentos Esenciales de Networking
Fundamentos de Redes: Cómo se realizan las Comunicaciones

Comprende cómo viajan los paquetes, puertos, protocolos y direccionamiento IP antes de auditar tráfico con Wireshark.

Qué es Wireshark y para qué sirve realmente #

Wireshark es un analizador de protocolos de red interactivo de código abierto. Permite capturar tráfico en tiempo real o abrir archivos de captura previos (formatos .pcap y .pcapng) para diseccionar cada paquete en sus capas OSI correspondientes: Ethernet, IP, TCP/UDP, DNS, TLS, HTTP y miles de protocolos adicionales.

La interfaz gráfica se estructura en tres paneles clave:

  1. Packet List: Resumen cronológico de los paquetes capturados (número, tiempo relativo, origen, destino, protocolo e información resumida).
  2. Packet Details: Árbol jerárquico que desglosa los encabezados y campos decodificados del paquete seleccionado.
  3. Packet Bytes: Los bytes brutos en hexadecimal y ASCII que forman físicamente el paquete transmitido por el cable o el aire.

Wireshark es una herramienta de referencia para administradores de sistemas, ingenieros de redes, analistas de SOC, especialistas en respuesta ante incidentes (DFIR) y pentesters. Sin embargo, existe una diferencia insalvable entre capturar paquetes y comprender lo que significan: una retransmisión TCP no implica automáticamente un ciberataque; puede ser una pérdida de señal Wi-Fi o saturación en un enlace. Wireshark aporta las evidencias técnicas; el analista debe aportar el contexto.

Capture Filter vs Display Filter: la diferencia que debes aprender primero #

El error más frustrante al empezar con Wireshark es mezclar los dos motores de filtrado que incorpora el programa. Tienen propósitos, sintaxis y momentos de aplicación completamente distintos:

Dos Motores de Filtrado Diferentes

  • Capture Filters (Filtros de Captura): Se configuran antes de iniciar la captura. Deciden qué paquetes se guardan en el archivo y descartan el resto de forma irreversible. Utilizan la sintaxis libpcap / BPF (Berkeley Packet Filter) (ejemplo: host 192.168.1.50 and port 443).
  • Display Filters (Filtros de Visualización): Se aplican después, sobre la captura ya realizada. No borran ningún paquete: solo ocultan los que no coinciden con la condición visual. Utilizan el motor de disección propio de Wireshark (ejemplo: ip.addr == 192.168.1.50 && tcp.port == 443).

¿Cuál utilizar? Al investigar incidentes o aprender en un entorno controlado, es preferible capturar todo el tráfico y filtrar visualmente después para no perder información crítica. En redes de alta velocidad (enlaces de 10 Gbps o puertos SPAN corporativos), los filtros de captura son indispensables para evitar que el búfer de memoria colapse el sistema.

Cómo funciona la sintaxis de los Display Filters y sus operadores lógicos #

La estructura lógica de un filtro de visualización en Wireshark sigue el patrón:

campo operador valor

Por ejemplo, en ip.src == 192.168.1.20 tenemos el campo del protocolo (ip.src), el operador de comparación (==) y el valor deseado (192.168.1.20).

Puedes combinar múltiples condiciones complejas mediante operadores lógicos:

  • AND (&& o and): Ambas condiciones deben cumplirse. Ejemplo: ip.addr == 192.168.1.20 && tcp.port == 443.
  • OR (|| o or): Al menos una condición debe cumplirse. Ejemplo: dns || icmp.
  • NOT (! o not): Niega una condición. Ejemplo: !(ip.addr == 192.168.1.1).
  • Paréntesis: Permiten agrupar evaluaciones para evitar ambigüedades. Ejemplo: ip.addr == 192.168.1.20 && (tcp.port == 80 || tcp.port == 443).

Filtrar por dirección IP y direcciones MAC en capa 2 y 3 #

En el análisis de incidentes, aislar los hosts participantes es siempre el primer paso:

1. Direcciones IPv4 e IPv6

  • ip.addr == 192.168.1.50: Muestra paquetes donde la IP sea origen o destino.
  • ip.src == 192.168.1.50: Solo paquetes originados por ese equipo. Permite responder: "¿Qué conexiones inició esta máquina?".
  • ip.dst == 192.168.1.50: Solo paquetes dirigidos hacia esa máquina.
  • ipv6.addr == 2001:db8::1: Misma lógica para direccionamiento IPv6.

2. Direcciones Ethernet (Capa 2)

Para investigar suplantaciones de identidad local, ataques ARP spoofing o problemas de conmutación en la LAN:

eth.addr == 00:11:22:33:44:55
eth.src == 00:11:22:33:44:55

Recuerda que la dirección MAC solo tiene validez en el segmento local de red; una vez que el paquete cruza un router, la MAC de origen pasa a ser la del router que reenvía el paquete. Si estás analizando tráfico de radio 802.11 en modo monitor, los filtros cambian a wlan.addr, wlan.bssid y tipos de tramas; aprende a capturarlas e interpretarlas en nuestra guía sobre seguridad WiFi: cómo funciona, WPA2, WPA3 y Wi-Fi 7.

Filtros TCP avanzados: handshake, flags y TCP RST #

El protocolo TCP es el más analizado porque sus banderas (flags) revelan el estado exacto de cada comunicación:

El Three-Way Handshake

Toda sesión TCP normal inicia con la secuencia SYN $\rightarrow$ SYN-ACK $\rightarrow$ ACK. Para localizar los intentos de inicio de conexión iniciados por clientes:

tcp.flags.syn == 1 && tcp.flags.ack == 0

Si observas miles de paquetes que coinciden con este filtro hacia puertos consecutivos sin recibir respuestas, estás ante un escaneo de puertos (SYN scan / Stealth scan) como los que genera Nmap.

Detección de TCP Reset (RST)

tcp.flags.reset == 1

Un paquete con la bandera RST activa fuerza la terminación inmediata de la conexión. Puede indicar que un puerto está cerrado en el servidor, que un firewall intermedio está cortando la sesión deliberadamente, o que un proceso colapsó de manera imprevista.

Retransmisiones y análisis TCP con tcp.stream #

Wireshark cuenta con un motor interno de análisis de flujo TCP extraordinario que detecta anomalías en los números de secuencia y acuses de recibo:

  • tcp.analysis.retransmission: Detecta segmentos TCP que han tenido que reenviarse debido a la falta de confirmación (ACK) del receptor.
  • tcp.analysis.fast_retransmission: Retransmisión acelerada provocada por la llegada de múltiples ACKs duplicados.
  • tcp.analysis.duplicate_ack: Muestra confirmaciones repetidas que señalan que algún paquete intermedio se perdió en tránsito.
  • tcp.analysis.out_of_order: Paquetes que llegaron desordenados respecto a la secuencia esperada.
  • tcp.analysis.flags: Agrupa cualquier paquete que presente advertencias del análisis TCP.

El Poder de tcp.stream

En una captura de 50.000 paquetes, analizar IPs y puertos sueltos resulta agotador. Wireshark numera cada conversación TCP de forma única con un índice entero:

tcp.stream == 5

Puedes hacer clic derecho en cualquier paquete relevante y pulsar Follow $\rightarrow$ TCP Stream. Wireshark abrirá una ventana con la conversación bidireccional reconstruida, mostrando la interacción completa entre cliente y servidor.

Filtros UDP y resolución de nombres con DNS #

El protocolo UDP carece de handshake o retransmisiones integradas, por lo que su análisis se centra en la relación petición/respuesta a nivel de aplicación. En ciberseguridad, DNS es la mayor fuente de inteligencia contextual:

  • dns: Todo el tráfico del sistema de nombres de dominio.
  • dns.flags.response == 0: Solo las preguntas o consultas (Queries) enviadas por los clientes.
  • dns.flags.response == 1: Solo las respuestas devueltas por los servidores DNS.
  • dns.qry.name contains "malicioso": Busca resoluciones de un dominio concreto o subdominio.
  • dns.flags.rcode != 0: Muestra resoluciones con código de error (como NXDOMAIN cuando el dominio solicitado no existe).

Un host infectado suele generar un alto volumen de consultas DNS fallidas (NXDOMAIN) intentando contactar servidores de comando y control mediante algoritmos de generación de dominios (DGA).

Analizar HTTP y tráfico web sin cifrar #

Cuando el tráfico viaja en texto claro mediante HTTP, Wireshark permite auditar hasta el último byte de las transacciones web:

  • http.request: Todas las peticiones generadas por navegadores o aplicaciones.
  • http.request.method == "GET": Peticiones de descarga o lectura de recursos.
  • http.request.method == "POST": Envíos de formularios, APIs o subida de datos.
  • http.host == "target.com": Filtra por el dominio solicitado en la cabecera Host.
  • http.response.code == 404: Localiza errores de recursos no encontrados o respuestas 500 de servidor.
  • http.request.full_uri contains "admin": Busca rutas sensibles en la URL.

TLS, HTTPS, HTTP/2 y QUIC: qué es visible bajo cifrado #

Hoy en día más del 95 % del tráfico web navega bajo TLS (puerto 443). Muchos principiantes asumen que Wireshark es inútil con HTTPS, pero el handshake TLS expone metadatos cruciales antes de establecer el túnel cifrado:

tls.handshake.extensions_server_name contains "banco"

El campo SNI (Server Name Indication) viaja en texto plano en la mayoría de implementaciones actuales dentro del paquete Client Hello, lo que permite al analista saber exactamente qué dominio web intentó abrir un usuario sin necesidad de descifrar el tráfico.

En redes modernas también debes familiarizarte con los disectores de http2 y quic (el protocolo de transporte basado en UDP que impulsa HTTP/3):

quic || http2

Protocolos de soporte: ARP e ICMP en profundidad #

ARP (Address Resolution Protocol)

arp

Permite resolver qué dirección física MAC corresponde a una IP local. Detectar paquetes ARP Request no solicitados o cambios repentinos en la asociación IP-MAC es la clave para descubrir ataques de ARP Poisoning / Man-In-The-Middle en una red conmutada.

ICMP (Internet Control Message Protocol)

icmp

ICMP es mucho más que el comando ping: transmite mensajes críticos de control como Destination Unreachable (red o puerto inalcanzable), Time-to-Live Exceeded (utilizado por traceroute en Linux para mapear saltos) y problemas de fragmentación por Path MTU.

Capture Filters esenciales en sintaxis BPF #

Recuerda que estos filtros se introducen en la barra de captura inicial antes de pulsar el botón de inicio:

# Capturar solo un host específico
host 192.168.1.20

# Capturar solo tráfico emitido por una IP
src host 192.168.1.20

# Capturar toda una subred
net 192.168.1.0/24

# Capturar tráfico web cifrado y sin cifrar
tcp port 80 or tcp port 443

# Capturar solo tráfico DNS (UDP y TCP)
port 53

# Excluir el tráfico de tu propia máquina para no saturar
not host 192.168.1.15

Troubleshooting y análisis en Blue Team & SOC #

En operaciones de seguridad defensiva, Wireshark no se utiliza para "mirar a ver qué pasa", sino para responder hipótesis concretas en una investigación:

Checklist de Triaje en el SOC con Wireshark

  • 1. ¿Qué resolvió el host sospechoso?: ip.src == 192.168.1.50 && dns.flags.response == 0
  • 2. ¿A qué IPs intentó conectarse por TCP?: ip.src == 192.168.1.50 && tcp.flags.syn == 1 && tcp.flags.ack == 0
  • 3. ¿Qué volumen de datos intercambió?: Usa el menú Statistics $\rightarrow$ Conversations para identificar exfiltraciones masivas.
  • 4. ¿Hay transferencias HTTP anómalas?: http.request.method == "POST" para localizar balizas de C2 o robo de credenciales.

Este flujo analítico es el mismo que explicamos en el Blue Team Roadmap, en nuestra guía para convertirte en analista SOC y en los protocolos de Incident Response.

TShark en terminal, búsquedas con contains y regex #

TShark es la versión de línea de comandos de Wireshark. Permite automatizar análisis en servidores sin interfaz gráfica y procesar cientos de archivos PCAP mediante scripts:

# Listar interfaces disponibles
tshark -D

# Capturar en la interfaz 1 aplicando un display filter a DNS
tshark -i 1 -Y "dns"

# Leer un archivo pcapng y buscar retransmisiones TCP
tshark -r captura.pcapng -Y "tcp.analysis.retransmission"

# Extraer campos específicos en formato tabla limpia
tshark -r captura.pcapng -Y "dns.flags.response == 0" -T fields -e frame.time -e ip.src -e dns.qry.name

Para búsquedas textuales dentro de los paquetes, utiliza los operadores contains (coincidencia de texto) o matches (expresiones regulares basadas en PCRE2):

# Buscar cualquier consulta que contenga la palabra update
dns.qry.name contains "update"

# Buscar mediante expresión regular
dns.qry.name matches "(login|auth|account)\.empresa\.com"

Metodología de análisis, laboratorios prácticos y FAQ #

Para analizar cualquier captura desconocida sin perderte, aplica siempre el embudo de lo general a lo particular:

Protocol Hierarchy → Endpoints → Conversations → Filtro de Protocolo → tcp.stream → Análisis de Paquetes

Documentar este proceso con una captura de tráfico real es uno de los mejores proyectos que puedes añadir a tu portfolio de ciberseguridad para demostrar solvencia en entrevistas técnicas. Si estás empezando en este mundo, revisa también cómo empezar en ciberseguridad desde cero.

Preguntas frecuentes sobre Wireshark

¿Cuál es la diferencia entre un capture filter y un display filter?

El capture filter decide qué paquetes se guardan en el archivo usando sintaxis libpcap/BPF antes de capturar. El display filter actúa sobre paquetes ya capturados mediante el lenguaje de disección propio de Wireshark sin alterar la captura original.

¿Cómo filtro una IP en Wireshark?

Para origen o destino usa ip.addr == 192.168.1.10. Para solo origen usa ip.src == 192.168.1.10 y para solo destino ip.dst == 192.168.1.10.

¿Cómo filtro un puerto?

Para TCP utiliza tcp.port == 443. Para UDP utiliza udp.port == 53.

¿Cómo encuentro retransmisiones TCP?

Aplica el filtro tcp.analysis.retransmission. Recuerda evaluarlo en conjunto con el RTT y el contexto temporal de la captura.

¿Cómo puedo seguir una única conexión?

Filtra por su índice con tcp.stream == X o haz clic derecho sobre cualquier paquete y selecciona Follow → TCP Stream.

¿Puede Wireshark ver contraseñas?

Solo si viajan en texto claro mediante protocolos obsoletos o inseguros (HTTP, FTP, Telnet). El tráfico bajo TLS (HTTPS) viaja cifrado salvo que se disponga deliberadamente de las claves de sesión.

¿Wireshark sirve para ciberseguridad?

Es una de las herramientas más utilizadas en Blue Team y análisis forense para verificar exfiltraciones, balizas de malware y actividades anómalas en la red.

¿Necesito aprender redes antes de Wireshark?

Indudablemente. Sin comprender el modelo TCP/IP, puertos, flags y protocolos, Wireshark es solo una pantalla con miles de paquetes imposibles de interpretar.

Compartir
AC

Álvaro Chirou

Instructor y profesional de tecnología

Álvaro Chirou es profesional de tecnología desde 2006 e instructor desde 2010, especializado en ciberseguridad, programación e inteligencia artificial.