S'abonnez
Comment tester la vitesse d'un serveur DNS sur macOS
Mac

Comment tester la vitesse d'un serveur DNS sur macOS

LoKan Sardari

Comment savoir quel serveur DNS est le plus rapide chez vous ? En testant les différentes vitesses des différents serveurs et en les comparant entres eux. Simple, comme une commande Terminal.

Sommaire

Pourquoi tester son DNS ?

Un serveur DNS convertit les noms de domaines (comme google.com ) en adresses IP. Un DNS lent peut ralentir l’accès à chaque site web, même avec une connexion Internet rapide.

Tester différents serveurs DNS permet de choisir celui qui offre le meilleur compromis entre rapidité, confidentialité et sécurité. Etant actuellement limité à une connexion Starlink à mon domicile, j'ai du réaliser ces tests et les résultats n'étaient pas ceux que j'attendais.

Outils pour tester les DNS sur macOS

macOS propose plusieurs outils en ligne de commande pour mesurer la performance des serveurs DNS :

  • dig : L’outil le plus utilisé pour interroger un serveur DNS spécifique et mesurer le temps de réponse.
  • nslookup : Permet de tester la résolution DNS, mais moins précis que dig pour mesurer la vitesse.
  • dscacheutil : Utile pour voir comment macOS résout un nom de domaine en tenant compte de tous les serveurs DNS configurés.
  • networksetup -getdnsservers : Affiche les serveurs DNS actuellement utilisés par le système.

Utiliser la commande "dig"

Pour tester la vitesse d’un serveur DNS, ouvrez le Terminal et utilisez la commande suivante :

dig @adresse_ip_dns nom_de_domaine +stats

Par exemple, pour tester le DNS de Cloudflare :

dig @1.1.1.1 www.google.com +stats

commande dig DNS macOS

On voit le résultat de la commande en haut du dernier bloc de lignes "Query time: 180 msec"

Si on veut maintenant tester les DNS de DNS0 (ceux que j'utilisais jusqu'à présent), on fait la même chose (mais avec le bon hostname dans le Terminal) :

commande dig DNS0 macOS

On voit que DNS0 est plus rapide, ce qui est cool, mais… est-ce réellement le cas ? Pour en être certain, il faudrait pouvoir tester plusieurs fois à la suite.

Comment tester plusieurs fois les DNS

Pour tester plusieurs fois les mêmes DNS (chose que je vous encourage à faire), vous pouvez utiliser la commande suivante :

for i in {1..5}; do dig @1.1.1.1 www.google.com +stats | grep "Query time"; done

Et le résultat apparaitra sous vos yeux ébahis. Changer l'URL pour réaliser plusieurs tests.

5 tests DNS macOS Terminal

Conclusion

Tester la vitesse de son DNS est simple avec les outils intégrés à macOS. J'ai découvert ça au travers d'une petite interruption de service et comme toujours, j'ai décidé d'écrire un article pour alimenter la base de données qu'est ce site Internet.

Peut-être que ça vous servira un jour. Ce qui est certain c'est que ça me servira à nouveau et que je ne m'en souviendrai pas d'ici là.

Auteur de l'article

LoKan Sardari

🦓🧠 Ultralearner | 👨🏻‍💻 Entrepreneur | 🏋🏻 Athlete | 📷 Pixel lover | 🎒 Travel addict

LoKan Sardari

Rejoins-nous !

Abonne-toi sur Patreon pour accéder à notre communauté Discord et au contenu VIP.

S'abonner sur Patreon
Commentaires
Michel
il y a 6 mois
Répondre

Bonjour,
Merci pour ce tutoriel super pratique.
Quels DNS utilise tu aujourd'hui ?
Merci

LoKan Sardari
il y a 5 mois

Salut Michel,
J'utilise Cloudflare : 1.1.1.1 et 1.0.0.1
A très vite !

zahir gomri
il y a 6 mois
Répondre

Salut Lokan,
Merci pour l'article.
Je fais référence à ton article et une ancienne vidéo où tu avais configuré du matos UniFi en mettant les services DNS sur tes équipements en l'assurance sur tes switchs.
Quand tu as des switchs et des bornes wifi, appliques-tu les réglages aux switchs et aux bornes ou seulement aux switchs ?
Merci pour ta réponse.

LoKan Sardari
il y a 6 mois

Salut,
J'applique les DNS uniquement à la passerelle (dans notre cas, l'UDM SE).

Emmanuel CHARPENTIER
il y a 7 mois
Répondre

Merci pour l'article.
La boucle FOR me sert pas mal pour mes scripts au boulot, mais j'avais jamais pensé à l'utiliser pour choisir un DNS 🙂

LoKan Sardari
il y a 6 mois

Trop cool ! Merci pour ton commentaire. Je n'aurai jamais pensé qu'un article DNS et Terminal fonctionnerai haha.

Quentin
il y a 7 mois
Répondre

Hello,

Merci pour l'article, c'est toujours bon de rappeler ces petites commandes qui permettent de faire des tests rapidement.

On peut encore améliorer la commande pour tester sur plusieurs DNS à la fois d'un seul coup en ajoutant une boucle:
`for dns in {1.1.1.1,193.110.81.0}; do echo $dns && for i in {1..5}; do dig @$dns http://www.google.com +stats | grep "Query time"; done; done;`

Encore merci pour les articles en tout genre !

Quentin

LoKan Sardari
il y a 6 mois

Je kiffe ton adresse mail 😉