HTTPblog.uclm.es/inocentesanchez/files/2018/07/aplicacion... · 2019-03-02 · Algunos de los...

8
1 Algunos de los siguientes ejercicios se corresponden con una serie de capturas realizadas con la herramienta wireshark, y almacenadas en formato pcap. Puedes obtener estas capturas del tema correspondiente en Campus Virtual. Para visualizar su contenido, inicia wireshark y abre el fichero desde el menú de archivos. HTTP 1.- Se ha realizado una captura del intercambio de mensajes que se realiza al consultar el estado del servicio de impresión de forma local en una cierta máquina. Al tratarse de una consulta local, tanto la fuente como el destino aparecerán como ::1. Contesta a las siguientes preguntas a partir de la información mostrada en las capturas. a) ¿Cuál es la URL completa del servicio accedido? http://localhost:631/printers b) ¿Cuáles son realmente los actores de la comunicación? Es decir, ¿quién actúa como cliente y quién como servidor? El cliente es el navegador (Mozilla), mientras que el servidor es un servidor http que se ejecuta en un proceso distinto al del cliente. Es decir, se trata de 2 procesos distintos alojados en la misma máquina. c) ¿Cuál ha sido el resultado de la petición? Como ha resultado correcta (200 OK), incluirá el código html de la página (no visible en la captura). d) ¿Por qué crees que se realizan 2 peticiones más a continuación? ¿Qué es lo que se está solicitando? Debido a que la página html contiene referencias a 2 objetos más. Uno es la hoja de estilo (css). El otro es un icono (png). 2.- Las siguientes capturas se corresponden con los mensajes HTTP intercambiados entre un cliente y el servidor web en http://www.ibis.com . a) ¿Cuál es el código resultante de la petición de la página web www.ibis.com en el primer mensaje? ¿A qué es debido? Es el código 301. Cuando la URL especificada es / se busca por defecto el fichero index.html en el servidor. Pero en este caso ese fichero no solamente no existe, sino que el servidor indica que

Transcript of HTTPblog.uclm.es/inocentesanchez/files/2018/07/aplicacion... · 2019-03-02 · Algunos de los...

Page 1: HTTPblog.uclm.es/inocentesanchez/files/2018/07/aplicacion... · 2019-03-02 · Algunos de los siguientes ejercicios se corresponden con una serie de capturas realizadas con la herramienta

1

Algunos de los siguientes ejercicios se corresponden con una serie de capturas realizadas con la

herramienta wireshark, y almacenadas en formato pcap. Puedes obtener estas capturas del tema

correspondiente en Campus Virtual. Para visualizar su contenido, inicia wireshark y abre el

fichero desde el menú de archivos.

HTTP

1.- Se ha realizado una captura del intercambio de mensajes que se realiza al consultar el estado

del servicio de impresión de forma local en una cierta máquina. Al tratarse de una consulta

local, tanto la fuente como el destino aparecerán como ::1. Contesta a las siguientes preguntas a

partir de la información mostrada en las capturas.

a) ¿Cuál es la URL completa del servicio accedido?

http://localhost:631/printers

b) ¿Cuáles son realmente los actores de la comunicación? Es decir, ¿quién actúa como cliente y

quién como servidor?

El cliente es el navegador (Mozilla), mientras que el servidor es un servidor http que se ejecuta

en un proceso distinto al del cliente. Es decir, se trata de 2 procesos distintos alojados en la

misma máquina.

c) ¿Cuál ha sido el resultado de la petición?

Como ha resultado correcta (200 OK), incluirá el código html de la página (no visible en la

captura).

d) ¿Por qué crees que se realizan 2 peticiones más a continuación? ¿Qué es lo que se está

solicitando?

Debido a que la página html contiene referencias a 2 objetos más. Uno es la hoja de estilo (css).

El otro es un icono (png).

2.- Las siguientes capturas se corresponden con los mensajes HTTP intercambiados entre un

cliente y el servidor web en http://www.ibis.com.

a) ¿Cuál es el código resultante de la petición de la página web www.ibis.com en el primer

mensaje? ¿A qué es debido?

Es el código 301. Cuando la URL especificada es / se busca por defecto el fichero index.html en

el servidor. Pero en este caso ese fichero no solamente no existe, sino que el servidor indica que

Page 2: HTTPblog.uclm.es/inocentesanchez/files/2018/07/aplicacion... · 2019-03-02 · Algunos de los siguientes ejercicios se corresponden con una serie de capturas realizadas con la herramienta

2

se ha movido permanentemente, e indica la nueva localización que será index.jsp. Es decir, no

existe una página estática como raíz del sitio, sino que debe ejecutarse el script index.jsp. Si no

se introduce en la petición GET el servidor notifica cuál es el punto de entrada correcto.

b) ¿Cuál es el contenido del cuerpo de la respuesta a la primera petición GET?

Una página HTML muy simple que se mostraría en el navegador si la redirección automática no

tuviera lugar.

c) ¿Qué tipo de petición se genera en el tercer mensaje, y cuál es ahora la URL?

Una petición tipo GET al script index.jsp del mismo host.

d) ¿Cuál es la razón del código resultante en la segunda respuesta (302)? ¿Ese código suele ir

asociado a una entrada en las líneas de cabecera? ¿Sabes a cuál y para qué se utiliza?

Se debe a que el servidor quiere realizar una redirección a una página alternativa. La entrada

asociada es la que tiene por clave Location, y que en este caso apunta a un segundo script.

Page 3: HTTPblog.uclm.es/inocentesanchez/files/2018/07/aplicacion... · 2019-03-02 · Algunos de los siguientes ejercicios se corresponden con una serie de capturas realizadas con la herramienta

3

e) ¿En qué momento se ha logrado obtener el código HTML correspondiente a la página

buscada por el usuario?

El código de la página realmente buscada se ha obtenido en el sexto mensaje, que es el que

retorna el código de estado 200 y el texto OK.

3.- Utilizando las mismas capturas que en el ejercicio anterior, contesta a las siguientes

preguntas relativas al uso de las cookies.

a) ¿Dónde buscarías el archivo de cookies si el navegador utilizado es Mozilla? ¿Sería la misma

ubicación si el navegador fuera el Chrome? ¿Y si utilizamos un usuario distinto?

El archivo de cookies está asociado al perfil del usuario en el navegador, en la carpeta que el SO

utiliza para almacenar la información de configuración de las aplicaciones de usuario. En

windows típicamente dentro de la carpeta oculta AppData asociada al usuario, mientras que en

Linux sería bajo la carpeta “.mozilla” del directorio home correspondiente. La carpeta varía con

el navegador. Además cada usuario tiene un perfil distinto.

b) ¿Es la primera vez que se accede al host www.ibis.com?

No, ya que en la petición el navegador reconoce al host e incluye dentro de las líneas de

cabecera el contenido de la cookie asociada.

Page 4: HTTPblog.uclm.es/inocentesanchez/files/2018/07/aplicacion... · 2019-03-02 · Algunos de los siguientes ejercicios se corresponden con una serie de capturas realizadas con la herramienta

4

c) ¿Cuándo se produce una actualización de la información de la cookie? ¿En qué idioma crees

que se mostrará la página web solicitada? ¿Ha variado respecto a la última vez que se accedió al

servidor web?

Tras la recepción del tercer mensaje, el servidor ha actualizado su información, cosa que

comunica al cliente en el cuarto mensaje. Se mostrará en español, debido al nuevo valor de la

propiedad userLocaliztionInitial. Sí, puesto que la cookie original especificaba el alemán como

idioma de usuario. (ver Figura apartado anterior).

Page 5: HTTPblog.uclm.es/inocentesanchez/files/2018/07/aplicacion... · 2019-03-02 · Algunos de los siguientes ejercicios se corresponden con una serie de capturas realizadas con la herramienta

5

4. Utiliza el fichero form.pcapng para contestar las siguientes cuestiones. Ten en cuenta que se

trata de una captura en la que tanto el cliente como el servidor se ejecutan sobre la misma

máquina, y se comunican a través de su interfaz de loopback, por lo que la IP tanto para la

fuente como para el destino será siempre 127.0.0.1.

a) ¿A qué corresponden los 3 primeros mensajes intercambiados entre el cliente y el servidor?

A la apertura de la conexión TCP.

b) ¿Cuál es el comando de la petición? ¿Y la URL en el servidor?

POST y /hello, respectivamente.

c) ¿Cómo se envía la información correspondiente al formulario? ¿Cuántos campos contiene?

A través del cuerpo de la petición. Contiene 2 campos: name y email.

d) ¿Cuál es el puerto en el que está a la escucha el servidor?

No es el puerto por defecto (80). Es el 5000.

e) ¿En qué número de mensaje se encuentra la respuesta? ¿Cuál fue el código resultante?

¿Contiene alguna información el cuerpo de la respuesta?

Es el número 18. El código 200. Sí, el texto OK.

f) ¿Podrías identificar cuáles son los mensajes TCP que se cruzan para finalizar la conexión?

Son los paquetes 19 a 23. En primer lugar el cliente envía un mensaje de reconocimiento de la

recepción del OK (19), para luego comenzar el proceso de cierre (los 4 siguientes).

Page 6: HTTPblog.uclm.es/inocentesanchez/files/2018/07/aplicacion... · 2019-03-02 · Algunos de los siguientes ejercicios se corresponden con una serie de capturas realizadas con la herramienta

6

5. Utiliza el fichero uclm.pcapng para contestar a las siguientes cuestiones. Para facilitar el

análisis aplica el siguiente filtro a la captura, de manera que solamente se visualice el tráfico

desde y hacia el servidor web de la UCLM: http.

a) ¿Qué software utiliza el servidor?

Microsoft IIS.

b) ¿Cuál es la respuesta al mensaje número 233? ¿Por qué razón?

304 not modified (mensaje 260). Se debe a que la petición se realizó de forma condicional si hay

modificaciones tras la fecha de 23/02/2016, condición que no se cumple.

Page 7: HTTPblog.uclm.es/inocentesanchez/files/2018/07/aplicacion... · 2019-03-02 · Algunos de los siguientes ejercicios se corresponden con una serie de capturas realizadas con la herramienta

7

c) ¿Por qué los mensajes 66 a 71 que corresponden a un GET son consecutivos?

Esto se debe a que al tratarse de una conexión persistente no es necesario abrir y cerrar la

conexión por cada objeto, sino que se solicitan uno detrás de otro.

d) ¿Que obtendrá el browser como respuesta al mensaje 66 y cuál es su finalidad?

Obtendrá un script que se transporta en el cuerpo de la respuesta. Este código se ejecutará en el

cliente para generar parte del contenido a visualizar en el navegador.

6. Utiliza el fichero dns.pcapng como base para contestar las siguientes preguntas.

a) Indica, ordenados de menor a mayor nivel de abstracción, cuáles son los protocolos utilizados

en las distintas capas en ambos mensajes.

Ethernet, IP, UDP, DNS.

b) ¿Por qué se hace uso del protocolo UDP en lugar de TCP?

Debido a que no se trata de una información crítica. En caso de no obtenerse respuesta, el

sistema operativo resolverá la traducción a través de otro host, por ejemplo.

c) ¿Cuál es la dirección IP del servidor de nombres?

172.20.32.3. Es un servidor local a la ESI.

Page 8: HTTPblog.uclm.es/inocentesanchez/files/2018/07/aplicacion... · 2019-03-02 · Algunos de los siguientes ejercicios se corresponden con una serie de capturas realizadas con la herramienta

8

d) ¿Cuáles es el nombre del servicio interrogado y la IP resultante de la consulta?

Se trata del servidor de WhatsApp, y se proporcionan 4 IPs como respuesta:

184.173.147.39, 192.155. 212.202, 184.173.147.38 y 192.155. 212.203

e) Lista el formato en campos de la consulta DNS, así como el número de bytes utilizadospara

cada uno de ellos.

Transaction ID, Flags, Questions, AnswerRRs, AuthorityRRs y AdditionalRRs: 2 B cada uno.

Queries: tiene un tamaño variable.

f) ¿Cuánto tiempo se ha consumido en la consulta completa?

0,033 segundos.

g) ¿Qué quiere decir el type A asociado a la URL sobre la que se ha realizado la traducción?

Significa que se trata de una petición de una dirección IP (address).