😡Comprobación DNS

La forma de resolución de un DNS es un protocolo estándar muy eficiente, vamos a comprobar como funcionan las peticiones.

En esta práctica vamos a comprobar las peticiones y respuestas de un primer acceso para DNS.

Pasos de resolución de dominio

Imaginaos que partimos de la página web www.marvel.com, los pasos que se realizan para saber cual es la IP es:

  1. Se establece una petición (query) del cliente al DNS solucionador recursivo del ISP o público (google, local...).

  2. Este resuelve su caché para ver últimas consultas, si no la encuentra se envía al servidor raíz.

  3. El servidor raiz está compuesto por 13 IPs y puede enviar los detalles de servidores TLD como .com, .net, .org ...

  4. El servidor raíz se referirá al servidor TLD del dominio pedido, este dará la información de la “ubicación” en el servidor autoritativo.

  5. El servidor autoritativo con suerte tendrá el registro de lo que estamos buscando y devolverá la IP al ordenador.

Práctica de resolución

Borrado de registros y caché

  1. Debemos asegurarnos que no haya caché en el navegador, para ello borramos la caché de navegador desde la url chrome://net-internals/#dns

  2. Borra la caché del servidor DNS de Windows desde CMD: ipconfig /flushdns

  3. En caso que estés en el servidor y tengas un DNS instalado deberias borrar los registros de este también desde powershell: Clear-DnsServerCache

Piensa que el DNS es un protocolo bastante efectivo que va a registrar las peticiones rapidamente por lo que debemos actuar rápido para no capturar centenares de paquetes DNS.

Captura de paquetes

Sigamos los pasos para conguir los paquetes:

  1. Abrimos una pestaña de navegador y dejamos la url preparada

  2. Abrimos Wireshark y nos ponemos a capturar paquetes

    En mi caso usaré el adaptador "Wifi"
  3. Accedemos a la web.

  4. Paramos de capturar Wireshark

Análisis de paquetes

Primero con todos los registros debemos aplicar el filtro de "DNS" para que solo aparecan los que nos interesan.

  1. Buscamos la primera petición dns realizada al servidor de raíz, para ello revisemos que sea una de las IPs de la lista de root servers:

  2. Un vez encontrada la entrada miramos en la capa de transporte (protocolo UDP) y nos fijamos que usa el puerto 53 que es el por defecto de DNS.

  3. En la pestaña de domain name service (query), en la parte de "queries" veremos la petición al servidor TLD:

    La petición es de clase A, osea de IPv4
  4. Buscamos la replica del servidor TLD y nos fijamos

    • Los puertos estan invertidos

    • La query es la misma

    • En authoritative name-servers veremos los Servidores TLD y en "additional" veremos las IPs

  5. Buscamos la replica del servidor TLD y en "additional" veremos las IPs de los servidores autoritativos y sus IPs.

  6. Buscamos la respuesta de nuevo de la IP y, en este último encontraremos la respuesta última entre dominio e IP.

  7. Una vez resuelta la última entrada se añadirá en la caché DNS. Esto podemos comprobarlo mediante: ipconfig /displaydns

Última actualización