Subido por Ethan Leiva

ELO322

Anuncio
ELO322: Redes de Computadores I
1 sem. 2022
Tarea N° 1: Estructura de Internet & HTTP
“Dime y lo olvido, muéstrame y lo recuerdo, involúcrame y lo aprendo.” Proverbio Chino.
Nuestro aprendizaje de los protocolos de red se enriquece al ver los protocolos en acción observando los mensajes
intercambiados entre procesos remotos y a través de la constatación de nuestro entendimiento vía la experimentación.
En la pregunta 1 usted estudiará y ejercitará el uso de Wireshark.
En la pregunta 1 usted identificará los routers y las empresas involucradas para acceder a un sitio en Europa.
Luego usted observará el comportamiento del protocolo HTTP y podrá constatar qué uso hace de éste su browser y servidores
WEBs del Departamento de Electrónica.
¿Cómo se aprende con estas tareas?: Si bien la tarea es para un grupo de estudiantes, se desea que cada uno la resuelva
primero individualmente. Luego comparan sus observaciones y respuestas para generar la solución grupal. Esto vale para todas
las tarea de esta asignatura.
1) Ejercitando Wireshark (20 puntos)
La mejor forma de aprender el uso de un programa (Wireshark en este caso) es usándolo.
Corra su navegador. Luego ejecute Wireshark. Para iniciar la captura de paquetes, seleccione el menú “Capture” y luego
“Interfaces”. Esto debería desplegar una ventana como la figura 1.
Figura 1: Ventana de captura Wireshark en un computador Windows.
Luego usted puede iniciar la captura de paquetes presionando “Start” en la interfaz que haya seleccionado. Desde ese
momento Wireshark captura todos los paquetes enviados y recibidos por esa interfaz.
Mientras Wireshark captura paquetes, use su navegador para acceder a la página:
http://profesores.elo.utfsm.cl/~agv/elo322/HTTP/Wireshark_message.html
Detenga ahora la captura de paquetes seleccionando “Stop” en la ventana de captura. El intercambio HTTP de su navegador
debería aparecer en el listado me paquetes mostrado por Wireshark.
Usted notará que hay muchos otros paquetes. Sí, hay muchos mensajes enviados (de otros protocolos) aunque usted no
interactúe con la red.
Escriba http en la ventana para especificar filtros de paquetes. Encuentre y selecciones el mensaje HTTP GET. La ventana
con el detalle del paquete mostrará de arriba hacia abajo la versión del paquete desde la capa del enlace hasta la de
aplicación: trama Ethernet, datagrama IP, segmento TCP, y mensaje HTTP. Seleccionando “+” y “–“ usted puede minimizar
la cantidad de información desplegada para cada protocolo (Ethernet, IP, TCP, HTTP).
Responda:
a)
Eliminando el filtro ¿Cuál de los siguientes protocolos aparecieron en su captura( son listados en columna captura):
TCP, QUIC, HTTP, DNS, UDP, TLSv1.2? Tome una captura de pantalla e inclúyala como evidencia.
b) ¿Cuánto tiempo transcurrió desde que se envió el mensaje HTTP GET hasta que se recibió la respuesta HTTP OK?
c)
¿Cuál es la dirección IP del servidor profesores.elo.utfsm.cl? ¿Cuál es la dirección IP de su computador?
ELO322: Redes de Computadores I
1 sem. 2022
d) Observe el campo “User-Agent” del encabezado HTTP e indique qué tipo de navegador indica el requerimiento
HTTP. Acompañe captura de la región donde obtuvo la información.
e) Expanda ahora la información del protocolo TCP. ¿Cuál es el número de puerto destino al cual fue enviado el
requerimiento HTTP?
2) (20 puntos) Conectado a aragorn vía ssh (revise el material adjunto a esta tarea), ejecute el comando script y luego ejecute
$ traceroute www.columbia.edu
Complete el cuadro al estilo de (puede omitir algunas celdas para filas con * * * o IP privada en la primera columna):
Salida de traceroute a www.columbia.edu
Nombre del organización responsable de País y ciudad (o solo país) en que (probablemente)
la IP1
se encuentra el equipo2
1 elo-gw (200.1.17.1) 0.790 ms ….
UTFSM
Valparaíso, Chile
:
:
:
Usando Google Maps capture una imagen que incluya todos los lugares por donde pasaron los paquetes, marque los lugares y
haga una línea que muestre el recorrido supuestamente seguido. Incluya esta imagen en su respuesta.
Obs. El comando script permite generar un registro de todo lo que usted verá por pantalla. Este registro queda en archivo con
nombre typescript (ejecute $man script si desea conocer variantes). Para terminar el comando script, ejecute $exit (aquí el
signo $ es el prompt de la consola).
Preparación previa para las siguientes preguntas: Revise la ayuda básica para la instalación y uso de Wireshark disponible
adjunta a esta tarea.
3) (36 puntos) Ejecute Wireshark, inicie la captura y luego acceda a la siguiente página usando un browser (navegador).
http://profesores.elo.utfsm.cl/~agv/elo322/HTTP/httpTest.html
Detenga la captura en Wireshark y use http como filtro de paquetes para ver solo esta interacción.
a) ¿Qué versión de HTTP corre su browser? ¿Qué versión de HTTP corre el servidor profesores.elo.utfsm.cl? ¿Qué versión de
HTTP corre el servidor alumnos.elo.utfsm.cl?
b) ¿Cuál es la IP de su computador y el puerto asignado al socket de su browser (equivale a puerto asignado a la aplicación
navegador)?
c) ¿Cuáles son las IPs de los computadores donde corren el servidor web profesores y el servidor web alumnos? ¿Cuál es el
puerto de cada servidor web?
d) ¿Cuándo fue modificado el archivo HTML httpTest.html?
e) ¿Cuántos bytes son pasados al proceso browser, es decir la aplicación browser, en respuesta a su requerimiento GET del
archivo HTML? (excluya los requerimientos posteriores para cada imagen) Explique cómo obtuvo ese resultado.
f) ¿Cuántos bytes son recibos por la capa de red (IP) de su computador en la respuesta que incluye el archivo HTML?
g) Flexibilice el filtro para mostrar además los paquetes TCP donde su browser sea el origen o el destino de los paquetes. Haga
un diagrama temporal como el mostrado en figura 2 partiendo desde el momento en que su browser inicia el establecimiento
de conexión con el servidor web hasta que termina de recibir la primera imagen. Según este diagrama ¿diría usted que su
navegador es persistente o no-persistente?
1
2
Revise: https://www.ip-adress.com/whois-lookup
Revise: https://ipgeolocation.io/ip-location/
ELO322: Redes de Computadores I
1 sem. 2022
Figura 2: Modelo de diagrama temporal
h) Estime el tiempo desde que usted presionó la tecla “intro” (enter o return según su computador) luego de ingresar su URL
hasta la llegada de la última imagen. (Nota: Cuando se pide estimar, se espera un valor aproximado, es decir, a lo más dos cifras
significativas en este caso.)
i) ¿Cuántas conexiones TCP son efectuadas para bajar toda la página; es decir, el archivo html más cada objeto referenciado en
ella? Una conexión TCP se inicia con mensajes para establecer la conexión (handshake) y termina con mensaje FIN de TCP.
¿Cuántos servidores webs intervinieron para bajar todo el contenido de la página?
4) (15 puntos) Limpie el cache se su browser. Luego, mientras wireshark está capturando, baje dos veces el archivo indicado
a continuación:
http://profesores.elo.utfsm.cl/~agv/elo322/HTTP/prueba.html
a) Diga si usted identifica la línea “IF-MODIFIED-SINCE” en la primera captura GET del archivo html. Muestre los campos del
encabezado enviado por el browser.
b) ¿Identifica usted la línea “IF-MODIFIED-SINCE” en la segunda captura GET del html? Muestre los campos del encabezado
enviado por el browser en este segundo caso.
c) ¿Cuál es el código de estatus HTTP y frase descriptiva retornada desde el servidor en la segunda respuesta a GET del html?
Incluya el encabezado enviado por el servidor. ¿Llegó desde el servidor el contenido solicitado por el browser? Explique su
respuesta.
5) (9 puntos) Conéctese a aragorn usando ssh. Ocupando una consola o terminal conectada a aragorn, corra telnet y envíe un
requerimiento GET para bajar la página ubicada en:
http://profesores.elo.utfsm.cl/~agv/elo322/HTTP/prueba.html
Espere hasta que la conexión sea cerrada desde el servidor. Ponga en su tarea toda la interacción que usted observa en pantalla
desde antes de ejecutar telnet, hasta que la conexión es cerrada.
Ayuda: Previo a ejecutar el comando telnet, ejecute el comando script.
6) Extra-créditos: si responde correctamente esta parte, su grupo puede obtener 10 puntos adicionales . En todo caso su nota
de tarea se satura en 100%.
Autenticación HTTP: Borre el cache de su browser y ciérrelo. Vuelva a ejecutarlo y corra Wireshark. Ingrese al URL:
http://profesores.elo.utfsm.cl/~agv/elo322/readings/
Ingrese el usuario elo322 y password 322elo. Detenga la captura de wireshark.
a) ¿Cuál es la respuesta del servidor en respuesta al mensaje HTTP GET inicial?
b) ¿Qué campos son incluidos en el mensaje HTTP GET en el segundo mensaje GET enviado por su browser?
Borre el cache nuevamente y cierre el browser. Vuelva a ejecutarlo y corra Wireshark. Ingrese al URL:
http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html
ocupe user wireshark-students y password network. Detenga la captura de wireshark. Responda a y b para este caso.
Aún cuando esta segunda forma de ingresar una password pareciera segura, no lo es. Los datos enviados por la red son
codificados en formato Base64 el cual es simple de decodificar. Puede leer más sobre esto en:
http://frontier.userland.com/stories/storyReader$2159
Descargar