Comment vider le cache DNS sur Mac

author Nathan Martin
date le 31 mars 2022

Si vous voulez résoudre des problèmes de saturation du cache ou d’autres problèmes de connectivité Internet, alors vous devrez peut-être effacer le cache DNS sur votre Mac. Si vous êtes l’administrateur d’un réseau, un développeur Web ou l’administrateur système d’un Mac, alors vous devrez peut-être vider le cache DNS de macOS pour plusieurs raisons. En particulier, si vous souhaitez résoudre correctement le nom d’un serveur ou si vous voulez changer d'adresse DNS de votre Mac pour pouvoir être détecté par votre système individuel.

Lire aussi :

Qu'est-ce que le cache DNS

Le cache DNS désigne le stockage temporaire des informations relatives aux consultations DNS précédentes sur le système d'exploitation ou le navigateur web d'une machine. Le fait de conserver une copie locale d'une consultation DNS permet à votre système d'exploitation ou à votre navigateur de la récupérer rapidement, ce qui permet de résoudre l'URL d'un site Web en fonction de l'IP correspondante de manière beaucoup plus efficace. La fonction de base des différents types de caches est plus ou moins la même.

La mise en cache du DNS ne se produit pas seulement au niveau du système d'exploitation et du navigateur. En fait, comme nous l'avons mentionné plus haut, une consultation de DNS comporte plusieurs étapes. Lors d'une nouvelle recherche DNS, la recherche passe par le résolveur, le serveur racine et le serveur TLD. À chaque étape, des informations sont recueillies et mises en cache pour une utilisation ultérieure. Par conséquent, même si le cache DNS local est vide, le résolveur peut disposer d'une copie en cache des informations requises, ce qui évite de devoir passer par le processus complet de recherche DNS.

La méthode la plus facile pour vider des caches sur Mac

Macube Cleaner est une solution beaucoup plus simple pour effacer le cache DNS sur toute version de Mac. C'est est une application conçue pour nettoyer, optimiser et entretenir votre Mac, ainsi que pour vider les caches de toutes ses fonctionnalités.

Étape 1. Lancez Macube Cleaner. Vous voyez sur l’interface principale le mode « Smart Scan ». Cliquez sur « Smart Scan » pour démarrer l’analyse.

Macube Cleaner

Étape 2. Sélectionnez dans le résultat de l’analyse les caches que vous voulez effacer, comme Cache du Système, et cliquez sur « Nettoyer ».

Macube Smart Scan

Étape 3. Le nettoyage va commencer tout de suite. Généralement tout le processus va terminer en quelques secondes. Mais ça dépend de la taille des fichiers.

Macube Cleaner

Comment vider le cache DNS sur Mac

  • La façon de réinitialiser le cache DNS n'est pas la même sur chaque version de Mac OS X. Si vous utilisez un ordinateur Mac depuis longtemps, alors vous savez peut-être que ce processus sur OS X Yosemite est similaire à certaines versions plus anciennes de macOS. Cela est probablement dû au remplacement de mDNSResponder par discoveryd, qui ensuite est de nouveau passée à mDNSResponder.

  • Malgré ce changement, vider le cache DNS se fait toujours par une commande dans le Terminal sur Yosemite, mais il existe de petites différences en fonction de la version exacte du système d'exploitation que vous utilisez.

  • Vous pouvez vider le DNS unicast ou le DNS Multicast, ou les deux. Si vous voulez réinitialiser tous les caches DNS sur votre Mac, alors vous devrez peut-être vider les deux.

Vider le cache DNS sur macOS Sierra ou sur macOS High Sierra

Pour vider le cache DNS sur macOS Sierra et sur macOS High Sierra, vous devrez utiliser une nouvelle commande. Lisez ce guide rapide pour apprendre à le faire.

Effacer le cache DNS sur Mac OS X Yosemite ou El Capitan

À partir de OS X 10.10.4 et les versions supérieurs, la version 10.11 incluse, Apple a abandonné discoveryd et l’a remplacé par mDNSResponder. Par conséquent, pour vider les caches DNS sur OS X Yosemite et Mac OS X El Capitan, ainsi que les versions ultérieures, veuillez suivre les étapes suivantes :

Étape 1. Lancez le Terminal en tapant Terminal dans la barre de recherche.

Étape 2. Entrez la commande suivante :
sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder; say cache flushed

Macube Cleaner

Étape 3. Appuyez sur Entrée, saisissez votre mot de passe, le processus de suppression va lancer.

La commande ci-dessus effacera tous les caches DNS sur OS X 10.10.4 et les versions ultérieures.

Les vieux utilisateurs de Mac remarqueront peut-être que cette chaîne de commande correspond à celle utilisée dans la version de macOS qui a précédé Yosemite. Cependant, les versions de OS X Yosemite antérieures à 10.10.4 utiliseront une chaîne de commande différente, comme indiqué ci-dessous.

Pour réinitialiser le cache, vous devez utiliser le terminal. Recherchez l'application Terminal dans /Applications/Utilitaires/ ou bien ouvrez-la à partir de Spotlight. Ciblez à la fois UDNS (Unicast DNS) et MDNS (Multicast DNS) avec deux commandes différentes pour vider complètement tous les caches DNS sur la version la plus récente d'OS X.

Effacer le cache MDNS

Pour les systèmes différents, vous devez taper les commandes différentes.
  • OS X Yosemite et les versions ultérieur : sudo killall -HUP mDNSResponder

  • De OS X 10.10 à 10.10.3 : sudo discoveryutil mdnsflushcache

Appuyez sur la touche « Retour » et entrez le mot de passe administrateur lorsque vous y êtes invité.

Effacer le cache UDNS

sudo discoveryutil udnsflushcaches

Appuyez à nouveau sur la touche « Retour » et entrez le mot de passe administrateur lorsque vous y êtes invité. Dans la deuxième commande, le mot « caches » est au pluriel. Cette variation de syntaxe est petite mais cruciale.

Comment vider et réinitialiser toutes les caches DNS sur OS X Yosemite

Si vous le souhaitez, vous pouvez également relier les deux commandes. La commande suivante vous enverra une notification une fois que les caches sont effacés :
sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;say flushed

Il ne fait aucun doute que les caches MDNS et UDNS sont différents, mais vous pouvez comprendre que les deux commandes sont requises pour que le cache DNS fonctionnel soit totalement vidé sur OS X Yosemite. Si vous ne souhaitez effacer seulement l'un des caches DNS, et bien c'est tout à fait possible.

Puisque OS X Yosemite s‘est debarassé de mDNSResponder, vous n'avez pas besoin de terminer le processus mDNSResponder pour actualiser les caches DNS comme c’était le cas sur les versions précédentes de Mac OS X.

Si vous utilisez une version antérieure d’OS X telle que Mavericks, Mountain Lion ou Lion, alors les commandes permettant de vider le DNS sont différentes. Ci-dessous, vous pourrez trouver les commandes de terminal pour les versions antérieures de Mac OS X.

Comment vider le cache DNS sur OS X Mavericks, Mountain Lion et Lion

La commande ci-dessous vous aidera à réinitialiser le cache DNS sur OS X 10.9.5 et les versions antérieures de macOS :
sudo killall -HUP mDNSResponder

Si vous utilisez Mac OS X Snow Leopard, alors veuillez utiliser la commande de terminal suivante.

Comment vider le cache DNS sur Mac OS X Snow Leopard

Copiez simplement la commande ci-dessous pour réinitialiser le cache DNS sur OS X 10.6 jusqu’à 10.6.8 :
sudo dscacheutil -flushcache

Comment vérifier les détails du cache DNS sur OS X El Capitan ou Yosemite

Si vous souhaitez savoir ce qui est mis en cache lorsque vous changez de DNS, alors vous pouvez utiliser les commandes suivantes :

Obtenez les statistiques du cache UDNS

sudo discoveryutil udnscachestats

De plus, vous pouvez récupérer des détails sur le cache DNS multicast avec la commande suivante :
sudo discoveryutil mdnscachestats

Les deux commandes mentionnées ci-dessus donnent des informations telles que le nombre d'entrées DNS mises en cache. Vous pouvez également obtenir un compte des détails de la manière suivante:
UDNS Cache Stats: Cached 1250 of 1900

Si vous exécutez ces commandes avant et après l'exécution des variations de flushcache, vous découvrirez qu'elles doivent être réinitialisées sur le cache à 0 entrées, comme indiqué ci-dessous :
MDNS Cache Stats: lo0: Cached 6 of 7500

Comment savoir si les changements ont été effectués

Une fois le cache effacé, si vous souhaitez confirmer si l’adresse IP ou le nom du serveur a réellement changé, alors utilisez la commande « dig » avec un certain URL, par exemple :
dig xxx.fr

dig et nslookup sont assez similaires, mais la différence est que dig donne de meilleurs résultats en incluant des informations supplémentaires. Il fournit des détails tels que le serveur DNS défini utilisé pour accéder au domaine, un horodatage et l'heure de la requête. Toutes ces informations sont utiles pour résoudre les problèmes de noms de serveur. Si le temps de la requête dans le résultat est lent, alors vous devez utiliser un outil nommé « namebench » pour obtenir un serveur DNS plus rapide, généralement OpenDNS ou Google DNS.

Conclusion

Voilà, c’est tout ! Nous espérons que maintenant, vider le cache DNS ne vous posera plus de problème. Si vous voulez rendre tout le processus plus simple et sécuritaire, nous vous recommandons fortement un logiciel puissant – Macube Cleaner. Ce programme est compatible avec presque tous les Mac sous systèmes différents. Vous pourrez désormais vous débarrasser des commandes compliquées et réaliser le nettoyage en quelques clics bien simples !

Nathan Martin
Auteur
Nathan Martin, le rédacteur en chef de l'équipe Macube, est un grand fan d'Apple. Il aime partager son expérience et ses idées à travers l'écriture.