Práctica 2: Captura y Análisis de Protocolos con Wireshark
1. ENUNCIADO #
En este laboratorio práctico vas a utilizar Wireshark (el analizador de protocolos de red estándar de la industria) para interceptar el tráfico real de tu interfaz de red, inspeccionar las cabeceras de los protocolos estudiados y entender cómo viajan los datos en cada capa del modelo OSI/TCP-IP.
Vas a capturar y analizar:
- Resolución de direcciones con ARP (Capa 2/3).
- Consultas y respuestas DNS (Capa 7 sobre UDP).
- El 3-Way Handshake de TCP (Capa 4).
- Diferencias entre tráfico en texto plano (HTTP) y cifrado (HTTPS / TLS).
2. OBJETIVOS #
- Aprender a capturar tráfico en la interfaz de red adecuada.
- Dominar el uso de filtros de visualización (Display Filters).
- Inspeccionar tramas Ethernet, paquetes IP y segmentos TCP/UDP.
- Comprender la secuencia
SYNSYN-ACKACK. - Verificar el principio de confidencialidad analizando la carga útil (payload) de HTTP vs TLS.
3. PARTE 1 - PREPARACIÓN Y CAPTURA #
- Descarga e instala Wireshark (disponible para Linux, Windows y macOS desde wireshark.org o mediante
sudo apt install wireshark). - Abre Wireshark y selecciona tu interfaz activa (Wi-Fi o Ethernet / eth0 / en0).
- Haz doble clic sobre la interfaz para iniciar la captura en tiempo real.
4. PARTE 2 - ANÁLISIS DE TRÁFICO ARP #
- En la barra de filtros de visualización de Wireshark escribe:
arp - Abre tu terminal y haz un ping a la IP de tu router (por ejemplo
ping 192.168.1.1). - Si la dirección MAC del router ya está en la caché de vecinos, el ping puede no generar ARP. Espera a que caduque la entrada o usa otra máquina IPv4 accesible del mismo enlace cuya MAC no esté en caché. ARP se utiliza en IPv4; IPv6 utiliza NDP. Cuando se resuelva la dirección, observa:
- ARP Request (Broadcast): "Who has 192.168.1.1? Tell 192.168.1.X" (Dirección MAC destino:
ff:ff:ff:ff:ff:ff). - ARP Reply (Unicast): "192.168.1.1 is at [MAC_del_Router]".
- ARP Request (Broadcast): "Who has 192.168.1.1? Tell 192.168.1.X" (Dirección MAC destino:
5. PARTE 3 - ANÁLISIS DE CONSULTAS DNS #
- Cambia el filtro de visualización a:
dns - En la terminal ejecuta una consulta DNS:
(O1dig example.com Anslookup example.comen Windows). - Localiza en Wireshark:
- Standard query: petición al puerto UDP
53preguntando por el registroAdeexample.com. - Standard query response: respuesta con la dirección IP devuelta en tu captura; puede variar.
- Standard query: petición al puerto UDP
Esta prueba busca DNS clásico sobre UDP/53. Si el resolvedor es local, puede ser necesario capturar también en la interfaz de loopback. Un navegador puede usar DNS cifrado (DoH/DoT), cuyo contenido no aparecerá en claro con el filtro dns.
6. PARTE 4 - EL 3-WAY HANDSHAKE DE TCP #
- Aplica el filtro:
tcp.port == 80 || tcp.port == 443 - Ejecuta estas peticiones en procesos nuevos de
curl. Forzamos HTTP/1.1 para estudiar conexiones TCP sin que el navegador reutilice una conexión o negocie HTTP/3:
La primera petición genera un1curl --http1.1 http://neverssl.com/ 2curl --http1.1 https://example.com/GETHTTP sin cifrar y la segunda unGETprotegido con TLS. Si tu entorno utiliza un proxy, la captura puede mostrar la conexión al proxy en lugar de al servidor final. - Detén la captura (botón rojo cuadrado).
- Localiza los 3 primeros paquetes entre tu IP y la IP del servidor web:
[SYN]: Observa el campoFlags: 0x002 (SYN)y el número de secuencia relativoSequence Number: 0.[SYN, ACK]: ObservaFlags: 0x012 (SYN, ACK)yAcknowledgment Number: 1.[ACK]: ObservaFlags: 0x010 (ACK)completando el apretón de manos.
7. PARTE 5 - HTTP VS HTTPS (TEXTO CLARO VS CIFRADO) #
-
Inspección HTTP (Texto plano):
- Filtra por
http. - Haz clic derecho sobre una petición
GETFollow TCP Stream. - Observa cómo puedes leer claramente la URL, cabeceras (
User-Agent,Host) y datos del formulario o HTML.
- Filtra por
-
Inspección HTTPS (TLS):
- Filtra por
tls. - Localiza
Client HelloyServer Hello, donde se negocian parámetros criptográficos. En TLS 1.3 los mensajes posteriores aServer Hello, incluido el certificado del servidor, están cifrados. - El contenido de la aplicación no se puede leer con una captura pasiva sin los secretos de sesión. Wireshark puede descifrarlo si se le proporcionan secretos exportados por un cliente compatible en un laboratorio controlado.
- Filtra por
-
Comparación opcional con HTTP/3 (QUIC sobre UDP):
- Reinicia la captura y usa el filtro
quic || udp.port == 443. - Comprueba con
curl -Vsi tu compilación incluye la característicaHTTP3. Si la incluye, pruebacurl --http3-only https://cloudflare-quic.com/. - HTTP/3 necesita soporte del cliente, del servidor y conectividad UDP. Si la prueba falla o tu cliente no lo soporta, conserva la captura TCP anterior; un fallo no demuestra que HTTP/3 siempre esté bloqueado.
- QUIC integra TLS 1.3 y no realiza el handshake TCP
SYN → SYN-ACK → ACK. El filtro TCP de la parte anterior no muestra este tráfico.
- Reinicia la captura y usa el filtro
Referencias: HTTP/3 (RFC 9114), opciones de curl y TLS en Wireshark.
8. EJERCICIO DE ENTREGA #
Responde a las siguientes preguntas a partir de tu captura:
- ¿Cuál es la dirección MAC de origen y destino en el paquete ARP Request capturado?
- ¿Qué número de puerto efímero asignó tu sistema operativo como puerto de origen durante el 3-way handshake de TCP?
- En la consulta DNS, ¿qué campo de la cabecera indica que se trata de una respuesta (Response) y no de una petición (Query)?
- ¿Por qué el filtro
tcp.port == 443no permite observar una conexión HTTP/3? Si hiciste la prueba opcional, explica qué tráfico capturaste.
Resumen del tema
Conceptos clave #
- Inspección Profunda de Paquetes (DPI): visualización detallada de campos y cabeceras desde la Capa de Enlace (Ethernet II) hasta la Capa de Aplicación.
- Mecanismos ARP en Wireshark: difusión en Capa 2 (
ff:ff:ff:ff:ff:ff) para solicitud y respuesta dirigida unicast. - Verificación del Handshake TCP: trazabilidad de flags (
SYN,SYN-ACK,ACK) y secuencias relativas con HTTP/1.1 forzado. - HTTP/3: utiliza QUIC sobre UDP, integra TLS 1.3 y requiere filtros distintos a los de TCP.
- Criptografía en Tránsito: demostración empírica de la vulnerabilidad de protocolos en texto claro (HTTP/FTP) frente a la seguridad de TLS (HTTPS).
Qué debes recordar #
Wireshark permite validar empíricamente la teoría de redes inspeccionando paquetes reales, resoluciones ARP, transacciones DNS y la negociación de conexiones TCP y TLS.