Aprende › Redes, WiFi y pivoting

Wireshark: qué es, cómo funciona y cómo se aplica al análisis de tráfico

· 13 min de lectura

Aprende a capturar y analizar tráfico de red con Wireshark: filtros de captura y de visualización, análisis de protocolos HTTP, DNS, TCP y TLS, seguimiento de streams, detección de anomalías, uso de tshark en línea de comandos y exportación de objetos.

Cuando algo falla en una red, cuando sospechas que un equipo se comunica con un servidor que no debería o cuando necesitas entender exactamente qué datos viajan entre dos máquinas, la respuesta casi siempre empieza por lo mismo: capturar el tráfico y leerlo. Y la herramienta estándar para hacerlo es Wireshark, un analizador de protocolos de red libre y gratuito que lleva más de dos décadas siendo la referencia tanto en administración de redes como en ciberseguridad.

Wireshark no ataca ni defiende por sí solo. Lo que hace es mostrarte todo lo que pasa por el cable (o por el aire, si capturas WiFi), paquete por paquete, con cada capa del modelo OSI desplegada y cada byte visible. Eso lo convierte en una herramienta imprescindible para analistas de seguridad, equipos de respuesta a incidentes, administradores de red y pentesters que necesitan entender el comportamiento real de un sistema, no solo lo que dicen los registros.

En esta lección vas a ver qué es Wireshark y cómo se organiza su interfaz, la diferencia entre filtros de captura y filtros de visualización, cómo analizar los protocolos más comunes (HTTP, DNS, TCP, TLS), cómo seguir una conversación completa entre dos máquinas, cómo usar tshark en la línea de comandos y cómo exportar archivos transmitidos dentro del tráfico capturado.

Captura tráfico solo en redes propias o en entornos autorizados, como los laboratorios de whoami-labs. Interceptar comunicaciones ajenas sin permiso es un delito en la mayoría de jurisdicciones.

Qué es Wireshark#

Wireshark es un analizador de protocolos de red (packet analyzer o network protocol analyzer). Captura los paquetes que pasan por una interfaz de red, los decodifica capa por capa y los presenta de forma estructurada para que puedas inspeccionarlos, filtrarlos y buscar patrones.

El proyecto nació en 1998 con el nombre Ethereal, creado por Gerald Combs. En 2006 se renombró a Wireshark por cuestiones de marca. Hoy es mantenido por la Wireshark Foundation y se distribuye bajo licencia GPLv2. Está disponible para Linux, Windows y macOS, y soporta más de mil protocolos.

Interfaz de Wireshark: paneles principales, barra de filtros y flujo de captura
Interfaz de Wireshark: paneles principales, barra de filtros y flujo de captura

Wireshark trabaja sobre libpcap (en Linux y macOS) o Npcap (en Windows) para acceder al tráfico a nivel de trama. Cuando inicias una captura, la biblioteca pone la interfaz de red en modo promiscuo (si se lo permites), lo que significa que recibe todos los paquetes del segmento, no solo los dirigidos a tu máquina. En redes conmutadas (con switches) eso solo te muestra el tráfico que pasa por tu puerto; para ver el de otros equipos necesitas técnicas como port mirroring, ARP spoofing o un TAP de red.

Por qué es importante en ciberseguridad#

Wireshark aparece en casi todas las fases del trabajo de seguridad:

  • Respuesta a incidentes: cuando un equipo se comporta de forma extraña, capturar su tráfico revela conexiones a servidores de comando y control (C2), exfiltración de datos o movimiento lateral.
  • Análisis forense de red: los archivos PCAP capturados durante un incidente son evidencia. Wireshark permite reconstruir sesiones completas, extraer archivos transferidos y verificar qué datos salieron de la red.
  • Pentesting: durante una prueba de penetración, capturar el tráfico entre el objetivo y otros servicios puede revelar credenciales en texto claro, tokens de sesión, consultas a bases de datos o APIs internas.
  • Desarrollo seguro: verificar que una aplicación cifra correctamente sus comunicaciones, que no envía datos sensibles en la URL o que implementa bien el handshake TLS.
  • Detección de anomalías: picos de tráfico DNS inusuales, conexiones a puertos poco comunes o patrones de beaconing (comunicaciones periódicas con un C2) son señales que se ven en el tráfico.

Componentes principales de la interfaz#

La ventana de Wireshark se divide en tres paneles verticales, más una barra de filtro y una barra de estado:

ComponenteQué muestraPara qué lo usas
Lista de paquetes (panel superior)Una fila por paquete: número, tiempo, origen, destino, protocolo, longitud, infoNavegar por la captura, ordenar, colorear por protocolo
Detalle del paquete (panel central)Las capas del paquete desplegables: Ethernet, IP, TCP/UDP, protocolo de aplicaciónInspeccionar cada campo: flags TCP, cabeceras HTTP, consultas DNS
Bytes en bruto (panel inferior)El contenido hexadecimal y ASCII del paqueteVer los datos tal como viajaron por la red
Barra de filtro de visualizaciónCampo de texto para escribir filtros displayMostrar solo el tráfico que te interesa
Barra de estadoNúmero de paquetes, perfil activo, paquetes mostrados vs capturadosSaber cuánto tráfico hay y cuánto estás viendo

Además, el menú Statistics ofrece resúmenes automáticos: conversaciones, jerarquía de protocolos, gráficos de flujo y endpoints. El menú Analyze permite seguir streams TCP, UDP o HTTP y aplicar filtros avanzados.

Filtros de captura y filtros de visualización#

Wireshark maneja dos tipos de filtros con sintaxis completamente distintas:

CaracterísticaFiltro de capturaFiltro de visualización
Cuándo actúaAntes de capturar: descarta paquetes que no coincidanDespués de capturar: oculta paquetes sin borrarlos
SintaxisBPF (Berkeley Packet Filter)Propia de Wireshark
Ejemplo básicohost 192.168.1.10ip.addr == 192.168.1.10
Filtrar por puertoport 80tcp.port == 80
Combinar condicioneshost 10.0.0.1 and port 443ip.addr == 10.0.0.1 and tcp.port == 443
RendimientoReduce el volumen capturado, mejor rendimientoNo afecta al rendimiento de captura
ReversibilidadPaquetes descartados se pierdenPuedes quitar el filtro y ver todo

Regla práctica: usa filtros de captura cuando el volumen de tráfico es muy alto y sabes exactamente qué buscas. Usa filtros de visualización siempre que puedas, porque te dejan cambiar de opinión sin perder datos.

Filtros de visualización que más vas a usar#

http.request.method == "GET"
dns.qry.name contains "whoami"
tcp.flags.syn == 1 and tcp.flags.ack == 0
tcp.port == 445
ip.src == 192.168.1.100
http.response.code == 200
tls.handshake.type == 1
frame contains "password"
!(arp or dns)
tcp.analysis.retransmission

Puedes combinarlos con and, or y not, y agrupar con paréntesis. La barra de filtro se pone verde cuando la sintaxis es correcta y roja cuando no lo es.

Filtros de captura comunes#

host 10.10.10.5
port 80 or port 443
net 192.168.1.0/24
tcp and not port 22
src host 10.10.10.5 and dst port 8080

Protocolos que más vas a analizar#

HTTP#

El tráfico HTTP sin cifrar es oro para un analista: puedes ver cada petición y cada respuesta, incluyendo cabeceras, cookies, tokens y el cuerpo completo. Filtra con http y usa Follow TCP Stream (clic derecho sobre un paquete HTTP) para ver la conversación completa en texto legible.

http.request.uri contains "/admin"
http.request.method == "POST"
http.cookie contains "session"
http.host == "objetivo.lab"

DNS#

Las consultas DNS revelan a qué dominios se conecta una máquina. Un volumen inusual de consultas DNS, consultas a dominios sospechosos o respuestas con registros TXT muy largos pueden indicar DNS tunneling (exfiltración de datos a través de DNS).

dns.qry.name contains "malware"
dns.qry.type == 1
dns.flags.response == 1
dns.resp.len > 512

TCP#

Entender TCP es fundamental para leer capturas. El three-way handshake (SYN, SYN-ACK, ACK) inicia cada conexión, y los flags TCP (FIN, RST, PSH, URG) te dicen qué está pasando. Wireshark colorea automáticamente las retransmisiones, los resets y los problemas de ventana.

tcp.flags.syn == 1 and tcp.flags.ack == 0
tcp.flags.reset == 1
tcp.analysis.zero_window
tcp.stream eq 5

TLS#

Aunque no puedes ver el contenido cifrado, el handshake TLS es visible: el Client Hello muestra la versión de TLS que propone el cliente y las extensiones (incluyendo SNI, que revela el dominio al que se conecta). Esto es útil para detectar conexiones a dominios sospechosos incluso cuando todo va cifrado.

tls.handshake.type == 1
tls.handshake.extensions_server_name contains "ejemplo"
tls.record.version == 0x0303

Análisis paso a paso en un laboratorio#

Este flujo te sirve para cualquier laboratorio de whoami-labs donde necesites inspeccionar tráfico. Lo haremos con tshark (la versión de línea de comandos de Wireshark) y con la interfaz gráfica.

Paso 1: identificar la interfaz de captura#

# Listar las interfaces disponibles
tshark -D

En un laboratorio con VPN, busca la interfaz tun0 (OpenVPN) o la interfaz de red que tenga la IP de tu rango. En una máquina local, suele ser eth0 o ens33.

Paso 2: capturar tráfico mientras interactúas con el objetivo#

# Capturar todo el tráfico con el laboratorio y guardarlo
tshark -i tun0 -w captura_lab.pcap -f "host IP_DEL_LAB"

Mientras la captura corre, haz tu reconocimiento normal: escanea con Nmap, abre la web, lanza peticiones. Todo quedará registrado.

Paso 3: abrir la captura en Wireshark#

# Abrir el archivo en Wireshark (interfaz gráfica)
wireshark captura_lab.pcap

O, si prefieres la línea de comandos:

# Ver un resumen de la captura
tshark -r captura_lab.pcap | head -50

# Filtrar solo peticiones HTTP
tshark -r captura_lab.pcap -Y "http.request" -T fields -e http.request.method -e http.host -e http.request.uri

Paso 4: seguir un stream TCP#

En la interfaz gráfica, haz clic derecho sobre cualquier paquete de una conexión que te interese y selecciona Follow > TCP Stream. Wireshark te mostrará toda la conversación, con el tráfico del cliente en un color y el del servidor en otro.

En tshark:

# Seguir el stream TCP número 3
tshark -r captura_lab.pcap -qz "follow,tcp,ascii,3"

Paso 5: exportar objetos transmitidos#

Si el tráfico incluye archivos transferidos por HTTP (páginas, imágenes, documentos, ejecutables), puedes extraerlos directamente. En Wireshark: File > Export Objects > HTTP. En tshark:

# Exportar todos los objetos HTTP a una carpeta
tshark -r captura_lab.pcap --export-objects "http,objetos_exportados"

Paso 6: buscar credenciales en texto claro#

# Buscar paquetes que contengan la palabra password
tshark -r captura_lab.pcap -Y 'frame contains "password"' -V | head -100

# Buscar autenticación HTTP básica
tshark -r captura_lab.pcap -Y "http.authorization"

Qué puede descubrir un analista#

HallazgoQué revelaImpacto
Credenciales en texto claroUsuarios y contraseñas en HTTP, FTP, Telnet, SMTPAcceso directo a sistemas y cuentas
Tokens de sesiónCookies o tokens JWT sin cifrarSuplantación de identidad (session hijacking)
Consultas DNS anómalasDominios de C2, DNS tunneling, DGADetección de malware o exfiltración
Conexiones a IPs sospechosasComunicación con servidores de atacantesConfirmación de compromiso
Archivos transferidosEjecutables, scripts, documentos exfiltradosEvidencia forense, muestras de malware
Configuraciones de TLS débilesTLS 1.0, cifrados obsoletos, certificados inválidosVulnerabilidad a ataques de downgrade
Patrones de beaconingConexiones periódicas a intervalos regularesIndicador de implantes o RATs

Buenas prácticas de análisis#

Comparación de filtros de captura y filtros de visualización con ejemplos prácticos
Comparación de filtros de captura y filtros de visualización con ejemplos prácticos

Captura con criterio#

No captures todo el tráfico de una red sin filtro: generarás archivos enormes difíciles de manejar. Define antes qué buscas y usa filtros de captura para acotar. Si no sabes qué buscar, captura periodos cortos y revisa antes de seguir.

Organiza tus capturas#

Guarda los archivos PCAP con nombres descriptivos que incluyan la fecha, el objetivo y el propósito: 2026-11-06_lab-orion_reconocimiento.pcap. Documenta qué estabas haciendo durante la captura.

Aprende los atajos de teclado#

Los atajos más útiles en Wireshark aceleran el trabajo diario: Ctrl+E para iniciar o detener la captura, Ctrl+F para buscar dentro de los paquetes, Ctrl+G para ir a un número de paquete concreto y Ctrl+Shift+T para ver el tiempo relativo.

Usa perfiles#

Wireshark permite crear perfiles con configuraciones de columnas, colores y filtros adaptados a distintos tipos de análisis. Un perfil para análisis web, otro para DNS, otro para malware. Cámbialos desde la esquina inferior derecha.

Complementa con tshark para volúmenes grandes#

Para archivos PCAP de varios gigabytes, tshark es más eficiente que la interfaz gráfica. Puedes encadenar filtros, extraer campos concretos y procesar la salida con herramientas como grep, awk o jq.

# Estadísticas de protocolos
tshark -r captura.pcap -qz io,phs

# Top 10 de IPs que más tráfico generan
tshark -r captura.pcap -T fields -e ip.src | sort | uniq -c | sort -rn | head -10

# Extraer todas las consultas DNS
tshark -r captura.pcap -Y "dns.flags.response == 0" -T fields -e dns.qry.name | sort -u

No modifiques la captura original#

Si necesitas recortar o filtrar un PCAP, genera uno nuevo con editcap o tshark -w y conserva siempre el archivo original intacto, especialmente si es evidencia.

# Extraer solo los primeros 500 paquetes a un archivo nuevo
editcap -r captura.pcap primeros500.pcap 1-500

# Filtrar y guardar solo tráfico HTTP
tshark -r captura.pcap -Y "http" -w solo_http.pcap

Errores comunes#

  • Capturar sin filtro en una red con mucho tráfico. Terminas con archivos de varios gigabytes que son imposibles de analizar y que pueden llenar el disco.
  • Confundir la sintaxis de filtros de captura con la de visualización. Son lenguajes distintos: port 80 es un filtro de captura, tcp.port == 80 es uno de visualización. Mezclarlos produce errores silenciosos.
  • Olvidar que en redes conmutadas solo ves tu propio tráfico. Si capturas en tu equipo sin port mirroring ni ARP spoofing, no verás el tráfico de otras máquinas del segmento.
  • Ignorar el tráfico cifrado. Aunque no puedas leer el contenido TLS, los metadatos (SNI, tamaños, tiempos, certificados) dan mucha información.
  • No guardar la captura. Si no la guardas antes de cerrar Wireshark, pierdes todo. Usa -w en tshark o guarda manualmente nada más terminar la captura.
  • Analizar sin contexto. Un paquete aislado rara vez dice algo útil. Sigue los streams completos y correlaciona con lo que estabas haciendo durante la captura.

Preguntas frecuentes#

¿Wireshark puede descifrar tráfico HTTPS?#

Solo si tienes la clave privada del servidor o si configuras el navegador para que exporte las claves de sesión a un archivo (variable de entorno SSLKEYLOGFILE). En un laboratorio propio puedes hacerlo; en tráfico ajeno, no.

¿Cuál es la diferencia entre Wireshark y tshark?#

Son el mismo motor de disección de protocolos. Wireshark tiene interfaz gráfica; tshark funciona en línea de comandos. Usa Wireshark para explorar y tshark para automatizar, procesar volúmenes grandes o trabajar en servidores sin escritorio.

¿Necesito permisos de root para capturar?#

En Linux, sí: capturar paquetes requiere privilegios para poner la interfaz en modo promiscuo. Puedes ejecutar Wireshark como root (no recomendado) o configurar los permisos del grupo wireshark con dpkg-reconfigure wireshark-common en Debian y Ubuntu.

¿Qué es un archivo PCAP?#

PCAP (Packet Capture) es el formato estándar para guardar capturas de tráfico. Wireshark usa por defecto el formato pcapng (PCAP Next Generation), que soporta múltiples interfaces y metadatos adicionales. Ambos son compatibles con la mayoría de herramientas de análisis.

¿Puedo usar Wireshark para capturar tráfico WiFi?#

Sí, pero necesitas una tarjeta de red que soporte modo monitor y, en muchos casos, drivers compatibles. En Linux es donde mejor funciona. El tráfico WiFi cifrado con WPA2 puede descifrarse en Wireshark si conoces la contraseña de la red.

¿Cómo detecto un ataque de ARP spoofing con Wireshark?#

Filtra con arp.duplicate-address-detected o revisa manualmente las respuestas ARP: si ves que dos IPs distintas se asocian con la misma MAC, o que una MAC cambia de IP constantemente, hay indicios de spoofing. Wireshark también muestra alertas automáticas de ARP duplicado.

Resumen#

  • Wireshark es el analizador de protocolos de red de referencia: captura paquetes, los descompone capa por capa y te permite inspeccionar cada byte.
  • Los filtros de captura (sintaxis BPF) actúan antes de grabar y reducen el volumen; los filtros de visualización (sintaxis propia de Wireshark) actúan después y son reversibles.
  • Los protocolos más relevantes para seguridad son HTTP (credenciales, tokens, APIs), DNS (dominios, tunneling), TCP (conexiones, anomalías) y TLS (metadatos del handshake).
  • Seguir streams reconstruye conversaciones completas y exportar objetos extrae archivos transmitidos por HTTP.
  • tshark es la versión de línea de comandos, ideal para automatizar y procesar capturas grandes.
  • Captura siempre con criterio, guarda los archivos originales y analiza en contexto.

Fuentes y lecturas recomendadas#

Practícalo en estos laboratorios

Ver todos los laboratorios de esta categoría