Análisis de tráfico HTTP (Práctica con Wireshark)

Objetivo:

Analizar el tráfico web basado en el protocolo HTTP sin cifrar utilizando Wireshark, identificar peticiones GET/POST, comprobar el funcionamiento de la caché web (códigos de estado 200 y 304), y comprobar de forma práctica los riesgos de seguridad al transmitir credenciales en texto plano.

Escenario y Herramientas:

  • Herramientas: VirtualBox, Kali Linux o entorno de pruebas local, Wireshark.
  • Protocolo analizado: HTTP (Hypertext Transfer Protocol - sin cifrar en puerto 80).
  • Conceptos clave: Métodos GET y POST, códigos de respuesta HTTP (200 OK, 304 Not Modified), gestión de caché del navegador y análisis de streams TCP/HTTP para extracción de credenciales.



Instrucciones:

Fase 1: Análisis de peticiones HTTP básicas (GET y Respuesta 200 OK)

  • Inicia Wireshark y selecciona tu interfaz de red activa (por ejemplo, Wi-Fi o eth0).
  • Aplica el filtro de visualización escribiendo http en la barra superior para aislar únicamente el tráfico web no cifrado.
  • Inicia la captura de paquetes en Wireshark y navega desde tu navegador al siguiente enlace: http://senasofiaplus.edu.co/ 
  • Detén la captura y localiza el paquete GET y su respuesta asociada con código 200 OK.

Fase 2: Comprobación de la Caché Web y Código 304 (Not Modified)

  • Vuelve a cargar la misma página web o recurso sin vaciar la caché del navegador para forzar una petición condicional.
  • Observa en Wireshark el nuevo paquete generado y localiza el código de respuesta del servidor 304 Not Modified.

Fase 3: Documentos largos y objetos embebidos (Imágenes)

  • Realiza una nueva captura limpiando previamente la caché del navegador para cargar una página web que contenga elementos incrustados (como imágenes PNG o JPG).
  • Identifica en los paquetes capturados cómo el navegador solicita primero el archivo HTML principal y de forma automática emite peticiones adicionales para descargar los objetos embebidos.

Fase 4: Captura de Credenciales en Texto Plano (HTTP POST)

  • Inicia una nueva captura en Wireshark aplicando el filtro http.
  • Accede a un formulario de inicio de sesión web que utilice HTTP (inseguro) e introduce credenciales de prueba. (http://senasofiaplus.edu.co/)
  • Detén la captura, localiza la trama de tipo POST, haz clic derecho sobre ella, selecciona Seguir (Follow) > Stream TCP y busca el usuario y contraseña transmitidos.

Verificación:

  • Comprobar de forma práctica cómo viaja la información al emplear protocolos sin cifrar (HTTP frente a HTTPS).
  • Identificar con precisión los parámetros técnicos y códigos de estado en los registros de Wireshark.

Preguntas de reflexión:

  1. ¿Qué diferencia principal existe entre una respuesta HTTP 200 OK y un código 304 Not Modified en términos de optimización de red?
  2. ¿Por qué es un riesgo de seguridad crítico introducir credenciales de usuario en páginas web que operan bajo el protocolo HTTP en lugar de HTTPS?
  3. ¿Qué información relevante para un analista de redes se puede extraer de la cabecera User-Agent en una petición GET?
  4. ¿Cómo gestiona Wireshark y el navegador la carga de objetos embebidos (imágenes, scripts) tras solicitar una página HTML principal?
  5. ¿Qué utilidad aporta la opción "Seguir Stream TCP" (Follow TCP Stream) a la hora de auditar tráfico web en Wireshark?
Haz clic aquí para ver las soluciones y explicaciones

1. ¿Qué diferencia principal existe entre una respuesta HTTP 200 OK y un código 304 Not Modified en términos de optimización de red?

Una respuesta 200 OK transfiere el recurso completo (cuerpo HTML o archivo) desde el servidor, consumiendo ancho de banda. En cambio, el código 304 Not Modified indica que el recurso no ha cambiado desde la última vez que el cliente lo guardó en caché, por lo que el servidor responde únicamente con las cabeceras y un cuerpo vacío, optimizando drásticamente la red al evitar descargar de nuevo los mismos datos.


2. ¿Por qué es un riesgo de seguridad crítico introducir credenciales de usuario en páginas web que operan bajo el protocolo HTTP en lugar de HTTPS?

Porque el protocolo HTTP transmite todos los datos (incluyendo nombres de usuario y contraseñas) en texto plano. Cualquier atacante situado en la misma red o intermediario (mediante técnicas de escuchas o sniffers como Wireshark) puede interceptar la trama y leer fácilmente las credenciales.


3. ¿Qué información relevante para un analista de redes se puede extraer de la cabecera User-Agent en una petición GET?

Permite identificar con precisión el tipo y versión del navegador web utilizado, el sistema operativo de la máquina cliente (Windows, Linux, macOS, Android, etc.) y en ocasiones arquitecturas o componentes del sistema.


4. ¿Cómo gestiona Wireshark y el navegador la carga de objetos embebidos (imágenes, scripts) tras solicitar una página HTML principal?

El navegador procesa el documento HTML principal recibido y detecta de forma automática las etiquetas que referencian recursos externos (como <img>, <script> o <link> CSS), generando de manera secuencial o en paralelo nuevas peticiones GET individuales para cada archivo, las cuales quedan reflejadas en las tramas capturadas por Wireshark.


5. ¿Qué utilidad aporta la opción "Seguir Stream TCP" (Follow TCP Stream) a la hora de auditar tráfico web en Wireshark?

Permite reconstruir de forma lógica y secuencial toda la conversación completa entre el cliente y el servidor dentro de esa conexión TCP. Agrupa el flujo de ida y vuelta en una sola ventana de texto legible, facilitando enormemente la lectura de las cabeceras HTTP y el contenido de formularios o credenciales transmitidas.


Ficha de Laboratorio: Análisis de Tráfico HTTP y Seguridad con Wireshark

Instrucciones de entrega:

  1. Rellena los campos de observación y responde directamente en este formulario desde tu navegador.
  2. Una vez completada la ficha, pulsa el botón de imprimir que aparece al final.
  3. En el cuadro de diálogo de impresión, selecciona la opción "Guardar como PDF" o "Imprimir a PDF".
  4. Entrega el archivo PDF resultante a través de la plataforma del aula virtual.

Alumno/a:      Fecha:      Grupo / Clase:


1. Parámetros de Red y Direccionamiento (Fase 1)

Indica los datos observados en los detalles del paquete de la petición GET inicial en Wireshark:

2. Análisis de Cabeceras y Respuestas (Fases 1 y 2)



3. Extracción de Objetos y Credenciales (Fases 3 y 4)

  1. Indica el nombre de archivo de alguna imagen o recurso embebido (ej. .png o .jpg) que aparezca solicitado mediante GET tras cargar la página principal:
  2. Escribe exactamente el nombre de usuario y la contraseña que has podido visualizar en texto plano al realizar el Follow TCP Stream sobre el paquete POST:
  3. Indica el número de la trama (Frame) en Wireshark donde se localiza el envío de las credenciales mediante el método POST: