Está en la página 1de 7

Machine Translated by Google

Laboratorio Wireshark: HTTP v6.1

Suplemento a las redes informáticas: un enfoque de arriba hacia abajo


th

Enfoque, 6 ed., JF Kurose y KW Ross

“Dímelo y lo olvido. Muéstramelo y lo recuerdo. Involúcrame y lo


entiendo”. Proverbio chino

© 2005­21012, JF Kurose y KW Ross, Todos los derechos reservados

Después de habernos mojado los pies con el rastreador de paquetes Wireshark en el laboratorio de introducción, ahora estamos
listos para usar Wireshark para investigar los protocolos en funcionamiento. En este laboratorio, exploraremos varios aspectos de la
Protocolo HTTP: la interacción básica GET/respuesta, formatos de mensajes HTTP, recuperación de archivos HTML grandes,
recuperación de archivos HTML con objetos incrustados y autenticación y seguridad HTTP. Antes de comenzar estas prácticas
1

de laboratorio, es posible que desee revisar la Sección 2.2 del texto.

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

Comencemos nuestra exploración de HTTP descargando un archivo HTML muy simple, uno que sea muy corto y que no contenga
objetos incrustados. Haga lo siguiente: 1. Inicie su navegador web.

2. Inicie el rastreador de paquetes Wireshark, como se describe en la práctica de laboratorio introductoria (pero no
todavía comienza la captura de paquetes). Ingrese "http" (solo las letras, no las comillas) en la ventana de
especificación del filtro de visualización, de modo que solo los mensajes HTTP capturados se muestren más
adelante en la ventana de listado de paquetes. (Sólo estamos interesados en el HTTP
protocolo aquí y no quiero ver el desorden de todos los paquetes capturados).
3. Espere un poco más de un minuto (veremos por qué en breve) y luego inicie Wireshark.
captura de paquetes.
4. Ingrese lo siguiente en su navegador http://
gaia.cs.umass.edu/wireshark­labs/HTTP­wireshark­file1.html Su navegador debería
mostrar un archivo HTML muy simple de una línea.
5. Detenga la captura de paquetes de Wireshark.

1
Las referencias a figuras y secciones corresponden a la sexta edición de nuestro texto, Redes de computadoras, un enfoque de arriba hacia abajo.
th
Enfoque, 6 ed., JF Kurose y KW Ross, Addison­Wesley/Pearson, 2012.
Machine Translated by Google

Su ventana de Wireshark debería verse similar a la ventana que se muestra en la Figura 1. Si no puede ejecutar
Wireshark en una conexión de red activa, puede descargar un seguimiento de paquetes que se creó.
2
cuando se siguieron los pasos anteriores.

Figura 1: Visualización de Wireshark después de que su navegador haya recuperado http://gaia.cs.umass.edu/


wireshark­labs/ HTTPwireshark file1.html

El ejemplo de la Figura 1 muestra en la ventana de listado de paquetes que se capturaron dos mensajes HTTP: el
mensaje GET (desde su navegador al servidor web gaia.cs.umass.edu) y el mensaje de respuesta del servidor a su
navegador. La ventana de contenido del paquete muestra detalles del mensaje seleccionado (en este caso, el mensaje
HTTP OK, que está resaltado en la ventana de listado de paquetes). Recuerde que dado que el mensaje HTTP se
transportaba dentro de un segmento TCP, que a su vez se transportaba dentro de un datagrama IP, que a su vez se
transportaba dentro de una trama Ethernet, Wireshark también muestra la información de la trama, Ethernet, IP y
paquetes TCP. Queremos minimizar la cantidad de datos que no son HTTP mostrados (estamos
Estoy interesado en HTTP aquí, e investigaré estos otros protocolos en laboratorios posteriores), así que asegúrese
de que las casillas en el extremo izquierdo de la información de Marco, Ethernet, IP y TCP tengan un signo más o un
triángulo que apunta hacia la derecha (lo que significa que hay información oculta y no mostrada), y la línea HTTP
tiene un signo menos o un triángulo que apunta hacia abajo (lo que significa que se muestra toda la información sobre el
mensaje HTTP).

2
Descargue el archivo zip http://gaia.cs.umass.edu/wireshark­labs/wireshark­traces.zip y extraiga el archivo http ethereal­
trace­1. Los rastros en este archivo zip fueron recopilados por Wireshark ejecutándose en una de las computadoras del autor,
mientras se realizaban los pasos indicados en el laboratorio de Wireshark. Una vez que haya descargado el seguimiento,
puede cargarlo en Wireshark y verlo usando el menú desplegable Archivo , eligiendo Abrir y luego seleccionando el archivo de
seguimiento http­ethereal­trace 1. La pantalla resultante debería verse similar a la Figura 1. (La interfaz de usuario de
Wireshark se muestra un poco diferente en diferentes sistemas operativos y en diferentes versiones de Wireshark).
Machine Translated by Google

(Nota: debe ignorar cualquier HTTP GET y respuesta para favicon.ico. Si ve una referencia a este archivo, su navegador le
pregunta automáticamente al servidor si (el servidor) tiene un pequeño archivo de icono que debe mostrarse junto
a la URL que se muestra en su navegador. Ignoraremos las referencias a este molesto archivo en esta práctica de laboratorio).

Al observar la información en HTTP GET y los mensajes de respuesta, responda las siguientes preguntas. Al responder
las siguientes preguntas, debe imprimir los mensajes GET y de respuesta (consulte el laboratorio introductorio de
Wireshark para obtener una explicación de cómo hacer esto) e indicar en qué parte del mensaje encontró la información que
responde a las siguientes preguntas. Cuando entregas
su tarea, anote el resultado para que quede claro en qué parte del resultado está obteniendo el
información para su respuesta (por ejemplo, para nuestras clases, pedimos a los estudiantes que marquen las copias en papel con
un bolígrafo o que anoten las copias electrónicas con texto en una fuente de color).

1. ¿Su navegador ejecuta HTTP versión 1.0 o 1.1? ¿Qué versión de HTTP es el servidor?
¿correr?
2. ¿Qué idiomas (si corresponde) indica su navegador que puede aceptar en el servidor?
3. ¿Cuál es la dirección IP de su computadora? ¿Del servidor gaia.cs.umass.edu?
4. ¿Cuál es el código de estado que devuelve el servidor a su navegador?
5. ¿Cuándo se modificó por última vez en el servidor el archivo HTML que está recuperando?
6. ¿Cuántos bytes de contenido se devuelven a su navegador?
7. Al inspeccionar los datos sin procesar en la ventana de contenido del paquete, ¿ve algún encabezado dentro de
los datos que no se muestra en la ventana de listado de paquetes? Si es así, nombre uno.

http://www.cs.toronto.edu/~ahchinaei/teaching/2016jan/csc358/Assignment2wSol.pdf

En su respuesta a la pregunta 5 anterior, es posible que se haya sorprendido al descubrir que el documento que acaba de
recuperar se modificó por última vez un minuto antes de descargarlo. Eso es porque (por
este archivo en particular), el servidor gaia.cs.umass.edu configura la hora de la última modificación del archivo para
que sea la hora actual, y lo hace una vez por minuto. Así, si esperas un minuto entre accesos, el archivo parecerá haber sido
modificado recientemente y, por tanto, tu navegador descargará una copia “nueva” del documento.

2. La interacción HTTP CONDICIONAL GET/respuesta

Recuerde de la Sección 2.2.6 del texto que la mayoría de los navegadores web realizan almacenamiento en caché de objetos y,
por lo tanto, realizan un GET condicional al recuperar un objeto HTTP. Antes de realizar los pasos siguientes, asegúrese de
que la memoria caché de su navegador esté vacía. (Para hacer esto en Firefox, seleccione Herramientas­>Borrar historial
reciente y marque la casilla Caché, o para Internet Explorer, seleccione Herramientas­>Opciones de Internet­>Eliminar
archivo; estas acciones eliminarán los archivos almacenados en caché del caché de su navegador). la siguiente:
Inicie su navegador web y asegúrese de que el caché de su navegador esté borrado, como se explicó
arriba.
Inicie el rastreador de paquetes Wireshark
Ingrese la siguiente URL en su navegador
http://gaia.cs.umass.edu/wireshark­labs/HTTP­wireshark­file2.html Su navegador
debería mostrar un archivo HTML muy simple de cinco líneas.
Machine Translated by Google

Ingrese rápidamente la misma URL nuevamente en su navegador (o simplemente seleccione el botón Actualizar en
su navegador)
Detenga la captura de paquetes de Wireshark e ingrese “http” en la ventana de especificación del filtro de visualización, de modo
que solo los mensajes HTTP capturados se muestren más adelante en la ventana de listado de paquetes. (Nota: si
no puede ejecutar Wireshark en una conexión de red activa, puede utilizar el seguimiento de paquetes http ethereal­trace­2 para
responder las preguntas siguientes; consulte la nota al pie 1. Este archivo de seguimiento se recopiló mientras realizaba los
pasos anteriores en una de las computadoras del autor.)

Responda las siguientes preguntas: 8.


Inspeccione el contenido de la primera solicitud HTTP GET desde su navegador al servidor. Hacer
¿Ves una línea “IF­MODIFIED­SINCE” en HTTP GET?
9. Inspeccione el contenido de la respuesta del servidor. ¿El servidor devolvió explícitamente el contenido?
del archivo? ¿Cómo puedes saberlo?
10. Ahora inspeccione el contenido de la segunda solicitud HTTP GET desde su navegador al servidor. ¿Ves una línea
“IF­MODIFIED­SINCE:” en HTTP GET? Si es así, ¿qué información sigue al encabezado “IF­MODIFIED­SINCE:”?

11. ¿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? Explicar.

3. Recuperar documentos largos

En nuestros ejemplos hasta ahora, los documentos recuperados han sido archivos HTML simples y cortos. vamos
A continuación veremos qué sucede cuando descargamos un archivo HTML largo. Haz lo siguiente:

Inicie su navegador web y asegúrese de que el caché de su navegador esté borrado, como se explicó
arriba.

Inicie el rastreador de paquetes Wireshark Ingrese


la siguiente URL en su navegador
http://gaia.cs.umass.edu/wireshark­labs/HTTP­wireshark­file3.html

Su navegador debería mostrar la bastante extensa Declaración de Derechos de Estados Unidos.

Detenga la captura de paquetes de Wireshark e ingrese “http” en la ventana de especificación del filtro de visualización, para que
que solo se mostrarán los mensajes HTTP capturados.
(Nota: si no puede ejecutar Wireshark en una conexión de red activa, puede utilizar el seguimiento de paquetes http ethereal­
trace­3 para responder las preguntas siguientes; consulte la nota al pie 1. Este archivo de seguimiento se recopiló
mientras realizaba los pasos anteriores en una de las computadoras del autor.)

En la ventana de listado de paquetes, debería ver su mensaje HTTP GET, seguido de una respuesta TCP de
múltiples paquetes a su solicitud HTTP GET. Esta respuesta de múltiples paquetes merece un poco de
explicación. Recuerde de la Sección 2.2 (consulte la Figura 2.9 en el texto) que el mensaje de respuesta
HTTP consta de una línea de estado, seguida de líneas de encabezado, seguidas de una línea en blanco y
seguida del cuerpo de la entidad. En el caso de nuestro HTTP GET, el
Machine Translated by Google

El cuerpo de la entidad en la respuesta es el archivo HTML solicitado completo . En nuestro caso, el archivo HTML es bastante
largo y sus 4500 bytes son demasiado grandes para caber en un paquete TCP. Por lo tanto, TCP divide el único mensaje de
respuesta HTTP en varias partes, y cada parte está contenida dentro de un segmento TCP separado (consulte la Figura 1.24 en el
texto). En versiones recientes de Wireshark, Wireshark indica cada segmento TCP como un paquete separado, y el hecho de que la
única respuesta HTTP se haya fragmentado en varios paquetes TCP se indica mediante el "segmento TCP de una PDU reensamblada"
en la columna Información de la pantalla de Wireshark. . Las versiones anteriores de Wireshark usaban la frase "Continuación" para
indicar que todo el contenido de un mensaje HTTP estaba dividido en múltiples segmentos TCP. ¡Enfatizamos aquí que no hay ningún
mensaje de "Continuación" en HTTP!

Responda las siguientes preguntas: 12.


¿Cuántos mensajes de solicitud HTTP GET envió su navegador? ¿Qué número de paquete
en el seguimiento contiene el mensaje GET para la Ley o los Derechos?
13. ¿Qué número de paquete en el seguimiento contiene el código de estado y la frase asociados con la respuesta a la
solicitud HTTP GET?
14. ¿Cuál es el código de estado y la frase en la respuesta?
15. ¿Cuántos segmentos TCP que contienen datos se necesitaron para transportar un único HTTP?
respuesta y el texto de la Declaración de Derechos?

4. Documentos HTML con objetos incrustados

Ahora que hemos visto cómo Wireshark muestra el tráfico de paquetes capturado para archivos HTML grandes, podemos ver qué sucede
cuando su navegador descarga un archivo con objetos incrustados, es decir, un archivo que incluye otros objetos (en el ejemplo
siguiente, archivos de imagen). ) que están almacenados en otro(s) servidor(es).

Haga lo siguiente:

Inicie su navegador web y asegúrese de que el caché de su navegador esté borrado, como se explicó
arriba.

Inicie el rastreador de paquetes Wireshark Ingrese


la siguiente URL en su navegador
http://gaia.cs.umass.edu/wireshark­labs/HTTP­wireshark­file4.html Su navegador debería
mostrar un archivo HTML corto con dos imágenes. Se hace referencia a estas dos imágenes en el archivo HTML base.
Es decir, las imágenes en sí no están contenidas en HTML; en cambio, las URL de las imágenes están contenidas en el
archivo HTML descargado. Como se explica en el libro de texto, su navegador deberá recuperar estos logotipos de los
sitios web indicados. El logotipo de nuestra editorial se obtiene del sitio web www.aw­bc.com. La imagen

th
de la portada para nuestro 5 La edición (una de nuestras portadas favoritas) se almacena en manic.cs.umass.edu.
servidor.
Detenga la captura de paquetes de Wireshark e ingrese “http” en la ventana de especificación del filtro de visualización, para que
que solo se mostrarán los mensajes HTTP capturados.
(Nota: si no puede ejecutar Wireshark en una conexión de red activa, puede utilizar el enlace http
seguimiento de paquetes etéreo­trace­4 para responder las siguientes preguntas; ver
Machine Translated by Google

nota al pie 1. Este archivo de seguimiento se recopiló mientras se realizaban los pasos anteriores en
una de las computadoras del autor).

Responde las siguientes preguntas:


16. ¿Cuántos mensajes de solicitud HTTP GET envió su navegador? ¿A qué direcciones de Internet se enviaron
estas solicitudes GET?
17. ¿Puedes decir si tu navegador descargó las dos imágenes en serie o si
¿Se descargaron de los dos sitios web en paralelo? Explicar.

5 Autenticación HTTP

Finalmente, intentemos visitar un sitio web que esté protegido con contraseña y examinemos la secuencia de mensajes HTTP
intercambiados por dicho sitio. La URL http://gaia.cs.umass.edu/wireshark labs/protected_pages/HTTP­
wireshark­file5.html está protegida con contraseña. El nombre de usuario es “wireshark­students” (sin las comillas)
y la contraseña es “red” (nuevamente, sin las comillas).
Así que accedamos a este sitio “seguro” protegido con contraseña. Haz lo siguiente:

Asegúrese de que el caché de su navegador esté borrado, como se mencionó anteriormente, y cierre su
navegador. Luego, inicie su navegador Inicie
el rastreador de paquetes Wireshark Ingrese la
siguiente URL en su navegador http://gaia.cs.umass.edu/
wireshark­labs/protected_pages/HTTP­wireshark file5.html Escriba el nombre de usuario
solicitado y
contraseña en el cuadro emergente.
Detenga la captura de paquetes de Wireshark e ingrese “http” en la ventana de especificación del filtro de visualización,
de modo que solo los mensajes HTTP capturados se muestren más adelante en la ventana de listado de
paquetes. (Nota: si no puede ejecutar Wireshark en una conexión de red activa, puede utilizar el seguimiento de paquetes
http ethereal­trace­5 para responder las preguntas siguientes; consulte la nota al pie 2. Este archivo de seguimiento
se recopiló mientras realizaba los pasos anteriores en una de las computadoras del autor.)

Ahora examinemos la salida de Wireshark. Es posible que desee leer primero sobre la autenticación HTTP revisando el
material de fácil lectura sobre "Marco de autenticación de acceso HTTP" en http://frontier.userland.com/stories/
storyReader$2159

Responda las siguientes preguntas: 18.


¿Cuál es la respuesta del servidor (código de estado y frase) en respuesta al HTTP inicial?
¿OBTENER mensaje de su navegador?
19. Cuando su navegador envía el mensaje HTTP GET por segunda vez, ¿qué novedades
¿El campo está incluido en el mensaje HTTP GET?

El nombre de usuario (wireshark­students) y la contraseña (red) que ingresó están codificados en la cadena de caracteres
(d2lyZXNoYXJrLXN0dWRlbnRzOm5ldHdvcms=) que sigue al encabezado "Autorización: Básico" en el
mensaje HTTP GET del cliente. Si bien puede
Parece que su nombre de usuario y contraseña están encriptados, simplemente están codificados en un
Machine Translated by Google

formato conocido como formato Base64. ¡El nombre de usuario y la contraseña no están cifrados! Para ver esto,
vaya a http://www.motobit.com/util/base64­decoder­encoder.asp e ingrese la cadena codificada en base64
d2lyZXNoYXJrLXN0dWRlbnRz y decodifique. ¡Voilá! Ha traducido de la codificación Base64 a la codificación
ASCII y, por lo tanto, debería ver su nombre de usuario. Para ver la contraseña, ingrese el resto de la cadena
Om5ldHdvcms= y presione decodificar. Dado que cualquiera puede descargar una herramienta como Wireshark y
detectar paquetes (no solo los suyos) que pasan por su adaptador de red, y cualquiera puede traducir de Base64 a
ASCII (¡usted lo acaba de hacer!), debe quedar claro que las contraseñas simples en WWW Los sitios no son
seguros a menos que se tomen medidas adicionales.

¡No temáis! Como veremos en el Capítulo 8, hay maneras de hacer que el acceso a la WWW sea más seguro. Sin
embargo, ¡claramente necesitaremos algo que vaya más allá del marco básico de autenticación HTTP!

También podría gustarte