1.-
Pregunta
Respuesta
·
PRÁCTICA
DE REDES.
·
CAPA
DE TRANSPORTE (TCP, UDP) --- 1 parte
·
En esta práctica
sobre la pila de protocolos TCP/IP nos vamos a ocupar de lo que se conoce
como capa de transporte. La capa de
transporte se encarga, entre otras cosas, de empaquetar la información en
paquetes de tamaño adecuado (limitarlo, por ejemplo, a las características de
la red física, que podría no soportar paquetes de tamaños superiores a…), de
verificar que todos los paquetes de una comunicación han llegado a destino
(dependiendo del protocolo que usemos), de comprobar que los paquetes no estén
corruptos…
·
Los dos protocolos
principales de la capa de transporte son TCP (Transmission Control Protocol) y
UDP (User Datagram Protocol). A lo largo de la práctica veremos algunas de sus
características. También recuperaremos el protocolo DNS (Domain Name Server) y
veremos la necesidad de contar con servidores DNS en nuestro ordenador para
poder acceder a Internet, cómo se pueden configurar los servidores DNS y cómo
funciona el protocolo.
·
Antes de empezar la
práctica vamos a recuperar el programa para monitorizar el tráfico de red
(http://www.wireshark.org/). Instálalo en tu ordenador. Ejecútalo, y dentro del
menú “Capture”, en la opción “Interfaces”, elige la interfaz de red activa.
Recupera y anota la IP de tu ordenador por medio del comando “ipconfig” (de las
distintas interfaces de red que aparezcan debes seleccionar la correspondiente
a “Adaptador de Ethernet – Conexión de área local”).
·
Ahora crea un filtro
en Wireshark como el siguiente para conseguir aislar sólo el tráfico que tiene
como origen o destino tu máquina: host ip-de-tu-maquina
PUEDES VER LA
SINTÁXIS DE FORMACIÓN DE LOS FILTROS EN WIRESHARK EN
ESTE LINK.
http://wiki.wireshark.org/CaptureFilters.
·
A lo largo de la
práctica, a medida que Wireshark captura más paquetes, es probable que su
comportamiento se ralentice. En ese caso puedes detenerlo (“Capture ->
Stop”) y reiniciarlo (“Capture -> Interfaces -> Start ) (ten en cuenta
que empezará una nueva sesión o captura cada vez que lo arranques y se perderán
los paquetes ya capturados).
·
Pregunta
1
Abre pestañas independientes en
tu navegador y accede a estas direcciones:
193.147.0.103
185.15.76.85
1.1 ¿Qué páginas se han abierto?
·
Portal todo FP inicio
·
http://www.iesgrancapitan.org/portal/
·
Filtra en Wireshark
toda la actividad DNS que ha habido al abrir las páginas anteriores (escribe “dns”
en la ventana “Filter:”). El protocolo DNS es el que permite, a partir de una
dirección URL, resolver su IP para que las cabeceras de la capa de red se
puedan formar correctamente.
1.2.- ¿Ha necesitado el ordenador conectarse a los servidores DNS para
resolver las anteriores direcciones? ¿Se ha conectado antes o después de hacer
las solicitudes HTTP?





2.1 ¿A qué protocolos pertenecen?




2.2 Vamos a observar
ahora la comunicación que ha habido a través del puerto de tu computadora.
En primer lugar,
vamos a filtrar los paquetes de los que hemos sido origen (o src). Aplica el
siguiente filtro: tcp.srcport eq puerto_de_tu_maquina
¿Cuál es la IP de origen de dichas
comunicaciones? ¿Y la de destino? ¿Qué recursos web se han solicitado por HTTP a
través de ese puerto?



2.3 Veamos ahora los
paquetes de los que hemos sido destinatarios (dst). Aplica el siguiente filtro:
tcp.dstport eq puerto_de_tu_maquina
¿Cuál
es la IP de origen de dichas comunicaciones? ¿Y la de destino? ¿Qué mensajes
HTTP se han enviado a través de ese puerto?



Aparte de la
información sobre los puertos, las cabeceras TCP contienen información que nos
va a permitir asegurar la correcta recepción de los paquetes. Copia los números
“Sequence number” y “Next Sequence
Number” dentro de la cabecera TCP del mensaje “GET / HTTP/1.1”. Ahora crea el siguiente filtro: tcp.ack eq
next_sequence_number
Responde a las
preguntas:
¿Qué
mensajes contienen el número next_sequence_number? ¿La respuesta del servidor
“HTTP/1.1 200 OK” contiene el next_sequence_number?
los mensajes de siguientes secuencias de numeros que se transmiten al enviar el mensaje
si contiene el next - sequence-number.
Pulsa el botón
derecho sobre el mensaje cuya “info” es “HTTP/1.1 200 OK”, opción “Show Packet
in New Window” y trata de comprobar, en la sección de cabeceras de “Reassembled
TCP Segments”, qué paquetes han sido “reensamblados” para construir el mensaje
de respuesta HTTP.
Anota
sus números y comprueba si aparecen también entre los mensajes filtrados por la regla “tcp.ack
eq next_sequence_number”.
HTTP/1.1 201
HTTP/1.1 202
HTTP/1.1 203
HTTP/1.1 204
Tratemos de dar una
explicación al anterior hecho. Cuando tu ordenador hace una solicitud a un
servidor, genera números “Sequence Number” y “Next Sequence Number”. Estos
números son generados de forma aleatoria.
Cuando el servidor
responda a tu mensaje, siempre incluirá un campo “Acknowledgment number” en el
que enviará el número que nuestro ordenador le envió como “Next Sequence
Number”. Así nuestro ordenador consigue distinguir las respuestas a las
distintas solicitudes que le haya hecho a ese servidor.
De no existir los
números “Sequence” y “Acknowledgment”, nos sería imposible distinguir las
distintas comunicaciones con una misma máquina, y por tanto no podríamos
reconstruir sus mensajes