Wireshark es el analizador de protocolos más usado para capturar tráfico de red y examinar paquete a paquete lo que ocurre en una conexión. Con él puedes comprobar por qué una web no carga, si un equipo resuelve bien el DNS, quién está generando tráfico en tu red o cómo se establece una sesión TCP. En esta guía verás cómo hacer tu primera captura y cómo usar los filtros de captura y de visualización más útiles, con ejemplos que puedes copiar y probar.

Aviso: captura tráfico únicamente en redes tuyas o en las que tengas autorización expresa. Interceptar comunicaciones ajenas puede ser ilegal.

Contenido

Flujo de una captura en Wireshark: elegir interfaz, filtro de captura, capturar, filtro de visualización y analizar
Flujo de trabajo de una captura en Wireshark, de la interfaz al análisis.

1. Qué es Wireshark y para qué sirve

Wireshark es un sniffer o analizador de paquetes gratuito y de código abierto. Escucha una interfaz de red (Ethernet, Wi-Fi, loopback...), guarda los paquetes que pasan por ella y los muestra desglosados por capas: Ethernet, IP, TCP/UDP y protocolo de aplicación. Los usos más comunes son:

  • Diagnosticar averías: lentitud, cortes, retransmisiones, fallos de DNS o DHCP.
  • Aprender protocolos: ver en tiempo real cómo funcionan ARP, ICMP, TCP o DNS.
  • Verificar configuraciones: comprobar que un equipo etiqueta VLAN, pide IP por DHCP o llega a su puerta de enlace.
  • Auditar tráfico propio: detectar protocolos en claro o conexiones inesperadas.

2. Instalación y permisos

  • Windows: descarga el instalador desde wireshark.org. Incluye Npcap, el componente que permite capturar paquetes.
  • Linux (Debian/Ubuntu): sudo apt install wireshark. Durante la instalación puedes permitir que usuarios sin privilegios capturen; si no, ejecuta sudo dpkg-reconfigure wireshark-common y añade tu usuario al grupo wireshark.
  • macOS: instala el paquete oficial, que añade los permisos necesarios para capturar.

3. La interfaz: cuatro zonas

Al abrir una captura verás cuatro áreas. Conocerlas te ahorra mucho tiempo:

Interfaz de Wireshark con barra de filtros, lista de paquetes, detalles del paquete y bytes
Las cuatro zonas de la ventana principal de Wireshark.

  1. Barra de filtros: donde escribes el filtro de visualización. Se pone verde si es válido, rojo si tiene un error y amarillo si es válido pero ambiguo.
  2. Lista de paquetes: una fila por paquete, con número, tiempo, origen, destino, protocolo, longitud e información.
  3. Detalles del paquete: árbol desplegable por capas del paquete seleccionado.
  4. Bytes del paquete: el contenido en hexadecimal y ASCII.

4. Cómo hacer una captura paso a paso

  1. Elige la interfaz. En la pantalla de inicio verás la lista de interfaces con una pequeña gráfica de actividad: elige la que muestre tráfico (la de tu Ethernet o Wi-Fi).
  2. (Opcional) Define un filtro de captura en el recuadro "Capture using this filter" o en Capture › Options (Ctrl+K).
  3. Inicia la captura con el botón de la aleta de tiburón azul o con Ctrl+E.
  4. Genera el tráfico que quieres estudiar (abrir una web, hacer un ping, renovar la IP...).
  5. Detén la captura con el botón rojo o de nuevo con Ctrl+E.
  6. Guarda el archivo con Ctrl+S. El formato por defecto es .pcapng.

Dos detalles importantes:

  • Por defecto Wireshark usa el modo promiscuo, pero en una red con switch solo verás tu tráfico, el de difusión y el multicast. Para ver el tráfico de otro equipo necesitas un puerto espejo (SPAN) en el switch o capturar en el propio equipo.
  • En Wi-Fi, ver tramas de otras estaciones requiere modo monitor, que depende del sistema operativo y del adaptador.

También puedes capturar desde la línea de comandos con TShark, incluido con Wireshark: tshark -i eth0 -f "port 53" -w captura.pcapng.

5. Filtros de captura (BPF)

Los filtros de captura se aplican antes de guardar los paquetes y usan la sintaxis BPF (la misma de tcpdump). Los paquetes que no cumplen el filtro se descartan y no se pueden recuperar, así que úsalos cuando la captura vaya a ser larga o el tráfico sea muy alto.

Comparativa entre filtro de captura BPF y filtro de visualización de Wireshark
Filtro de captura (antes de capturar) frente a filtro de visualización (después).

Filtro de captura Qué captura
host 192.168.1.10 Tráfico de o hacia esa IP
src host 192.168.1.10 / dst host ... Solo como origen / solo como destino
net 192.168.1.0/24 Toda una red o subred
port 443 Tráfico TCP o UDP del puerto 443
portrange 1000-2000 Un rango de puertos
tcp, udp, icmp, arp Solo ese protocolo
tcp port 80 or tcp port 443 Web HTTP y HTTPS
not arp Todo menos ARP

 

Los operadores para combinar condiciones son and, or y not.

6. Filtros de visualización

Los filtros de visualización se escriben en la barra de filtros y solo ocultan paquetes: la captura completa sigue en memoria y puedes cambiar de filtro cuando quieras. Usan la sintaxis propia de Wireshark, basada en campos de protocolo (ip.addr, tcp.port...). Pulsa Ctrl+/ para saltar a la barra.

Chuleta de filtros de visualización básicos de Wireshark: ip.addr, tcp.port, udp.port, dns, http, icmp, arp
Filtros de visualización básicos más utilizados.

Filtro de visualización Qué muestra
ip.addr == 192.168.1.10 Paquetes de o hacia esa IP
ip.src == 10.0.0.5 / ip.dst == ... Por origen / por destino
ip.addr == 192.168.1.0/24 Cualquier IP de esa subred
tcp.port == 443 TCP por el puerto 443 (origen o destino)
udp.port == 53 UDP por el puerto 53
dns, icmp, arp, dhcp Solo ese protocolo
http || tls Web en claro o cifrada
http.request.method == "GET" Peticiones HTTP GET
eth.addr == aa:bb:cc:dd:ee:ff Tráfico de una dirección MAC
frame contains "texto" Paquetes que contienen esa cadena
tcp.analysis.retransmission Retransmisiones TCP (posibles pérdidas)

Operadores: == igual, != distinto, > y < comparaciones, && (y), || (o), ! (no), contains y matches (expresión regular). Puedes combinarlos con paréntesis, por ejemplo: ip.addr == 192.168.1.10 && (tcp.port == 80 || tcp.port == 443).

7. Ejemplo práctico: el saludo TCP

Una conexión TCP empieza con un intercambio de tres paquetes: el cliente envía SYN, el servidor responde SYN, ACK y el cliente confirma con ACK. Para verlo, captura mientras abres una web y aplica tcp.port == 443. Wireshark muestra números de secuencia relativos (empiezan en 0) para que sea más fácil seguirlos.

Saludo de tres pasos TCP en Wireshark: SYN, SYN-ACK y ACK entre cliente y servidor
Saludo TCP de tres pasos tal como aparece en la lista de paquetes.

Dos filtros muy útiles para diagnosticar conexiones:

  • tcp.flags.syn == 1 && tcp.flags.ack == 0 muestra solo los intentos de conexión iniciales. Muchos SYN sin respuesta indican un servidor caído o un cortafuegos que descarta el tráfico.
  • tcp.flags.reset == 1 muestra conexiones rechazadas o cortadas, por ejemplo cuando el puerto está cerrado.

8. Funciones útiles para empezar

  • Follow TCP Stream (Ctrl+Alt+Shift+T): reconstruye la conversación completa de una conexión. Útil para ver protocolos en claro.
  • Statistics › Conversations / Endpoints: quién habla con quién y cuánto tráfico genera.
  • Analyze › Expert Information: resumen de avisos y errores (retransmisiones, duplicados, resets...).
  • Reglas de coloreado: Wireshark pinta las filas según el protocolo o el problema; puedes consultarlas y cambiarlas en View › Coloring Rules.
  • Aplicar como filtro: haz clic derecho sobre cualquier campo del panel de detalles y elige Apply as Filter; Wireshark escribe el filtro por ti. Es la mejor forma de aprender la sintaxis.

9. Errores habituales y buenas prácticas

  • Capturar en la interfaz equivocada: si no ves tráfico, revisa que hayas elegido la interfaz con actividad.
  • Confundir los dos tipos de filtro: host 10.0.0.1 es sintaxis de captura; ip.addr == 10.0.0.1, de visualización. Si usas una en el lugar de la otra, la barra se pondrá roja.
  • Excluir una IP con !=: como ip.addr incluye origen y destino, en versiones antiguas ip.addr != 10.0.0.5 no oculta todo el tráfico de esa IP. Usa !(ip.addr == 10.0.0.5), que funciona igual en todas las versiones.
  • Esperar ver contenido de HTTPS: el tráfico TLS va cifrado. Verás las conexiones, pero no el contenido, salvo que aportes las claves de sesión (variable SSLKEYLOGFILE del navegador) a Wireshark.
  • Capturas enormes: en enlaces cargados limita la captura con un filtro BPF o con un tamaño máximo de archivo en Capture Options › Output.
  • Guardar datos sensibles: una captura puede contener contraseñas y datos personales en claro. Protégela y bórrala cuando no la necesites.

10. Preguntas frecuentes

¿Wireshark es gratuito y legal?

Es gratuito y de código abierto. Su uso es legal siempre que captures tráfico en redes propias o con autorización.

¿Cuál es la diferencia entre filtro de captura y de visualización?

El de captura (BPF) se aplica antes de guardar y descarta paquetes de forma definitiva. El de visualización se aplica después y solo oculta paquetes, por lo que puedes cambiarlo tantas veces como quieras.

¿Por qué no veo el tráfico de otros equipos de mi red?

Un switch solo envía a cada puerto el tráfico que le corresponde. Para ver el de otros equipos necesitas configurar un puerto espejo (SPAN) o capturar en el propio dispositivo o en un punto intermedio.

¿Puedo ver contraseñas con Wireshark?

Solo en protocolos sin cifrar (por ejemplo, Telnet o HTTP sin TLS). Con tráfico cifrado como HTTPS o SSH no es posible sin las claves. Por eso conviene usar siempre protocolos seguros.

¿Qué formato de archivo usa Wireshark?

El formato por defecto es .pcapng. También puede abrir y guardar .pcap, compatible con tcpdump y otras herramientas.

Conclusión

Con una captura bien dirigida y un par de filtros de visualización puedes resolver la mayoría de dudas sobre qué ocurre en una red. Empieza por capturar sin filtro, localiza el tráfico que te interesa con ip.addr, tcp.port o el nombre del protocolo y utiliza Follow TCP Stream y Expert Information para profundizar.

Artículos relacionados: Modelo OSI y TCP/IP  · DHCP, DNS y ARP  · Calculadora de subredes IPv4