Comment vider / vider le cache DNS dans Google Chrome?

902

Comme vous le savez probablement, Google Chrome possède son propre cache DNS interne. Existe-t-il un moyen de l'effacer sans attendre le délai ou fermer le navigateur?

Mee
la source
La seule raison pour laquelle je vide le cache DNS de Chrome est que, si je ne le fais pas, je ne peux pas accéder à Google. Heureusement, Google n'est pas le seul moteur de recherche disponible (sinon je n'aurais pas trouvé cette question) et je n'ai qu'à faire face à Chrome au travail.
Nolonar
Pour moi, cela est probablement dû à un serveur DNS incorrect dans resolv.conf. (J'essaie d'accéder à un serveur interne sur un VPN). Les personnes de T-com ont mal configuré leur DNS pour répondre avec leur site de publicité au lieu de NXDOMAIN, et les auteurs de Chrome ne se souciaient pas de respecter l'ordre de resolv.conf, mais utilisaient volontiers le serveur DNS qui semble fonctionner.
Ketil

Réponses:

1315

Accédez à chrome: // net-internals / # dns et appuyez sur le bouton "Effacer le cache de l'hôte".

éphémère
la source
41
Étrangement, cela ne fonctionne que dans un sens. J'ai un mappage dans le fichier hosts qui mappe un nom de domaine sur la machine locale (c'est-à-dire 127.0.0.1). Lorsque je supprime le mappage et vide le cache DNS dans Chrome, le site est correctement chargé à partir d'Internet. Ajoutez de nouveau le mappage au fichier hosts, il charge toujours le site à partir d'Internet. Il affiche la liste DNS en cache vide dans Chrome après avoir effacé le cache DNS (également effacé le cache du système d'exploitation à l'aide de ipconfig / flushdns). Néanmoins, il charge le site à partir d'Internet! On dirait un bug.
Mee
10
Encore plus gênant, Chrome affiche correctement l'adresse IP (127.0.0.1) de ce domaine dans la liste de cache DNS (après avoir vidé et réessayé de recharger le site), tout en chargeant le site à partir d'Internet.
Mee
4
génial, existe-t-il une liste de toutes les options chrome: // *, est-ce que quelqu'un le sait?
Ian
29
@Ian chrome: // à propos
éphémient le
10
Ce n'était pas assez pour moi. J'ai dû "ipconfig / flushdns" dans l'invite de commande (trouvée dans la réponse ci-dessous)
Adam Tal
175

Parfois, vous devez vider les pools de sockets après le vidage du DNS:

chrome://net-internals/#sockets
Bojan Hrnkas
la source
4
Notez que Chrome surveille maintenant le hostsfichier et autoclear le dnscache dès que des modifications sont apportées au hostsfichier. - Vous pouvez facilement vérifier si cela fonctionne sur votre système en ajoutant une ligne vierge après votre hostsfichier. La liste chrome://net-internals/#dnssera automatiquement mise à jour. Après avoir mis à jour votre hostsfichier, il vous suffit de cliquer sur le bouton "Flush socket pools" . Rien d'autre n'est nécessaire.
Pacerier
Oui, il semble que je remarque le même comportement depuis environ un an. Cependant, peut-être que ça ne marche pas tout le temps, car je reçois toujours les votes positifs de cette réponse.
Bojan Hrnkas
Juste testé sur Server 2003 aussi. Chaque fois que des modifications sont apportées au fichier hosts, le service dnscache recharge automatiquement le cache sans avoir besoin de rien ipconfig /flushdns. ipconfig /flushdnssemble être un fil rouge dans toute cette question.
Pacerier
Cela a fonctionné pour moi, même après avoir vidé le DNS de cmd et obtenu la réponse acceptée
Rob Scott
1
Ne fonctionne plus.
Hippyjim
53

"Accéder à chrome: // net-internals / # dns" ne fonctionne pas dans le navigateur Google Chrome, du moins sur mon système. On dirait que cette solution fonctionne peut-être pour le système d'exploitation Google Chrome, mais pas pour le navigateur Google Chrome en général. Pour moi, le lien redirige ici:
Les projets Chromium

Il semble que "Vider le cache" soit la meilleure solution. Notez également que mon navigateur dit "Préférences" plutôt que "Options"

Via http://www.google.com/support/forum/p/Chrome/thread?tid=026b6a1d9151a6e3&hl=fr

"Allez dans Outils -> Options -> Sous le capot -> Effacer les données de navigation, cochez" Vider le cache "et cliquez sur" Effacer les données de navigation ". Oui oui, je sais, ce n'est pas le cache DNS que j'attendrais, mais bon, il me semble. Et maintenant, ça marche pour moi. "

PJ Brunet
la source
4
Confirmé que cela fonctionnait pour moi, Effacer les données de navigation -> Vider le cache. Aucune autre méthode n'a fonctionné. Merci PJ.
Air
Cela fonctionnait pour moi à la fois en chrome et en chrome lorsque /etc/resolver/foo.com était ignoré.
Chovy
On dirait que Google modifie progressivement le nom de certaines URL internes sur différentes versions. À partir de la version 27.0.1421.0 (184274) ...
DocSalvager
Au moins, effacer les images et les fichiers mis en cache ne fonctionnait pas pour moi (Chromium 33 sur Ubuntu) après avoir activé OpenVPN et donc basculé sur mon serveur DNS actif. ( Effacer le cache de l'hôte, comme dans la réponse populaire, ne fonctionnait pas non plus.) Jusqu'à présent, je n'ai rien trouvé qui fonctionne à l'exception du redémarrage du navigateur ou de la saisie de l'adresse IP dans l'URL.
Jesse Glick
3
Effacer les images et les fichiers cachés a fonctionné pour moi! Aucune idée pourquoi, mais c'est ce qui s'est passé. Windows 8.1, Chrome 41.0.2272.89 m
Bing
43

Cliquer sur "vider le cache de l'hôte" chrome://net-internals/#dnsdevrait le faire pour Google Chrome, mais il existe d'autres caches DNS à prendre en compte sur votre ordinateur.

Les fenêtres:

ipconfig /flushdns

OS X pré-10.7 (avant Lion):

sudo dscacheutil -flushcache

OS X 10.7–10.9 (Lion, Lion de montagne, Mavericks):

sudo killall -HUP mDNSResponder

OS X 10.10+ (Yosemite):

sudo discoveryutil mdnsflushcache

OS X 10.11, 10.12+ (El Capitan, Sierra):

sudo killall -HUP mDNSResponder

Votre routeur cache peut-être aussi le DNS (redémarrez-le ou lisez le manuel). Le test ultime consiste à utiliser dig , mais utilise l'hôte DNS de votre réseau, et non le serveur faisant autorité par défaut:

dig superuser.com

Pour interroger directement depuis la source, essayez quelque chose comme:

dig superuser.com @ns1.serverfault.com
Johntron
la source
1
"sudo discoveryutil mdnsflushcache" n'a pas fonctionné pour El Capitan (10.11) pour moi, mais "sudo killall -HUP mDNSResponder" l'a fait, il a dit que discoveryutil n'existait pas, peut-être que c'est Sierra et plus?
Ezra
20

Sous OS X 10.9.1 avec Chrome 32, je devais effacer le cache de l'hôte et vider les pools de sockets pour que Chrome actualise le cache DNS:

  1. Accédez à chrome: // net-internals / # dns et cliquez sur "Effacer le cache de l'hôte".
  2. Accédez à chrome: // net-internals / # sockets et cliquez sur "Flush Socket Pools".
Sina
la source
J'en avais besoin aussi dans Windows 8.1, donc ce n'est pas seulement OS X.
benrick
Chrome pour Linux en a aussi besoinchrome://net-internals/#sockets
pengemizt
Chrome pour Linux a juste besoin d'un flush de socket. Pas de vidage DNS. superuser.com/a/611712/30982
Elijah Lynn
18

Cela a fonctionné pour moi: vider et vider le cache disque

Dans Chrome, cliquez sur l'icône de la clé, puis sur Options . Allez à l' onglet Sous le capot . Cliquez sur le bouton Effacer les données de navigation dans la section Confidentialité . Cochez simplement la case "Vider le cache", puis cliquez sur le bouton Effacer les données de navigation .

Cela a fonctionné immédiatement - je n'ai même pas eu à fermer le navigateur.

Josh
la source
1
Cela semble fonctionner pour forcer Chrome à reconnaître les modifications apportées au fichier hosts.
minamhere
Cela a fonctionné pour moi sur Mac Chrome, après avoir essayé le chrome://net-internals/#dnstour de flush mentionné ici, sans succès.
Markus Amalthea Magnuson
12

Autant que je sache, dans les versions récentes de Chrome (version 26.0.1410.43), il n’existe aucun moyen (fiable) de le faire, du moins sur un Mac. Aucune des suggestions sur cette page n'a fonctionné pour moi.

Dans ma situation, j'ai ajouté une entrée au fichier hosts , mais Chrome continue d'accéder à l'adresse IP renvoyée par DNS. Firefox fonctionne correctement.

En fait, la chrome://net-internals/#dnspage ment simplement à propos de l'adresse IP pour moi. Il montre l’adresse IP de l’entrée des hôtes, mais ce n’est clairement pas là où se trouve le site.

Stu
la source
2
Même problème ici. J'ai essayé d'effacer le cache, d'effacer le cache DNS interne, ipconfig flush dns, et il continue de charger un site Web local à partir du domaine actif. Si je l'ouvre dans "Incognito", cela fonctionne ou dans Firefox, mais Chrome normal refuse de réinitialiser son DNS
andrewtweber
9

Je sais que c’est une vieille question, mais les plaintes que j’ai suscitées m’ennuyaient beaucoup: même après avoir vidé le cache, le changement de DNS peut prendre une minute ou deux.

Il y a plusieurs façons de le contourner. Après avoir effacé le cache DNS via chrome: // net-internals / # dns (ou en utilisant une extension produisant le même résultat):

  1. Ouvrez une fenêtre de navigation privée et les nouveaux mappages DNS du domaine entreront en vigueur immédiatement.

  2. Effacer le cache du navigateur. C'est fastidieux si vous utilisez votre navigateur pour une navigation régulière. Vous pouvez exécuter une instance distincte du navigateur en tant qu'un autre utilisateur et effacer le cache de ce compte n'interférera pas avec votre cache de navigation habituel. Je n'ai pas essayé cela mais ça devrait marcher.

  3. Appuyez sur CTRL + F5. Je devais maintenir la touche CTRL + F5 enfoncée pendant environ une seconde, ce qui rechargeait plusieurs fois la page. C'est un comportement étrange mais cela fonctionne et est tout aussi efficace. Ceci est mon approche préférée.

Idéalement, il devrait exister un plug-in capable de purger le DNS et le cache (en particulier le cache de documents et non le cache de cookies), mais je n'ai encore rien trouvé de tel.

MISE À JOUR: Sous OSX, l'application Gas Mask est excellente pour passer d'un fichier hôte à un autre. Parallèlement à la deuxième solution, elle est tout à fait efficace.

aleemb
la source
1
Rafraîchir ne va pas aider un bit. Les sockets TCP actifs seront toujours actifs. Vous devez attendre (1-2 minutes) ou les rincer manuellement .
Pacerier
6

Chrome_Hosts_Flush_Util :

C'est pour résoudre le problème que Chrome ne peut pas utiliser les hôtes appropriés après la modification du fichier hosts en raison de l'utilisation de Chrome par les pools de sockets.

Chrome maintient des connexions longues dans le pool de connexions pour accélérer. Lorsque Chrome découvre qu'une requête peut réutiliser une connexion dans le pool de connexions, elle ne passe plus par le DNS. Nous sommes donc toujours conscients que Chrome ne répond pas à un changement d'hôte immédiatement.

Chrome a fourni une interface permettant de vider le pool de connexions dans l'onglet chrome: // net-internals / # sockets, mais il est gênant de devoir d'abord accéder à l'onglet, puis de cliquer avec un petit bouton avec un trackpad.

J'ai constaté que lorsque vous cliquez sur le bouton du pool de douilles de vidage, Chrome exécute deux méthodes JavaScript essentielles.

g_browser.sendFlushSocketPools();
g_browser.checkForUpdatedInfo(false);

J'encapsule donc ces deux méthodes dans un script AppleScript qui peut être converti en une application OS X ou en flux de travail Alfred et que les deux peuvent être invoqués facilement.

Boreas320
la source
Bonjour Boreas320, pouvez-vous fournir un résumé de ce que votre lien fournit dans votre réponse au cas où il deviendrait obsolète? Les réponses qui sont uniquement / principalement un lien sont découragées car elles peuvent devenir obsolètes.
Bertieb
Up! Merveilleuse idée! Merci! Cependant, cela ne fonctionnait pas pour moi tant que je n'avais pas remplacé javascript par document.getElementById ('sockets-view-flush-button'). Click ();
i_a
5

J'ai essayé de vider le cache DNS de nombreuses façons, mais rien ne fonctionnait pour moi. Enfin, j'ai prévu de changer mon entrée DNS . Cette astuce fonctionnera pour toutes les personnes qui accèdent à Internet via une connexion LAN haut débit.

Sur une connexion LAN, un utilisateur se voit généralement attribuer deux adresses DNS. L'un est primaire et l'autre est l'adresse DNS secondaire ou alternative. Ce que j'ai fait est que je viens de changer l'adresse secondaire à l'adresse principale et vice-versa. Cela a fonctionné pour moi instantanément.

J'ai conservé l'adresse DNS alternative en tant qu'adresse principale pendant deux jours. Le problème s'est résolu et plus tard, j'ai rétabli l'ancienne entrée DNS.

Som
la source
5

Processus complet:

Site créé dans IIS (Windows 8), définissez l'en-tête de l'hôte.

Essayé de frapper l'hôte sans fichier hôte, en veillant à utiliser http: // afin d'éviter une recherche google. Échec correct en chrome "Version 32.0.1700.76 m"

Ajouter l'hôte au fichier hôte en tant que 127.0.0.1, peut maintenant le frapper en chrome.

Supprimez du fichier hôte et exécutez ipconfig / flushdns, chrome affiche toujours le site!

Ne faites rien d'autre que CTRL + F5 et maintenant le site correct échoue dans Chrome.

Avec le nombre de réponses différentes ici, je me demande si nous avons tous des cas d'utilisation légèrement différents.

Rob
la source
4

Pour moi, la navigation privée a fait l'affaire (Nouvelle fenêtre incognito / fenêtre privée).

Bart Broekhuizen
la source
Bonjour Bart, bienvenue chez Superuser! Malheureusement, cette question concerne la version de Chrome sur ordinateur, pas la version mobile. Je suggérerais de modifier votre réponse pour refléter la version de bureau. Merci
Canadien Luke
2

Essayez DNS Flusher for Chrome. Notez que pour l'utiliser, un indicateur de ligne de commande est nécessaire --enable-benchmarkinglorsque vous démarrez le navigateur Chrome.

Sway Deng
la source
L'extension n'existe plus
jmgarnier
2

Accédez à chrome: // net-internals / # dns et appuyez sur le bouton "Effacer le cache de l'hôte". comme déjà répondu Aussi, vous aurez peut-être besoin de la commande dscacheutil -flushcache sous OS X pour vider le cache DNS à l'échelle du système. ipconfig / flushdns dans l'invite de commande Windows

Dipesh KC
la source
2

Sur Mac OS X, aucune des approches mentionnées ci-dessus n'a fonctionné pour moi. L'approche suivante a fait:

Cliquez sur le menu Chrome> Préférences> Cliquez sur le lien show advanced settingsen bas de la page> Cliquez sur le clear browsing databouton dans la privacysection> Sélectionnez uniquement cached images and fileset download history(le dernier n'est peut-être pas nécessaire, mais ne fait pas mal non plus)> cliquez sur le clear browsing databouton.

Javad Sadeqzadeh
la source
1

Pour les utilisateurs d'iPhone, ces techniques fonctionnent de manière tout aussi efficace. Je devais faire des tests sur un site Web et je voulais remplacer le serveur DNS normal et utiliser mon propre serveur DNS avec des entrées DNS qui ne sont pas encore publiques.

Je remplace l'entrée DNS de mon paramètre wifi sur mon iPhone 6 Plus par mon serveur DNS personnalisé. C’était suffisant pour Safari et Perfect Browser. Mais Chrome semblait ignorer cela et disposait de son propre ensemble d'entrées DNS. Je ne pouvais pas comprendre d'où ils venaient.

J'ai fait ce qu'ils ont décrit ci-dessus

  1. Accédez à chrome: // net-internals / # dns et cliquez sur "Effacer le cache de l'hôte".
  2. Accédez à chrome: // net-internals / # sockets et cliquez sur "Flush Socket Pools".

ET je devais également utiliser un onglet InCognito comme mentionné ci-dessus.

ALORS seulement Chrome a utilisé mon entrée DNS personnalisée.

David Allen
la source