présentation

DNSGlobe est un outil en ligne de commande écrit en Rust qui permet de surveiller la propagation DNS à travers le monde. Il interroge 34 résolveurs DNS publics en parallèle et compare leurs réponses pour afficher la propagation d'un enregistrement sur une carte du monde.

fondements techniques

Chaque résolveur est interrogé directement, sans cache, en utilisant EDNS0 et avec une fallback TCP pour les réponses tronquées. Les réponses partageant un même enregistrement sont regroupées, de sorte que les enregistrements DNS à rotation (round-robin DNS) sont considérés comme une seule réponse cohérente et non comme plusieurs réponses conflictuelles.

fonctionnement et utilisation

L'outil peut être installé via Homebrew ou en utilisant Cargo. Une fois installé, il peut être lancé avec la commande dnsglobe suivie du nom de domaine à tester. L'outil peut également être utilisé en mode « watch » pour surveiller la propagation d'un enregistrement jusqu'à ce qu'il soit propagé partout. Les résultats peuvent être affichés sous forme de carte du monde si la largeur du terminal est suffisante.

implications et limites

Il est important de noter que certains résolveurs sont des réseaux anycast, ce qui signifie que le nœud qui répond est celui qui est le plus proche de l'utilisateur. La liste des résolveurs est stockée dans le fichier src/resolvers.rs et peut être modifiée librement. Cependant, seuls les résolveurs qui acceptent les requêtes externes peuvent être inclus, ce qui exclut de nombreux résolveurs ISP et africains.