Cómo analizar tráfico de red con Wireshark: desde el modo promiscuo hasta el seguimiento de conversaciones TCP

Análisis de paquetes con Wireshark: modo promiscuo, filtros HTTP e ICMP, TCP Stream y puertos de transporte

Introducción

Wireshark es el analizador de paquetes de red más utilizado en el mundo. Permite capturar y examinar el tráfico de red en tiempo real, a nivel de cada trama, con un detalle que abarca todas las capas del modelo OSI. En esta guía se documenta el uso avanzado de Wireshark: la diferencia entre los modos de captura de la tarjeta de red, la generación de tráfico real para su análisis, el filtrado por protocolo y la inspección de flujos TCP completos.

Modos de funcionamiento de una tarjeta Ethernet

Una tarjeta de red Ethernet puede funcionar en dos modos de captura con comportamientos muy diferentes:

Modo normal

En modo normal, la tarjeta de red solo procesa las tramas cuya dirección MAC de destino coincide con la suya propia. El resto de tramas que circulan por el segmento de red son ignoradas y descartadas a nivel de hardware. Este modo es el que usan los equipos en condiciones habituales, ya que ahorra una cantidad importante de CPU al no tener que procesar tráfico ajeno.

Modo promiscuo

En modo promiscuo, la tarjeta de red procesa todas las tramas que detecta en la red, independientemente de a quién vayan destinadas. Esto permite capturar el tráfico de otros equipos del mismo segmento. Sin embargo, tiene un coste: consume más CPU y RAM, ya que todas las tramas capturadas deben almacenarse y procesarse.

Para activar o desactivar el modo promiscuo en Wireshark, acceder a Capture → Options y marcar o desmarcar la casilla correspondiente.

Diferencia visual entre los dos modos

CaracterísticaModo normalModo promiscuo
Tramas capturadasSolo las dirigidas a la MAC propia.Todas las tramas del segmento.
Consumo de recursosBajo (ahorro de CPU).Alto (más CPU y RAM).
Uso habitualOperación normal del equipo.Análisis de red y diagnóstico.
Activación en WiresharkCapture → Options → desmarcar promiscuo.Capture → Options → marcar promiscuo.

Generación de tráfico real para captura y análisis

Para poder filtrar y analizar diferentes tipos de tráfico, se genera tráfico real de forma controlada realizando las siguientes acciones durante una sesión de captura con las opciones por defecto:

Conexión HTTP a www.escoladeltreball.org

Se abre el navegador y se accede a http://www.escoladeltreball.org. Esta acción genera tráfico HTTP (petición GET y respuesta del servidor) y tráfico DNS (resolución del nombre de dominio a IP).

Ping a www.escoladeltreball.org

Con la sesión de captura activa, se ejecuta un ping hacia el mismo dominio. Esto genera paquetes ICMP Echo Request y Echo Reply que quedarán registrados en la captura.

Navegación por un enlace de la página

Antes de que finalice el ping, se accede a algún enlace interno de la página, generando tráfico HTTP adicional con nuevas peticiones GET.

Conexión a www.fsf.org

Se accede también a www.fsf.org desde el navegador, añadiendo más tráfico HTTP/HTTPS a la captura.

Ping a www.fsf.org

Se realiza un ping a este segundo dominio para capturar más paquetes ICMP.


Filtrado de paquetes: HTTP e ICMP

Una vez finalizada la captura, se aplican filtros en Wireshark para visualizar por separado las dos clases de tráfico capturado.

Filtro HTTP

El filtro http muestra únicamente los paquetes del protocolo HTTP, ocultando todo el resto del tráfico. Permite identificar las peticiones GET, las respuestas del servidor y los códigos de estado (200, 404, etc.).

Filtro ICMP (respuestas Echo Reply)

El filtro icmp muestra únicamente los paquetes ICMP, permitiendo aislar los Echo Request y Echo Reply generados por los comandos ping.

Puertos de los protocolos más utilizados en la capa de transporte

La capa de transporte (capa 4 del modelo OSI) usa TCP y UDP para proporcionar comunicación extremo a extremo entre aplicaciones. Cada servicio o protocolo tiene asignado un número de puerto bien conocido:

Protocolo / ServicioPuertoTransporteDescripción
HTTP80TCPNavegación web sin cifrar.
HTTPS443TCPNavegación web cifrada (TLS/SSL).
FTP20 / 21TCPTransferencia de archivos (datos / control).
SSH22TCPAcceso remoto seguro.
DNS53UDP / TCPResolución de nombres de dominio.
SMTP25TCPEnvío de correo electrónico.
POP3110TCPRecepción de correo electrónico.
DHCP67 / 68UDPAsignación automática de IPs.


Follow TCP Stream: reconstrucción de un flujo HTTP

Al seleccionar una trama de tráfico HTTP en Wireshark y acceder a Analyze → Follow → TCP Stream, la aplicación reconstruye y muestra el contenido completo del flujo TCP al que pertenece ese paquete: la petición HTTP del cliente y la respuesta completa del servidor.

Al ejecutar esta opción, Wireshark crea automáticamente un filtro que muestra todos los paquetes que pertenecen a las mismas direcciones IP de origen y destino y a los mismos puertos a los que hace referencia el paquete seleccionado. Este filtro tiene la forma:

tcp.stream eq N

Donde N es el número del flujo TCP identificado. Este filtro aísla exactamente todos los paquetes del intercambio completo entre cliente y servidor para esa conexión concreta.

Análisis de paquetes ICMP, TCP y UDP

Paquete ICMP Echo Request

Al seleccionar un paquete ICMP en Wireshark, se pueden inspeccionar todos sus campos: tipo (8 = Echo Request, 0 = Echo Reply), código, checksum, identificador y número de secuencia. El contenido del campo de datos del ping también es visible.

Paquetes TCP

Los paquetes TCP muestran el número de puerto de origen y destino, los números de secuencia y confirmación (ACK), los flags activos (SYN, ACK, FIN, RST) y el tamaño de la ventana de recepción. TCP es un protocolo orientado a conexión que garantiza la entrega fiable de los datos.

Paquetes UDP

Los paquetes UDP solo muestran los puertos de origen y destino, la longitud y el checksum. UDP es un protocolo no orientado a conexión: no garantiza la entrega ni el orden de los paquetes, pero es más rápido y ligero, lo que lo hace ideal para servicios como DNS, DHCP o streaming.

¿Para qué sirve un analizador de paquetes?

La captura y el análisis de paquetes con Wireshark permiten comprender en profundidad el funcionamiento real de la red. Las principales conclusiones obtenidas son:

  • La capa de transporte TCP proporciona un servicio de transmisión fiable y orientado a conexión: establece una conexión (handshake), numera los segmentos y confirma su recepción.
  • La capa de transporte UDP envía datos sin establecer conexión previa y sin confirmar la entrega: es más rápido pero no fiable.
  • Cada proceso en ejecución en una máquina tiene asignado un número de puerto que lo identifica, permitiendo que múltiples servicios coexistan en el mismo equipo simultáneamente.
  • Tanto TCP como UDP son protocolos de capa 4 que trabajan por encima del protocolo IP (capa 3), que a su vez incluye ICMP como protocolo de control y diagnóstico.

Conclusión

Wireshark es una herramienta imprescindible para cualquier técnico de redes: permite ver exactamente qué ocurre en la red a nivel de paquete, filtrar por cualquier protocolo o puerto, y reconstruir conversaciones completas entre cliente y servidor. El modo promiscuo amplía enormemente la capacidad de captura en entornos donde se comparte el medio.