Está en la página 1de 8

Taller sin acompañamiento

HTTP
"Dime y me olvido. Muéstrame y lo recuerdo. Involúcrame y
lo entiendo". Proverbio chino

©2005-2021, J. F Kurose y K.W. Ross, Todos los derechos


reservados

En este taller, explorará varios aspectos del protocolo HTTP: la interacción básica
GET/respuesta, los formatos de mensajes HTTP, la recuperación de archivos HTML
grandes, la recuperación de archivos HTML con objetos incrustados y la autenticación y
seguridad HTTP. Antes de comenzar estos laboratorios, es posible que desee revisar la
Sección 2.2 del texto.1
Responda las preguntas en este mismo formato, para identificar las respuesta s inicie con
Rta: Respuesta en Negrilla, adicionalmente evidencie la respuesta con imágenes
resaltando de alguna manera la evidencia.

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

Inicialmente deberá descargar un archivo HTML corto y no contiene objetos incrustados.


Haga lo siguiente:
1. Inicie su navegador web.
2. Inicie el rastreador de paquetes Wireshark, (pero aún no comience la captura de
paquetes). Ingrese "http" (solo las letras, no las comillas, y en minúsculas) en la
ventana de especificación de filtro de visualización, de modo que solo los
mensajes HTTP capturados se mostrarán más adelante en la ventana de listado de
paquetes. (Solo esta interesado en el protocolo HTTP aquí, y no requiere ver el
desorden de todos los paquetes capturados).
3. Espere un poco más de un minuto, y luego comience la captura de paquetes
wireshark.
4. Ingrese lo siguiente a su navegador
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.htmlSu navegador
debera mostrar el archivo HTML de una línea muy simple, como la siguiente
figura.

1
Las referencias a figuras y secciones son para el 8ésimo edición, Redes de computadors, un enfoque de
arriba hacia abajo, 8h ed., J.F. Kurose y K.W. Ross, Addison-Wesley/Pearson, 20 años20. .
Figura 1: Visualización de después de http://gaia.cs.umass.edu/wireshark-labs/ HTTP-
wireshark-file1.html ha sido digitado en el navegador

5. Detenga la captura de paquetes de Wireshark.


La ventana de Wireshark debe tener un aspecto similar a la ventana que se muestra en la
Figura 2.

Figura 2: Visualización de Wireshark después de http://gaia.cs.umass.edu/wireshark-


labs/ HTTP-wireshark-file1.html ha sido recuperado por su navegador
El ejemplo de la figura 2 muestra en la ventana de listado de paquetes que se capturaron
dos mensajes HTTP: el mensaje GET (desde el explorador al servidor web
gaia.cs.umass.edu) y el mensaje de respuesta desde el servidor al explorador. La ventana
de contenido del paquete muestra detalles del mensaje seleccionado (en este caso, el
mensaje HTTP OK, que se resalta en la ventana de listado de paquetes). Recuerde que
dado que el mensaje HTTP se llevó dentro de un segmento TCP, que se llevó dentro de
un paquete IP, que se llevó dentro de una trama Ethernet, Wireshark también muestra la
información del paquete Frame, Ethernet, IP y TCP. Asegúrese de que los cuadros en el
extremo izquierdo de la información Frame, Ethernet, IP y TCP tengan un signo más o un
triángulo que apunte a 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).

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

Al observar la información en HTTP GET y los mensajes de respuesta, responda las


siguientes preguntas:

1. ¿Su navegador está ejecutando HTTP versión 1.0, 1.1 o 2? ¿Qué versión de
HTTP está ejecutando el servidor?
2. ¿Qué idiomas (si los hay) indica su navegador que puede aceptar en el servidor?
3. ¿Cuál es la dirección IP de su computador? ¿Cuál es la dirección IP del servidor
gaia.cs.umass.edu?
4. ¿Cuál es el código de estado devuelto desde el servidor a su navegador?
5. ¿Cuándo se modificó por última vez el archivo HTML que está recuperando en el
servidor?
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 muestre en la ventana de listado
de paquetes? Si es así, nombra uno.

En su respuesta a la pregunta 5,es posible que se haya sorprendido al descubrir que el


documento que acaba de recuperar se modificó por última vez un minuto antes de
descargar el documento. Esto se debe a que (para este archivo en particular), el servidor
gaia.cs.umass.edu está configurando la hora de la última modificación del archivo para
que sea la hora actual, y lo hace una vez por minuto. Por lo tanto, si espera un minuto
entre accesos, el archivo parecerá haber sido modificado recientemente y, por lo tanto, su
navegador descargará una copia "nueva" del documento.

2. La interacción HTTP CONDITIONAL GET/response

La mayoría de los navegadores web realizan el almacenamiento en caché de objetos


(Sección 2.2.5)y, por lo tanto, a menudo realizan un GET condicional al recuperar un
objeto HTTP. Antes de realizar los pasos a continuación, asegúrese de que la caché de su
navegador esté2vacía. Ahora haga lo siguiente:
 Inicie su navegador web y asegúrese de que la caché de su navegador esté
borrada, como se discutió anteriormente.
 Inicie el rastreador de paquetes Wireshark
 Introduzca la siguiente URL en la http://gaia.cs de su
navegador. umass.edu/wireshark-labs/HTTP-wireshark-file2.htmlSu navegador
debe mostrar un archivo HTML de cinco líneas muy simple como el de la
siguiente imagen.

 Ingrese rápidamente la misma URL en su navegador nuevamente (o simplemente


seleccione el botón de actualización en su navegador)
 Detenga la captura de paquetes de Wireshark e introduzca "http" (de nuevo, en
minúsculas sin las comillas) en la ventana de especificación de filtro de
visualización, de modo que solo los mensajes HTTP capturados se muestren más
adelante en la ventana de lista de paquetes.
Responda las siguientes preguntas:
8. Inspeccione el contenido de la primera solicitud HTTP GET desde su navegador
al servidor. ¿Ve 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 puede saberlo?
10. Ahora inspeccione el contenido de la segunda solicitud HTTP GET desde su
navegador al servidor. ¿Ve una línea "IF-MODIFIED-SINCE:" en http GET? Si
es así, ¿qué información sigue al encabezado "IF-MODIFIED-SINCE:"?3
2
Ver https://www.howtogeek.com/304218/how-to-clear-your-history-in-any-browser/ Para obtener
instrucciones sobre cómo borrar el CAC del navegadorhe.
3
Indirecta: idealmente, debería ver un encabezado If-Modified-Since ya que acaba de descargar esta
página hace unos segundos. Sin embargo, dependiendo del navegador que esté utilizando y del formato de
la respuesta anterior del servidor a su GET inicial, es posible que su navegador no incluya un If-Modified-
11. ¿Cuál es el código de estado HTTP y la frase devuelta desde el servidor en
respuesta a este segundo HTTP GET? ¿El servidor devolvió explícitamente el
contenido del archivo? Explicar.

3. Recuperación de documentos largos

Haga lo siguiente:
 Inicie su navegador web y asegúrese de que la caché de su navegador esté
borrada, como se discutió anteriormente.
 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 Carta de Derechos de los Estados Unidos
bastante larga.

 Detenga la captura de paquetes de Wireshark e ingrese "http" en la ventana de


especificación de filtro de pantalla, de modo que solo se muestren los mensajes
HTTP capturados.

En la ventana de listado de paquetes, debería ver un mensaje HTTP GET, seguido de una
respuesta TCP de varios paquetes a su solicitud HTTP GET. Asegúrese de que su filtro
de visualización wireshark esté desactivado para que la respuesta TCP de varios paquetes
se muestre en la lista de paquetes.

Since Incluso si el documento se ha descargado y se almacena en caché. El navegador Chrome es bastante


bueno en el uso regular de If-Modified-Since. Pero Safari y Firefox son mucho más quisquillosos sobre
cuándo usar If-Modified-Since. ¡La vida no siempre es tan fácil en la práctica como lo es en la teoría!
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, seguida de una línea en blanco,
seguida del cuerpo de la entidad. En el caso de HTTP GET, el cuerpo de la entidad en la
respuesta es todo el archivo HTML solicitado. Aquí, el archivo HTML es bastante largo,
y con 4500 bytes es demasiado grande para caber en un paquete TCP. Por lo tanto, TCP
divide el único mensaje de respuesta HTTP en varias partes, y cada pieza 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 fragmentó en múltiples paquetes
TCP se indica mediante el "segmento TCP de una PDU reensamblada" en la columna
Información de la pantalla Wireshark.

Responda a 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 el proyecto de ley o
derechos?
13. ¿Qué número de paquete en el seguimiento contiene el código de estado y la frase
asociada 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 necesitan para llevar la respuesta
HTTP única y el texto de la Carta de Derechos?

4.HTML Documentos con objetos incrustados

Ahora que ha visto cómo Wireshark muestra el tráfico de paquetes capturado para
archivos HTML grandes, puede ver qué 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 imagen) que se almacenan en otro servidor (s).

Haga lo siguiente:
 Inicie su navegador web y asegúrese de que la caché de su navegador esté
borrada, como se discutió anteriormente.
 Inicie el rastreador de paquetes Wireshark
 Ingrese la siguiente URL en su navegador
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.htmlSu navegador
debe mostrar un archivo HTML corto con
dos imágenes. Estas dos imágenes se mencionan en el archivo HTML base. Es
decir, las imágenes en sí no están contenidas en el HTML; en su lugar, las URL
de las imágenes están contenidas en el archivo HTML descargado. Como se
discutió en el libro de texto, su navegador tendrá que recuperar estos logotipos de
los sitios web indicados. El logotipo del editor se recupera del sitio web de
gaia.cs.umass.edu. La imagen de nuestra portada de la 8ª edición, se almacena en
un servidor en Francia.
 Detenga la captura de paquetes de Wireshark e ingrese "http" en la ventana de
especificación de filtro de pantalla, de modo que solo se muestren los mensajes
HTTP capturados.

Responda a 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. ¿Puede saber si su 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, intente visitar un sitio web que está protegido por contraseña y examine la
secuencia de mensajes HTTP intercambiados para dicho sitio. La URL
http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html está
protegido por contraseña. El nombre de usuario es "wireshark-students" (sin las
comillas), y la contraseña es "network" (de nuevo, sin las comillas). Así que acceda a
este sitio "seguro" protegido por contraseña. Haga lo siguiente:
 Asegúrese de que la caché de su navegador esté borrada, como se discutió
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.htmlEscriba el nombre de usuario y la contraseña solicitados en el cuadro
emergente.
 Detenga la captura de paquetes de Wireshark e ingrese "http" en la ventana de
especificación de filtro de visualización, de modo que solo los mensajes HTTP
capturados se muestren más adelante en la ventana de lista de paquetes.
Ahora examine la salida de Wireshark. Es posible que desee leer primero sobre la
autenticación HTTP revisando el material fácil de leer en "HTTP Access Authentication
Framework"en http://frontier.userland. com/stories/storyReader$2159

Responda a las siguientes preguntas:


18. ¿Cuál es la respuesta del servidor (código de estado y frase) en respuesta al
mensaje HTTP GET inicial de su navegador?
19. Cuando su navegador envía el mensaje HTTP GET por segunda vez, ¿qué nuevo
campo se incluye 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=) después del encabezado
"Authorization: Basic" en el mensaje HTTP GET del cliente. Si bien 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! Para ver esto, vaya a http://www.motobit.com/util/base64-decoder-
encoder.asp e ingrese la cadena codificada en base64 d2lyZXNoYXJrLXN0dWRlbnRz y
decodifique. 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, introduzca el resto de la
cadena Om5ldHdvcms= y pulse decode. Dado que cualquiera puede descargar una
herramienta como Wireshark y olfatear paquetes (no solo los suyos) que pasan por su
adaptador de red, y cualquiera puede traducir de Base64 a ASCII (¡lo acaba de hacer!),
Debe tener claro que las contraseñas simples en los sitios WWW no son seguras a menos
que se tomen medidas adicionales.

También podría gustarte