Guía de Laboratorio– Análisis del protocolo HTTP
Módulo Capa de Aplicación
Comunicaciones y Laboratorio I
1. Acceso HTTP básico
a. Inicie un navegador web
b. Ejecute el software Wireshark, en modo administrador, lo que faculta la captura de
tráfico.
c. Acceda al menú Capture/ Options, lo que permite seleccionar la interfaz de red que
capturara el tráfico para su posterior análisis. Una vez escogida la interfaz de red, se
pulsa el botón Start, iniciándose la captura de tráfico.
Figura 1. Opción Capture para elegir interfaces
d. Introduzca la siguiente dirección web en el localizador de su navegador. La página
web descargada únicamente contiene una línea de texto.
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html
e. Finalice la captura, transcurrido un intervalo de tiempo suficiente, pulsando el icono
de stop Es recomendable guardar la captura de tráfico, para su posterior análisis.
f. Dado que solamente son de interés los mensajes HTTP, se aplica un filtro que
restringe la información mostrada por el software Wireshark. En este caso se
introduce la cadena http en la ventana de especificación de filtros.
Figura 2. Opción Filter
Una vez completados los pasos anteriores, el software Wireshark deberá adoptar un aspecto similar
al sugerido en la Figura 3. En la parte superior de la Figura 3 se muestran los mensajes HTTP
capturados. En la parte central se indica el contenido de la trama capturada, que transporta el
mensaje HTTP seleccionado en la parte superior. A tenor de la Figura 3, y conforme al proceso de
encapsulamiento, las tramas Ethernet incorporan en su campo de datos datagramas IP; estos, a su
vez, segmentos TCP; finalmente, los segmentos TCP incluyen en su carga útil los mensajes HTTP
considerados.
MENSAJES HTTP
CAPTURADOS
CONTENIDO DE LA
TRAMA CAPTURADA
Figura 3. Ventana de captura
Preguntas
Analice los campos contenidos en los mensajes HTTP capturados y responda a las siguientes
interrogantes, indicándose, en cada caso, el mensaje HTTP del que ha extraído la respuesta.
i. ¿Qué versión de HTTP emplea su navegador? ¿Qué versión de HTTP se ejecuta en el
servidor web?
ii. ¿Qué dirección IP tiene asignada su máquina? ¿Qué dirección IP tiene asignada la máquina
del servidor web?
iii. ¿Qué código de estado retorna el servidor web a la primera petición remitida por su
navegador? ¿Qué significado encierra el código de estado devuelto?
iv. ¿Cuándo fue modificado por última vez el fichero html remitido por el servidor?
v. ¿Cuántos bytes de contenido está recibiendo su navegador? ¿Coincide el valor con el
tamaño de la trama? Razone la respuesta.
2. Acceso HTTP condicional
La mayoría de los navegadores web guarda temporalmente una copia en caché de los
objetos recibidos recientemente, lo que posibilita la ejecución de peticiones condicionales.
Con objeto de verificar el funcionamiento de este mecanismo, resulta esencial constatar que
la caché del navegador esté vacía.
a. Inicie el navegador web. Acceda al menú Herramientas y, acto seguido, seleccione la
opción Limpiar el historial reciente, lo que permite borrar la caché del navegador.
b. Ejecute el software Wireshark e inicie la captura de tráfico.
c. Introduzca la siguiente dirección web en el localizador de su navegador. La página web
descargada contiene cinco líneas de texto
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html
d. Inmediatamente después, actualice la página web en el navegador web.
e. Finalice la captura y asegúrese que el software Wireshark solo muestre mensajes HTTP
(cadena de filtrado: http).
Preguntas
Analice los campos contenidos en los mensajes HTTP capturados y responda a las siguientes
interrogantes, indicándose, en cada caso, el mensaje HTTP del que ha extraído la respuesta.
i. Atendiendo a la primera petición cursada por su navegador, ¿Figura alguna línea con la
cabecera If-Modified-Since? Razone la respuesta.
ii. Atendiendo a la primera respuesta remitida por el servidor, ¿contiene el fichero .html
solicitado?
iii. Atendiendo a la segunda petición cursada por su navegador, ¿Figura alguna línea con la
cabecera If-Modified-Since? En caso afirmativo, ¿Qué información adicional se
suministra?
iv. Atendiendo a la segunda respuesta remitida por el servidor, ¿contiene el fichero .html
solicitado? ¿Qué código de estado retorna el servidor web? Razone la respuesta.
3. Descarga de objetos de gran tamaño
En este apartado se examina qué sucede si el navegador accede a una página web .html de
gran tamaño, sin objetos incrustados.
a. Inicie el navegador web.
b. Ejecute el software Wireshark e inicie la captura de tráfico.
c. Introduzca la siguiente dirección web en el localizador de su navegador. La página web
descargada contiene muchas líneas de texto.
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html
d. Finalice la captura y asegúrese que el software Wireshark solo muestre mensajes HTTP
(cadena de filtrado: http).
Merece especial atención resaltar cómo el elevado tamaño del archivo .html, 4500 bytes, obliga
a fragmentar el mensaje HTTP en varios segmentos TCP.
Preguntas
Analice los campos contenidos en los mensajes HTTP capturados y responda a las siguientes
interrogantes, indicándose, en cada caso, el mensaje HTTP del que ha extraído la respuesta.
i. ¿Cuántos mensajes de petición ha enviado su navegador?
ii. ¿Cuántos segmentos TCP han sido necesarios para cursar la respuesta del servidor web?
iii. ¿Qué código de estado retorna el servidor web a la petición remitida por su navegador?
iv. ¿En qué segmento TCP figura el código de estado dispuesto en la pregunta anterior?
4. Páginas web con objetos incrustados
En este apartado se examina qué sucede si el navegador accede a una página web .html con
objetos incrustados, p. ej., imágenes, que pueden residir en el mismo servidor web o en
otros servidores diferentes.
a. Inicie el navegador web.
b. Ejecute el software Wireshark e inicie la captura de tráfico.
c. Introduzca la siguiente dirección web en el localizador de su navegador. La página web
descargada contiene líneas de texto e imágenes.
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html
d. Finalice la captura y asegúrese que el software Wireshark solo muestre mensajes HTTP
(cadena de filtrado: http).
La página web mostrada en el navegador contiene dos imágenes. Si se edita el código fuente
del archivo .html, no aparecen las imágenes propiamente dichas, sino las URLs donde
residen. En el caso de la segunda imagen, que se corresponde con la portada de un libro,
aquella se ubica en http://manic.cs.umass.edu/~kurose/cover_5th_ed.jpg.
Preguntas
Analice los campos contenidos en los mensajes HTTP capturados y responda a las
siguientes interrogantes, indicándose, en cada caso, el mensaje HTTP del que ha extraído
la respuesta.
i. ¿Cuántos mensajes de petición ha enviado su navegador? ¿A qué direcciones IP se
corresponden?
5. Páginas web que requieren autenticación
En este apartado se examina qué sucede si el navegador accede a una página web .html
protegida mediante una contraseña.
a. Inicie el navegador web. Cerciórese que la caché del navegador este vacía. Una vez
borrada, cierre el navegador y vuelva a iniciarlo.
b. Ejecute el software Wireshark e inicie la captura de tráfico.
c. Introduzca la siguiente dirección web en el localizador de su navegador. La página web,
antes de iniciarse la descarga de su contenido, solicita los siguientes datos:
nombre de usuario: wireshark-students
clave de acceso: network
Página web protegida por contraseña
d. Finalice la captura y asegúrese que el software Wireshark solo muestre mensajes HTTP
(cadena de filtrado: http).
El nombre de usuario y la clave de acceso se codifican en Base64 y se concatenan en una
cadena alfanumérica, denominada Authorization: Basic, que resulta visible en una cabecera
del segundo mensaje de petición del navegador. Dado que obedece a una simple
codificación en un formato diferente al popular ASCII, este mecanismo de protección no es
especialmente seguro y aconseja el uso de métodos adicionales que ofrezcan mayores
garantías, como el cifrado de datos.
Preguntas
Analice los campos contenidos en los mensajes HTTP capturados y responda a las
siguientes interrogantes, indicándose, en cada caso, el mensaje HTTP del que ha extraído
la respuesta.
i. ¿Qué código de estado retorna el servidor web a la petición inicial remitida por su
navegador?
ii. ¿Qué nuevo campo incorpora la cabecera de la segunda petición remitida por su
navegador?
Referencias:
Laboratorio basado en: Práctica 3. Análisis del protocolo HTTP. Universidad de Alcalá