Sie sind auf Seite 1von 7

GUIA DE LABORATORIO 02

Redes y Comunicaciones de Datos I


2019-1 Marzo

Tema: Análisis del protocolo HTTP


En este laboratorio exploraremos varios aspectos del protocolo HTTP: la interacción GET/respuesta
básica, el formato del mensaje HTTP, la recuperación de archivos grandes HTML, la recuperación de
archivos HTML con objetos incrustados, y la autenticación y seguridad HTTP.

Parte 1: La interacción básica HTTP GET/respuesta


Comencemos nuestra exploración de HTTP descargando un archivo HTML muy simple, uno que es
muy corto y no contiene objetos incrustados.

Hacer lo siguiente:

 Inicie su navegador web.

 Inicie Wireshark, pero todavía no comience la captura de paquetes.

 Ingrese "http" (solo las letras, no las comillas) en la ventana de especificación de filtro de
visualización, de modo que solo se muestren los mensajes HTTP capturados en la ventana de
captura de paquetes. (Estamos interesados solo en el protocolo HTTP, y no queremos ver el
desorden de todos paquetes capturados).

 Espere un poco más de un minuto (veremos por qué en breve), y luego inicie la captura de
paquetes Wireshark.

 Ingrese lo siguiente a su navegador

http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html

Su navegador debe mostrar el un simple archivo HTML de una sola línea como el siguiente.

 Detenga la captura de paquetes de Wireshark.

Ing. Pedro Mantilla Silva 1


GUIA DE LABORATORIO 02
Redes y Comunicaciones de Datos I
2019-1 Marzo

Su ventana Wireshark debe ser similar a la ventana que se muestra a continuación.

El ejemplo en la figura muestra en la ventana de listado de paquetes que dos mensajes HTTP fueron
capturados: el mensaje GET (desde su navegador a la web del servidor gaia.cs.umass.edu) y el
mensaje de respuesta del servidor a su navegador. El contenido del paquete la ventana muestra los
detalles del mensaje seleccionado (en este caso, el mensaje HTTP OK, que se resalta en la ventana de
listado de paquetes). Recordemos que el mensaje HTTP fue llevado dentro de un segmento TCP, que
fue llevado dentro de un datagrama (paquete) IP, que era llevado a su vez dentro de una trama
Ethernet. Wireshark muestra información de la trama Ethernet, el paquete IP y el segmento TCP.
Queremos minimizar la cantidad de datos mostrados que no son HTTP (estamos interesados solo en
HTTP; estaremos investigando estos otros protocolos más adelante en otros laboratorios), así que
asegúrese de que los cuadros de información en el extremo izquierdo de la trama, Ethernet, IP y TCP
tienen un signo más o un triángulo que apunta hacia la derecha (lo que significa que hay información
oculta, o información no mostrada), y la línea HTTP tiene un signo menos o un signo de triángulo
hacia abajo (lo que significa que se muestra toda la información sobre el mensaje HTTP).

Nota: si no puede ejecutar Wireshark en una conexión de red en vivo, puede usar el
paquete de rastreo Lab02-Parte1.pcapng para responder las siguientes preguntas.
Este archivo de rastreo se recopiló al realizar los pasos anteriores en una de las
computadoras del docente.

Observe la información en HTTP GET y los mensajes de respuesta, luego responda siguientes
preguntas.

Responda las preguntas del formulario de Canvas


1. ¿Qué versión del protocolo HTTP está usando su navegador?

Ing. Pedro Mantilla Silva 2


GUIA DE LABORATORIO 02
Redes y Comunicaciones de Datos I
2019-1 Marzo

2. ¿Qué versión del protocolo HTTP está usando el servidor?

3. ¿Qué idiomas (si corresponde) indica su navegador que puede aceptar el servidor?

4. ¿Cuál es la dirección IP del servidor gaia.cs.umass.edu?

5. ¿Cuál es el código de estado devuelto por el servidor a su navegador?

6. ¿Cuándo fue el archivo HTML que está recuperando modificado por última vez en el servidor?

7. ¿Cuántos bytes de contenido se están devolviendo a su navegador?

Parte 2: La respuesta de interacción HTTP GET condicional


Recuerde que la mayoría de los navegadores web realizan caché de objetos y por lo tanto, se puede
realizar un GET condicional al recuperar un objeto HTTP. Antes de realizar los pasos solicitados a
continuación, asegúrese de que la memoria caché de su navegador esté vacía. (Para hacer esto, por
ejemplo en Firefox, seleccione Herramientas -> Borrar historial reciente y marcar el cuadro de caché).

Ahora haga lo siguiente:

 Inicie su navegador web y asegúrese de que la memoria caché de su navegador esté desactivada.

 Inicie la captura con Wireshark

 Ingrese la siguiente URL en su navegador

http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html

 Ingrese rápidamente la misma URL en su navegador nuevamente (o simplemente seleccione el


botón actualizar en su navegador)

Su navegador debería mostrar un archivo HTML de cinco líneas similar al siguiente:

 Detenga la captura de paquetes Wireshark e ingrese el filtro "http" de modo que solo se
muestren los mensajes HTTP capturados en ventana de lista de paquetes.

Nota: si no puede ejecutar Wireshark en una conexión de red en vivo, puede usar el
paquete de rastreo Lab02-Parte2.pcapng para responder las siguientes preguntas.
Este archivo de rastreo se recopiló al realizar los pasos anteriores en una de las
computadoras del docente.

Ing. Pedro Mantilla Silva 3


GUIA DE LABORATORIO 02
Redes y Comunicaciones de Datos I
2019-1 Marzo

Responda las preguntas del formulario de Canvas


8. Inspeccione el contenido de la primera solicitud HTTP GET desde su navegador al servidor y
ubique la línea "IF-MODIFIED-SINCE" en HTTP GET. A continuación, inspeccione el contenido de la
respuesta del servidor. ¿El servidor devolvió explícitamente el contenido del archivo? ¿Cómo
puede explicarlo?

9. Ahora inspeccione los contenidos de la segunda solicitud HTTP GET de su navegador para el
servidor. ¿Observa una línea "IF-MODIFIED-SINCE:" en HTTP GET? Si su respuesta es afirmativa
entonces, ¿Qué información sigue al encabezado "IF-MODIFIED-SINCE:"?

10.¿Cuál es el código de estado HTTP y la frase devuelta por el servidor en respuesta a este segundo
HTTP GET? ¿El servidor devolvió explícitamente el contenido del archivo? Explique.

Parte 3: Recuperación de documentos largos


En nuestros ejemplos hasta el momento, los documentos recuperados han sido HTML simples y
breves archivos. Veamos a continuación qué sucede cuando descargamos un archivo HTML largo.

 Inicie su navegador web y asegúrese de que la memoria caché de su navegador esté desactivada.

 Inicie la captura con Wireshark

 Ingrese la siguiente URL en su navegador

http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html

Su navegador debe mostrar la Declaración de Derechos de EE. UU.

 Detenga la captura de paquetes Wireshark.

Nota: si no puede ejecutar Wireshark en una conexión de red en vivo, puede use el
rastreo de paquetes Lab02-Parte3.pcapng para responder las siguientes preguntas.
Este archivo de rastreo se recopiló al realizar los pasos anteriores en una de las
computadoras del docente.

Antes de iniciar el análisis de esta parte debería aplicar in filtro para que solo le muestre las
comunicaciones entre su PC y el servidor umass.edu; en nuestro ejemplo asumiendo que la dirección
IP de nuestra PC es 192.168.1.7 y la dirección IP del servidor umass.edu es 128.119.245.12
aplicaríamos el filtro:

ip.addr == 192.168.1.7 and ip.addr == 128.119.245.12

Ing. Pedro Mantilla Silva 4


GUIA DE LABORATORIO 02
Redes y Comunicaciones de Datos I
2019-1 Marzo

En la ventana de listado de paquetes, debería ver el mensaje HTTP GET, seguido de una respuesta
TCP de paquetes múltiples a su solicitud HTTP GET. Este paquete múltiple la respuesta merece un
poco de explicación. Recuerde que el mensaje de respuesta HTTP consiste en una línea de estado,
seguida de líneas de encabezado, seguido de una línea en blanco, seguido por el cuerpo de la
entidad. En el caso de nuestro HTTP GET, el cuerpo de la entidad en la respuesta es todo el archivo
HTML solicitado. En nuestro caso, el archivo HTML es bastante largo (4500 bytes es demasiado
grande para caber en un paquete TCP). Un solo mensaje de respuesta HTTP se divide en varias partes
por TCP, con cada pieza que está contenida dentro de un segmento TCP. En Las versiones más
recientes de Wireshark se indican por entidades separadas cada segmento TCP, y el hecho de que la
única respuesta HTTP esté fragmentada a través de múltiples paquetes TCP se indica mediante el
mensaje "segmento TCP de una PDU reensamblada" en la columna Información de la pantalla de
Wireshark. Observe el ejemplo en la imagen siguiente.

Responde las preguntas del formulario de Canvas


11.¿Cuántos mensajes de solicitud HTTP GET envió su navegador? ¿Qué número de paquete
contiene el mensaje GET de la Declaración de Derechos?

12.¿Qué número de paquete en la captura contiene el código de estado y la frase asociada con la
respuesta a la solicitud HTTP GET?

13.¿Cuál es el código de estado y la frase en la respuesta?

14.¿Cuántos segmentos de TCP que contenían datos se necesitaron para transportar la respuesta
HTTP de la Carta de Derechos?

Parte 4: Documentos HTML con objetos incrustados


Ahora que hemos visto cómo Wireshark muestra el tráfico de paquetes capturados HTML para
archivos grandes, podemos ver lo que sucede cuando su navegador descarga un archivo con objetos
incrustados, es decir, un archivo que incluye otros objetos (en el ejemplo a continuación, archivos de
imágenes) que son almacenados en otro(s) servidor(es).

Haga lo siguiente:

 Inicie su navegador web y asegúrese de que la memoria caché de su navegador esté desactivada.

 Inicie la captura con Wireshark

Ing. Pedro Mantilla Silva 5


GUIA DE LABORATORIO 02
Redes y Comunicaciones de Datos I
2019-1 Marzo

 Ingrese la siguiente URL en su navegador

http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html

Su navegador debe mostrar un archivo HTML corto con dos imágenes. Estos dos las imágenes se
referencian en el archivo HTML base, es decir, las imágenes en sí mismas no están contenidas en
el HTML; en su lugar, las URL de las imágenes están contenidas en archivo HTML descargado.
Como se sabe, su navegador tendrá que recuperar estos logotipos de los sitios web indicados. El
logotipo de Pearson es recuperado del sitio web gaia.cs.umass.edu. La imagen de la portada del
libro se almacena en el servidor caite.cs.umass.edu. (Estos son dos servidores web diferentes
dentro de cs.umass.edu).

 Detenga la captura de paquetes Wireshark e ingrese "http" en la especificación del filtro de


visualización ventana, para que solo se muestren los mensajes HTTP capturados.

Nota: si no puede ejecutar Wireshark en una conexión de red en vivo, puede use el
rastreo de paquetes Lab02-Parte4.pcapng para responder las siguientes preguntas.
Este archivo de rastreo se recopiló al realizar los pasos anteriores en una de las
computadoras del docente.

Responde las preguntas del formulario de Canvas


15.¿Cuántos mensajes de solicitud HTTP GET envió su navegador? ¿A qué direcciones de Internet
fueron estas solicitudes GET enviadas?

16.¿Puede decir si su navegador descargó las dos imágenes en serie, o si fueron descargados de los
dos sitios web en paralelo? Explique.

Parte 5: Autenticación HTTP


Finalmente, intentemos visitar un sitio web que esté protegido por contraseña y examinemos la
secuencia del mensaje HTTP intercambiado para dicho sitio. La URL que exploraremos está protegida
con contraseña. El nombre de usuario es "wireshark-students" (sin las comillas), y la contraseña es
"network" (nuevamente, sin las comillas). Así que accedamos a este sitio "seguro" protegido por
contraseña. Haga lo siguiente:

 Asegúrese de que la memoria caché de su navegador esté desactivada, como se indicó


anteriormente. Cierre su navegador y luego inicie su navegador para asegurarnos que esta limpio.

 Inicie la captura con Wireshark

 Ingrese la siguiente URL en su navegador

http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wiresharkfile5.html

Escriba el nombre de usuario y la contraseña solicitados en el cuadro emergente.

 Detenga la captura de paquetes Wireshark e ingrese "http" en la especificación del filtro de


visualización ventana, de modo que solo se muestren los mensajes HTTP capturados más adelante
en ventana de lista de paquetes.

Ing. Pedro Mantilla Silva 6


GUIA DE LABORATORIO 02
Redes y Comunicaciones de Datos I
2019-1 Marzo

Nota: si no puede ejecutar Wireshark en una conexión de red en vivo, puede use el
rastreo de paquetes Lab02-Parte5.pcapng para responder las siguientes preguntas.
Este archivo de rastreo se recopiló al realizar los pasos anteriores en una de las
computadoras del docente.

Ahora examinemos la salida de Wireshark.

Responde las preguntas del formulario de Canvas


17.¿Cuál es la respuesta del servidor (código de estado y frase) en respuesta al mensaje HTTP GET
inicial de su navegador?

18.Cuando su navegador envía el mensaje HTTP GET por segunda vez, ¿qué nuevo campo está
incluido en el mensaje HTTP GET?

El nombre de usuario (wireshark-students) y la contraseña (network) que ingresó están codificados


en la cadena de caracteres d2lyZXNoYXJrLXN0dWRlbnRzOm5ldHdvcms= siguiendo el encabezado
"Authorization: Basic" en el mensaje HTTP GET del cliente. Mientras puede parecer que su nombre
de usuario y contraseña están encriptados, simplemente están codificados en un formato conocido
como formato Base64. ¡El nombre de usuario y la contraseña no están encriptados!

Si desea comprobarlo ingrese a http://www.motobit.com/util/base64-decoder-encoder.asp y


escriba la cadena codificada en base64 d2lyZXNoYXJrLXN0dWRlbnRz y presione decodificar. Voila!
Tiene traducida de codificación Base64 a codificación ASCII, ¡y debería ver su nombre de usuario!
Para ver la contraseña, ingrese el resto de la cadena Om5ldHdvcms= y presione decodificar. Ya que
cualquiera puede descargar una herramienta como Wireshark y olfatear paquetes (no solo ellos
mismos) pasando por su adaptador de red, y cualquiera puede traducir de Base64 a ASCII (¡acaba de
hacerlo!), Debe tener en claro que las contraseñas simples en los sitios WWW no son seguros a
menos que se tomen medidas adicionales.

Ing. Pedro Mantilla Silva 7

Das könnte Ihnen auch gefallen