Qu'est-ce qu'un cache DNS et comment ça marche ?

Un cache DNS (parfois appelé DNS résolveur cache) est une base de données temporaire, maintenue par le système d'exploitation d'un ordinateur, qui contient des enregistrements de toutes les visites récentes et tentatives de visites sur des sites Web et d'autres domaines Internet.

En d'autres termes, un cache DNS n'est qu'une mémoire des recherches DNS récentes auxquelles votre ordinateur peut se référer rapidement lorsqu'il essaie de comprendre comment charger un site Web.

Personne utilisant un ordinateur avec une commande displaydns à l'écran
Maddy Price / Lifewire

Les informations contenues dans cet article s'appliquent aux utilisateurs à domicile qui n'ont pas modifié leurs paramètres DNS.

Le but d'un cache DNS

Internet s'appuie sur le système de noms de domaine pour maintenir un index de tous les sites Web publics et de leurs correspondants. adresses IP. Vous pouvez le considérer comme un annuaire téléphonique.

Avec un annuaire téléphonique, nous n'avons pas à mémoriser le numéro de téléphone de tout le monde, qui est la seule façon dont les téléphones peuvent communiquer: avec un numéro. De la même manière, DNS est utilisé afin d'éviter d'avoir à mémoriser l'adresse IP de chaque site Web, qui est le seul moyen par lequel les équipements réseau peuvent communiquer avec les sites Web.

C'est ce qui se passe derrière le rideau lorsque vous demandez à votre navigateur web pour charger un site web.

Vous tapez une URL comme lifewire.com et votre navigateur Web vous demande routeur pour l'adresse IP. Le routeur a une adresse de serveur DNS stockée, il demande donc au serveur DNS l'adresse IP de cette nom d'hôte. Le serveur DNS trouve l'adresse IP qui appartient à lifewire.com et est ensuite capable de comprendre quel site Web vous demandez, après quoi votre navigateur peut alors charger la page appropriée.

Cela se produit pour chaque site Web que vous souhaitez visiter. Chaque fois que vous visitez un site Web par son nom d'hôte, le navigateur Web lance une demande sur Internet, mais cette demande ne peut pas être effectuée tant que le nom du site n'est pas « converti » en une adresse IP.

Le problème est que même s'il y a des tonnes de serveurs DNS publics que votre réseau peut utiliser pour essayer d'accélérer le processus de conversion/résolution, il est toujours plus rapide d'avoir une copie locale du « répertoire téléphonique », où les caches DNS entrent en jeu.

Le cache DNS tente d'accélérer encore plus le processus en gérant la résolution de noms des adresses récemment visitées avant que la demande ne soit envoyée sur Internet.

Il existe en fait des caches DNS à chaque hiérarchie du processus de « recherche » qui permet finalement à votre ordinateur de charger le site Web. L'ordinateur atteint votre routeur, qui contacte votre FAI, qui pourrait toucher un autre FAI avant de se retrouver sur ce qu'on appelle les « serveurs DNS racine ». Chacun de ces points dans le processus a un cache DNS pour la même raison, qui est d'accélérer la résolution de noms traiter.

Comment fonctionne un cache DNS

Avant qu'un navigateur n'envoie ses requêtes au réseau extérieur, l'ordinateur les intercepte et recherche le nom de domaine dans la base de données du cache DNS. La base de données contient une liste de tous les noms de domaine récemment consultés et les adresses que DNS a calculées pour eux la première fois qu'une demande a été faite.

Le contenu d'un cache DNS local peut être visualisé sous Windows à l'aide de la commander ipconfig /displaydns, avec des résultats similaires à ceci:

docs.google.com

Nom de l'enregistrement... ..: docs.google.com
Type d'enregistrement... ..: 1
Temps de vivre... .: 21
Longueur des données... ..: 4
Section... .... : Réponse
Un enregistrement (hôte)... : 172.217.6.174

Dans DNS, l'enregistrement « A » est la partie de l'entrée DNS qui contient l'adresse IP du nom d'hôte donné. Le cache DNS stocke cette adresse, le nom du site Web demandé et plusieurs autres paramètres de l'entrée DNS de l'hôte.

Qu'est-ce que l'empoisonnement du cache DNS?

Un cache DNS devient empoisonné ou pollué lorsque des noms de domaine ou des adresses IP non autorisés y sont insérés.

Parfois, un cache peut être corrompu en raison de problèmes techniques ou d'accidents administratifs, mais l'empoisonnement du cache DNS est généralement associé à virus informatiques ou d'autres attaques réseau qui insèrent des entrées DNS non valides dans le cache.

L'empoisonnement entraîne la redirection des demandes des clients vers les mauvaises destinations, généralement des sites Web malveillants ou des pages pleines de publicités.

Par exemple, si le docs.google.com l'enregistrement d'en haut avait un enregistrement "A" différent, puis lorsque vous avez entré docs.google.com dans votre navigateur Web, vous seriez emmené ailleurs.

Cela pose un énorme problème pour les sites Web populaires. Si un attaquant redirige votre demande de Gmail.com, par exemple, à un site Web qui regards comme Gmail mais ne l'est pas, vous pourriez finir par être victime d'une attaque de phishing comme pêche à la baleine.

Flushing DNS: ce qu'il fait et comment le faire

Lors du dépannage de l'empoisonnement du cache ou d'autres problèmes de connectivité Internet, un administrateur informatique peut souhaiter affleurer (c'est-à-dire effacer, réinitialiser ou effacer) un cache DNS.

Étant donné que l'effacement du cache DNS supprime toutes les entrées, il supprime également tous les enregistrements non valides et force votre ordinateur à repeupler ces adresses la prochaine fois que vous essayez d'accéder à ces sites Web. Ces nouvelles adresses sont extraites du serveur DNS que votre réseau est configuré pour utiliser.

Ainsi, pour reprendre l'exemple ci-dessus, si le Gmail.com enregistrement a été empoisonné et vous redirige vers un site Web étrange, le vidage du DNS est une bonne première étape pour obtenir leGmail.com de retour.

Dans Microsoft Windows, vous pouvez vider le cache DNS local en utilisant le ipconfig /flushdns commande dans un Invite de commandes. Vous savez que cela fonctionne quand vous voyez le La configuration IP de Windows a vidé avec succès le cache du résolveur DNSou Vidage réussi du cache du résolveur DNSun message.

Comment vider et effacer le cache DNS de Windows

Via un terminal de commande, les utilisateurs de macOS doivent utiliser dscacheutil -flushcache mais sachez qu'il n'y a pas de message "réussi" après son exécution, donc on ne vous dit pas si cela a fonctionné. Dans certains cas, les utilisateurs Mac devront également tuer le répondeur DNS (sudo killall -HUP mDNSResponder.) Les utilisateurs Linux doivent saisir le /etc/rc.d/init.d/nscd redémarrer commander. La commande exacte variera cependant en fonction de votre distribution Linux.

Un routeur peut également avoir un cache DNS, c'est pourquoi redémarrage d'un routeur est souvent une étape de dépannage. Pour la même raison que vous pourriez vider le cache DNS sur votre ordinateur, vous pouvez redémarrer votre routeur pour effacer les entrées DNS stockées dans sa mémoire temporaire.