Flush DNS : comment vider votre cache DNS

Toute personne qui navigue sur Internet laisse beaucoup de traces, même les utilisateurs inexpérimentés le savent probablement déjà. Les opérateurs de sites Web utilisent des technologies telles que les cookies ou les applications JavaScript pour enregistrer le comportement des visiteurs. Les données obtenues ici sont utilisées pour optimiser le site Web et personnaliser le contenu sans que les utilisateurs ne divulguent activement leurs données personnelles. De nombreux utilisateurs s’appuient de plus en plus sur les bloqueurs d’annonces et de JavaScript ainsi que sur les proxies, ou suppriment l’historique et les cookies pour mettre fin à la collecte de données et protéger leur propre vie privée.

Cependant, très peu d’utilisateurs savent que le système d’exploitation enregistre également des informations sur le comportement de navigation : par exemple, le cache DNS généré automatiquement contient des entrées temporaires sur tous les sites Web visités. Les sections suivantes expliquent exactement ce qu’est ce cache et pourquoi il y a plusieurs raisons de supprimer régulièrement le cache DNS.

Qu’est-ce que le cache DNS ?

Les serveurs DNS sont utilisés pour convertir des noms de domaine tels que www.exemple.comen adresses numériques pouvant être traitées par des systèmes informatiques. Ces « serveurs de noms » sont contactés par défaut via le navigateur à chaque accès aux projets correspondants, ce qui augmente légèrement leur temps de chargement et peut également conduire à une surcharge du serveur DNS dans le cas d’un nombre élevé de visiteurs. Les messages d’erreur comme DNS Server Not Responding sont une conséquence courante assez désagréable.

Pour cette raison, les systèmes d’exploitation comme Windows et macOS conservent leur propre cache pour les adresses appelées et résolues : les caches DNS. Ceux-ci sauvegardent toutes les informations pertinentes pour la résolution des noms, chacune ayant une entrée connue sous le nom TTL (time to live) où les données restent valables pendant un temps donné. Pendant ce temps, les requêtes correspondantes sont répondues directement à partir du cache sans avoir besoin de passer par le serveur DNS.

Note

diverses applications, comme les navigateurs Web ou les serveurs de noms des fournisseurs de services Internet, ont aussi leur propre cache DNS pour accélérer la résolution des noms.

Quelles sont les informations contenues dans le cache DNS ?

Les unités d’information ou entrées dans le cache DNS sont appelées enregistrements de ressources (RR) et sont affichées en code ASCII (sous forme comprimée). Les différents composants, partiellement optionnels, comprennent les éléments suivants :

  • Données de ressource (rdata) : données qui décrivent l’enregistrement, par exemple l’adresse ou le nom d’hôte.
  • Type d’enregistrement : type de l’entrée créée, par exemple « A » : adresse IPv4 (valeur décimale : 1) ou "AAAA" : adresse IPv6 (valeur décimale : 28)
  • Nom de l’enregistrement (facultatif) : nom de domaine de l’objet pour lequel l’entrée DNS a été créée.
  • Temps à vivre (facultatif) : période de validité de l’enregistrement de la ressource en secondes.
  • Classe (optionnel) : groupe de protocole auquel appartient le RR (principalement « IN » pour internet)
  • Longueur des données de ressource (facultatif) : valeur de la longueur des données de ressource.

Le cache DNS contient les adresses IP pour les domaines ou hôtes respectifs ainsi que des informations supplémentaires le spécifiant, comme la période de validité de l’enregistrement ou le groupe de protocole approprié. Par exemple, une entrée pour le domaine www.exemple.com (IPv4 : 172.27.171.171.106), qui devrait être valide pour une erreur, aurait l’aspect suivant :

www.example.com.    3600  IN  A  172.27.171.106

Pourquoi un flush DNS régulier est-il utile ?

Comme mentionné précédemment, il est logique de vider le cache DNS régulièrement. Cela ne se fait pas tout seul : les entrées restent dans le cache jusqu’à l’expiration du TTL défini. Il y a trois raisons en particulier pour lesquelles vous devriez prendre des mesures et régler le registre DNS à zéro avec un flush DNS, quelle que soit la période de validité réelle des enregistrements individuels :

  1. Masquer le comportement de recherche : alors que le suivi du comportement de l’utilisateur sur Internet est principalement effectué par les cookies, JavaScript et autres, le cache DNS offre toujours une cible potentielle pour tous les collecteurs de données. Sur la base des adresses qui y sont enregistrées, comprenant aussi des informations supplémentaires telles que la période de validité (le cas échéant), vous pouvez obtenir une vue d’ensemble approximative de l’historique de vos pages. Dans tous les cas, votre stockage d’adresses trahit les projets que vous consultez régulièrement ou sur une longue période. Plus la collection d’adresses mises en cache est complète, plus vous vous révélez.
     
  2. Sécurité contre la manipulation : vous devriez également vider le cache DNS de temps en temps pour des raisons de sécurité. Les informations contenues dans le cache sont pratiques pour faciliter l’accès de sites Web, mais peuvent rapidement devenir dangereuses entre de mauvaises mains. Si les cybercriminels accèdent au cache DNS, ils sont en mesure de manipuler les entrées et, par exemple, de vous rediriger vers les mauvais sites Web. Ce qu’on appelle empoisonnement DNS ou spoofing DNS est souvent utilisé pour accéder à des données de connexion sensibles, par exemple, aux services bancaires en ligne. Avec un flush DNS, vous pouvez également vous débarrasser de ces enregistrements manipulés avec un minimum d’effort.
     
  3. Résoudre des problèmes techniques : un flush DNS sur Windows, macOS et autres est souvent une solution efficace si vous rencontrez des problèmes techniques lors de l’accès aux applications Web. Par exemple, il est possible qu’une version incorrecte du site Web appelé soit affichée en raison d’entrées obsolètes. Dans de tels cas, le nom de domaine est probablement classé dans le cache avec une adresse IP incorrecte ou ancienne, ce qui peut être corrigé en vidant le cache DNS. Par conséquent, la requête sera de nouveau dirigée vers le serveur DNS approprié et ne recevra pas de réponse à partir du cache. Avec la mise à jour de l’adresse, la connexion au projet Web fonctionnera à nouveau comme prévu.
Conseil

vous pouvez afficher le cache DNS actuellement stocké sur votre système à tout moment. Sous Windows, par exemple, il suffit d’ouvrir l’invite de commande et d’entrer la commande "ipconfig /displaydns".

Vider le cache DNS : comment faire ?

Il n’y a pas de règle sur le moment idéal pour un flush DNS, à moins qu’il n’y ait un problème urgent qui peut être résolu en vidant le cache. Le cache DNS devrait également être effacé immédiatement si vous êtes redirigé vers un site auquel vous ne souhaitiez pas accéder. Ce n’est pas nécessairement une attaque d’usurpation basée sur une entrée DNS manipulée, mais comme une telle attaque ne peut pas être exclue par principe, un flush DNS est fortement recommandé dans de tels cas.

Note

que vous effaciez le cache DNS pour une raison spécifique ou simplement à titre préventif, vous n’avez pas à vous soucier de tout effet perceptible sur votre expérience Web : après avoir réinitialisé le cache, seul le premier accès  à un projet Web devrait prendre un peu plus de temps que d’habitude s’il était précédemment chargé à partir de ressources sauvegardées.

Puisque le processus d’un flush DNS varie d’un système à l’autre, nous avons compilé dans les sections suivantes diverses listes d’instructions pour les différents systèmes d’exploitation principaux.

 

Windows 7 : comment activer un flush DNS

En tant qu’utilisateur de Windows 7, vous pouvez exécuter un flush DNS via l’invite de commande. Pour l’utiliser, cliquez sur le bouton Accueil de Windows et tapez « cmd » dans la barre de recherche. Lancez ensuite l’outil de ligne de commande en cliquant ou en appuyant sur la touche Entrée.

Entrez la commande suivante :

ipconfig /flushdns

Lorsque vous appuyez sur Entrée, Windows vide le cache DNS. Vous recevrez le message suivant confirmant que la mémoire cache a été vidée avec succès.

Windows 8 : exécuter un flush DNS

L’invite de commande est aussi l’outil à utiliser pour un flush DNS sur Windows 8. Ouvrez d’abord le menu Démarrer à l’aide de la touche Accueil, puis effectuez une recherche à l’aide du symbole de la loupe. Recherchez « cmd » et sélectionnez l’invite de commande en cliquant.

Pour vider le cache DNS, entrez la commande suivante :

ipconfig /flushdns

Démarrer le processus de flush en appuyant sur la touche Entrée. Un message en ligne de commande vous informera du succès du flush DNS.

Windows 10 : comment vider le cache DNS

L’invite de commande fonctionne de la même manière sur Windows 10, et la procédure ne diffère guère de celle de Windows 7 ou 8 : dans un premier temps, utilisez la fonction de recherche pour rechercher l’application en ligne de commande cmd.

Effacez maintenant le cache DNS avec la commande "ipconfig /flushdns" :

Si le processus a fonctionné comme souhaité, l’invite de commande confirme le succès du processus de nettoyage.

Faire un flush DNS sur Linux : comment ça marche ?

Les systèmes Linux n’ont pas de cache DNS par défaut. Les différentes distributions n’offrent qu’une fonction pour stocker les informations DNS localement avec l’utilisation d’applications appropriées comme nscd (service de nom de service cache daemon), pdnsd, dns-clean, dns-clean, ou dnsmasq. Si vous utilisez l’un de ces services pour la mise en cache, vous devez le contrôler depuis le terminal afin de vider le cache DNS.

Pour pdnsd, il y a une commande claire et concrète :

sudo pdnsd-ctl empty-cache

Pour vider le cache DNS de dnsmasq, dns-clean ou ncsd, vous devez redémarrer complètement le service correspondant :

sudo /etc/init.d/dnsmasq restart
sudo /etc/init.d/nscd restart
sudo /etc/init.d/dns-clean restart

Comment effectuer un flush DNS sur Mac

Comme Windows, macOS dispose d’un cache DNS intégré qui collecte automatiquement les informations DNS et doit donc être effacé régulièrement. Contrairement aux systèmes Microsoft, la commande de réinitialisation du cache varie d’une version à l’autre. Ce que vous devez entrer dans le terminal pour remettre le registre DNS à zéro dépend de l’édition avec laquelle vous travaillez :

macOS 10.12.0 (Sierra) :

sudo killall -HUP mDNSResponder

OS X 10.10.4 (Yosemite) et 10.11.0 (El Capitan) :

sudo dscacheutil -flushcache;
sudo killall -HUP mDNSResponder

OS X 10.10.1 à 10.10.3 (Yosemite) :

sudo discoveryutil mdnsflushcache
sudo discoveryutil udnsflushcaches

OS X 10.9.0 (Mavericks) :

sudo dscacheutil -flushcache;
sudo killall -HUP mDNSResponder

Attendez ! Nous avons quelque chose pour vous !
Votre messagerie professionnelle

Créez une adresse personnalisée
Affichez votre sérieux sur Internet
Nom de domaine inclus
À partir d' 1 € TTC/mois
Conseiller personnel inclus !