Práctica 5 - Análisis de la capa de aplicación

Práctica 5 - Análisis de la capa de aplicación#

El objetivo de esta práctica es realizar la captura del tráfico de red correspondiente al intercambio de mensajes en los que intervienen protocolos a nivel de aplicación, su análisis y la identificación de los diferentes campos de los mensajes. Concretamente, en esta sesión se verán los protocolos DNS y HTTP.

Evaluación#

Esta práctica es evaluable (0.5 puntos sobre los 3.0 puntos totales de las prácticas), por lo que deberás acceder al cuestionario correspondiente en Campus Virtual y responder a las preguntas. Las preguntas que hay que responder estarán disponibles mientras se realiza la sesión de prácticas y hay que entregar antes de la finalización de la misma. Cada respuesta errónea se penalizará con un 1/3 del valor asignado a cada pregunta.

Preparación#

Para la realización de la práctica es necesario que la conexión de red esté configurada correctamente:

  1. Se suponen conocidos aspectos ya vistos en prácticas anteriores, por ejemplo, el comando para conocer la propia IP y el manejo de Wireshark.

  2. Prepara tu directorio de trabajo:

    • En /home/alumno crea un directorio llamado p5. Asumiendo que tu directorio actual es /home/alumno, el comando sería:

      mkdir p5
      
    • Si ya existe, bórralo y créalo de nuevo

      rm -rf p5
      mkdir p5
      
    • Ve al directorio y realiza la práctica desde allí:

      cd p5
      
    • Comprueba que estás en el directorio adecuado con:

      pwd
      

      Debe devolver:

      /home/alumno/p5
      
  3. Asegúrate que la interfaz de red de la máquina virtual tiene una dirección IP del tipo 172.24.21x.xxx.

  4. Asegúrate que puedes salir a Internet desde la máquina virtual. Por ejemplo, puedes ejecutar:

    ping -c 3 8.8.8.8
    

    Esto debe proporcionar un resultado similar a:

    3 packets transmitted, 3 received, 0% packet loss, time XXXms
    
  5. Abre un navegador dentro de la máquina virtual y ten a mano estas instrucciones así como el formulario de Campus Virtual. Así te será más fácil seguirlas y descargar los archivos necesarios.

    Importante

    No almacenes tu contraseña de Campus Virtual en la máquina virtual.

DNS#

dns1.pcapng#

Esta captura se ha generado utilizando el siguiente comando:

host www.uclm.es

Este comando resuelve el nombre www.uclm.es en la dirección o direcciones IP a la que corresponde dicho nombre utilizando el protocolo DNS.

Descarga la captura dns1.pcapng y realiza un análisis con wireshark o tshark. Responde a las preguntas del cuestionario relacionadas con esta captura.

dns2.pcapng#

Descarga la captura dns2.pcapng y analízala. Después, responde a las preguntas asociadas a la misma. Esta captura se ha generado utilizando el siguiente comando:

host redes1.com

HTTP#

http1.pcapng#

En este ejercicio se utilizará el comando curl. Se trata de una herramienta que permite realizar peticiones HTTP. La respuesta a cada petición la muestra por pantalla. Por defecto, el método que utiliza es GET que es el caso de este ejemplo. Se puede utilizar otro método a través de la opción -X.

En esta ocasión, debes crear una captura llamada http1.pcapng que contendrá tráfico HTTP. Para ello:

  1. Arranca wireshark.

  2. Ten a mano un terminal abierto.

  3. Comienza a capturar tráfico en wireshark.

  4. Ejecuta lo siguiente en el terminal:

    curl http://httpbin.org/get
    

    Debes tener una salida similar a la siguiente:

    {
      "args": {},
      "headers": {
        "Accept": "*/*",
        "Host": "httpbin.org",
        "User-Agent": "curl/7.74.0",
        "X-Amzn-Trace-Id": "Root=1-621ff61f-71e17fc20c02922e7e26a8df"
      },
      "origin": "182.200.203.150",
      "url": "http://httpbin.org/get"
    }
    
  5. Para de capturar tráfico en wireshark.

  6. Guarda la captura como http1.pcapng. Asegúrate que lo guardas en /home/alumno/p5.

  7. Como filtro de visualización utiliza http.

  8. Se deben mostrar 2 paquetes HTTP únicamente. Si no obtienes esta salida, debes repetir la captura.

Con los 2 paquetes HTTP mostrados ya puedes completar la parte del cuestionario asignada a este ejercicio.

http2.pcapng#

Para generar el tráfico en este ejercicio se empleará el comando wget que sirve, entre otras muchas funcionalidades, para descargar ficheros utilizando HTTP. A diferencia de curl, este comando guarda en ficheros las respuestas del servidor, además de implementar funcionalidades de más alto nivel como seguir las redirecciones HTTP de forma automática. De hecho, esto mismo es lo que se hará en este ejemplo.

En definitiva, wget es una herramienta de más alto nivel que curl y permite descargar ficheros por HTTP a como lo haría un navegador convencional pero sin necesidad de entorno gráfico.

Utilizando el procedimiento anterior, ahora debes crear la captura llamada http2.pcapng de la siguiente forma:

  1. Arranca wireshark.

  2. Ten a mano un terminal abierto.

  3. Comienza a capturar tráfico en wireshark.

  4. Ejecuta lo siguiente en el terminal:

    wget http://www.uclm.es
    

    Debes tener una salida similar a la siguiente:

    --2022-03-07 09:31:00--  http://www.uclm.es/
    Resolving www.uclm.es (www.uclm.es)... 51.105.185.204
    Connecting to www.uclm.es (www.uclm.es)|51.105.185.204|:80... connected.
    HTTP request sent, awaiting response... 302 Found
    Location: https://www.uclm.es/ [following]
    --2022-03-07 09:31:00--  https://www.uclm.es/
    Connecting to www.uclm.es (www.uclm.es)|51.105.185.204|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 113381 (111K) [text/html]
    Saving to: ‘index.html’
    
    index.html              100%[==============================>] 110.72K  --.-KB/s    in 0.03s
    
    2022-03-07 09:31:00 (3.57 MB/s) - ‘index.html’ saved [113381/113381]
    
  5. Para de capturar tráfico en wireshark.

  6. Guarda la captura como http2.pcapng. Asegúrate que lo guardas en /home/alumno/p5.

  7. Como filtro de visualización utiliza ip.addr == 51.105.185.204.

  8. Debes ver diferentes tipos de tráfico. Además wget se ha debido de descargar un fichero llamado index.html. Si falta algo de esto, debes repetir la captura.

Con todos los requisitos cumplidos ya puedes analizar el tráfico y responder a la parte del cuestionario asignada a este ejercicio.

Finalización#

Finalmente, borra el directorio generado /home/alumno/p5 con:

rm -rf /home/alumno/p5