Wie lösche / leere ich den DNS-Cache in Google Chrome?

903

Wie Sie wahrscheinlich wissen, verfügt Google Chrome über einen eigenen internen DNS-Cache. Gibt es eine Möglichkeit, das Problem zu beheben, ohne auf das Timeout warten oder den Browser schließen zu müssen?

Mee
quelle
Der einzige Grund für mich, den DNS-Cache von Chrome zu leeren, besteht darin, dass ich sonst nicht auf Google zugreifen kann. Zum Glück ist Google nicht die einzige Suchmaschine da draußen (sonst hätte ich diese Frage nicht gefunden) und ich muss mich nur bei der Arbeit mit Chrome befassen.
Nolonar
Für mich liegt das wahrscheinlich an einem falschen DNS-Server in der resolv.conf. (Ich versuche über ein VPN auf einen internen Server zuzugreifen). Die Leute bei T-com haben ihr DNS falsch konfiguriert, um mit ihrer Werbeseite anstatt mit NXDOMAIN zu antworten, und die Leute, die Chrome geschrieben haben, haben sich nicht darum gekümmert, die resolv.conf-Reihenfolge zu respektieren, sondern verwenden stattdessen gerne den DNS-Server, der zu funktionieren scheint.
Ketil,

Antworten:

1316

Navigieren Sie zu chrome: // net-internals / # dns und klicken Sie auf die Schaltfläche "Clear host cache".

vergänglich
quelle
41
Seltsamerweise funktioniert dies nur in eine Richtung. Ich habe eine Zuordnung in der Hosts-Datei, die dem lokalen Computer einen Domain-Namen zuordnet (dh 127.0.0.1). Wenn ich die Zuordnung entferne und den DNS-Cache in Chrome leere, wird die Site korrekt aus dem Internet geladen, aber wenn ich Wenn Sie die Zuordnung erneut zur Hosts-Datei hinzufügen, wird die Site weiterhin aus dem Internet geladen. Es zeigt die zwischengespeicherte DNS-Liste in Chrome leer, nachdem der DNS-Cache geleert wurde (auch der Betriebssystem-Cache wurde mit ipconfig / flushdns geleert), lädt jedoch die Site aus dem Internet! Scheint wie ein Käfer.
Mee
10
Noch ärgerlicher ist, dass Chrome die IP-Adresse (127.0.0.1) für diese Domain in der DNS-Cache-Liste korrekt anzeigt (nachdem die Site geleert und erneut geladen wurde). Die Site wird dennoch aus dem Internet geladen.
Mee
4
Genial, gibt es eine Liste aller chrome: // * -Optionen, weiß jemand Bescheid?
Ian
29
@ Ian chrome: // about
ephemient
10
War nicht genug für mich. Musste "ipconfig / flushdns" in der Eingabeaufforderung (in der Antwort unten gefunden)
Adam Tal
175

Manchmal müssen Sie die Socket-Pools nach dem Leeren des DNS leeren:

chrome://net-internals/#sockets
Bojan Hrnkas
quelle
4
Beachten Sie, dass Chrome die hostsDatei jetzt überwacht und den DNS-Cache automatisch löscht, wenn Änderungen an der hostsDatei vorgenommen werden. - Sie können problemlos testen, ob dies auf Ihrem System funktioniert, indem Sie nach Ihrer hostsDatei eine Leerzeile chrome://net-internals/#dnseinfügen. Die Liste unter wird automatisch aktualisiert. - Der dnscache-Dienst von Windows überwacht (zumindest unter Windows 8.1) auch die Hosts-Datei auf Änderungen Nachdem Sie Ihre hostsDatei aktualisiert haben , klicken Sie einfach auf die Schaltfläche "Flush Socket Pools" . Sonst wird nichts benötigt.
Pacerier
Ja, ich scheine dasselbe Verhalten seit ungefähr einem Jahr bemerkt zu haben. Vielleicht klappt es aber nicht immer, denn ich bekomme immer noch die Gegenstimmen zu dieser Antwort.
Bojan Hrnkas
Gerade auch auf Server 2003 getestet. Immer wenn Änderungen an der hosts-Datei vorgenommen werden, lädt der dnscache-Dienst den Cache automatisch neu, ohne dass ipconfig /flushdnsUnsinn erforderlich ist . ipconfig /flushdnsscheint in dieser ganzen Ausgabe ein roter Hering zu sein.
Pacerier
Arbeitete für mich, auch nach dem Löschen von DNS in cmd und die akzeptierte Antwort zu tun
Rob Scott
1
Funktioniert nicht mehr.
Hippyjim
53

"Navigiere zu chrome: // net-internals / # dns" funktioniert zumindest auf meinem System nicht im Google Chrome-Browser. Diese Lösung funktioniert anscheinend für Google Chrome OS, nicht jedoch für den Google Chrome-Browser im Allgemeinen. Für mich leitet der Link hier weiter:
Die Chromium-Projekte

Es scheint, dass "Cache leeren" die bessere Lösung ist. Beachten Sie auch, dass mein Browser "Einstellungen" anstelle von "Optionen" anzeigt.

Über http://www.google.com/support/forum/p/Chrome/thread?tid=026b6a1d9151a6e3&hl=de

"Gehen Sie zu Tools -> Optionen -> Unter der Haube -> Browserdaten löschen und aktivieren Sie" Cache leeren "und klicken Sie auf" Browserdaten löschen ". Ja, ja, ich weiß, es ist nicht der DNS-Cache, den ich erwarten würde, dass er gelöscht wird. aber hey es scheint. Und jetzt funktioniert es für mich. "

PJ Brunet
quelle
4
Bestätigt, dass dies für mich funktioniert. Browserdaten löschen -> Cache leeren. Keine andere Methode hat funktioniert. Danke PJ.
Air
Dies funktionierte sowohl für Chrom als auch für Chrom, als /etc/resolver/foo.com ignoriert wurde.
Chovy
Offenbar ändert Google allmählich den Namen einiger interner URLs über verschiedene Versionen hinweg. Ab Version 27.0.1421.0 (184274) ...
DocSalvager
Zumindest das Löschen von zwischengespeicherten Bildern und Dateien hat bei mir (Chromium 33 unter Ubuntu) nach dem Einschalten von OpenVPN und dem Wechseln meines aktiven DNS-Servers nicht funktioniert. (Das Löschen des Host-Caches wie in der populären Antwort hat ebenfalls nicht funktioniert.) Bisher habe ich nichts gefunden, was funktioniert, außer den Browser neu zu starten oder die IP-Adresse in die URL einzugeben.
Jesse Glick
3
Das Löschen von zwischengespeicherten Bildern und Dateien hat bei mir funktioniert! Keine Ahnung warum, aber es tat. Windows 8.1, Chrome 41.0.2272.89 m
Bing
43

Wenn Sie in "Host-Cache löschen" klicken, chrome://net-internals/#dnssollte dies für Google Chrome durchgeführt werden. Auf Ihrem Computer müssen jedoch andere DNS-Caches berücksichtigt werden.

Windows:

ipconfig /flushdns

OS X vor 10.7 (vor Lion):

sudo dscacheutil -flushcache

OS X 10.7–10.9 (Löwe, Berglöwe, Außenseiter):

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

Ihr Router speichert möglicherweise auch den DNS zwischen (starten Sie ihn neu oder lesen Sie das Handbuch). Der ultimative Test besteht darin, dig zu verwenden. Dabei wird jedoch der DNS-Host Ihres Netzwerks verwendet, nicht standardmäßig der autorisierende Server:

dig superuser.com

Versuchen Sie Folgendes, um direkt von der Quelle aus eine Abfrage durchzuführen:

dig superuser.com @ns1.serverfault.com
Johntron
quelle
1
"sudo discoveryutil mdnsflushcache" funktionierte auf El Capitan (10.11) nicht für mich, aber "sudo killall -HUP mDNSResponder" gab an, dass discoveryutil nicht existiert, vielleicht ist es Sierra und höher?
Esra
20

In OS X 10.9.1 mit Chrome 32 musste ich sowohl den Host-Cache leeren als auch die Socket-Pools leeren, damit Chrome den DNS-Cache aktualisiert:

  1. Navigieren Sie zu chrome: // net-internals / # dns und klicken Sie auf "Clear Host Cache".
  2. Navigiere zu chrome: // net-internals / # sockets und klicke auf "Flush Socket Pools"
Sina
quelle
Ich brauchte es auch in Windows 8.1, es ist also nicht nur OS X.
benrick
Chrome für Linux braucht es auchchrome://net-internals/#sockets
pengemizt
Chrome für Linux benötigt nur einen Socket Flush. Kein DNS-Flush. superuser.com/a/611712/30982
Elijah Lynn
18

Das hat bei mir geklappt: Leeren und leeren Sie den Festplatten-Cache

Klicken Sie in Chrome auf das Schraubenschlüsselsymbol und dann auf Optionen . Gehen Sie zur Registerkarte " Unter der Haube" . Klicken Sie im Bereich Datenschutz auf die Schaltfläche Browserdaten löschen. Wählen Sie einfach die „Cache leeren“ das Kontrollkästchen, und klicken Sie dann auf die Daten löschen Taste.

Das hat sofort funktioniert - ich musste nicht einmal den Browser schließen.

Josh
quelle
1
Dies scheint zu funktionieren, um Chrome zu zwingen, Änderungen an der Hosts-Datei zu erkennen.
minamhere
Dies funktionierte für mich auf Mac Chrome, nachdem ich den chrome://net-internals/#dnshier erwähnten Flush-Trick ohne Erfolg ausprobiert hatte .
Markus Amalthea Magnuson
12

Soweit ich weiß, gibt es in neueren Versionen von Chrome (ich bin auf 26.0.1410.43) keine (zuverlässige) Möglichkeit, dies zu tun, zumindest nicht auf einem Mac. Keiner der Vorschläge auf dieser Seite hat für mich funktioniert.

Meine Situation ist, dass ich einen Host- Dateieintrag hinzugefügt habe , Chrome jedoch weiterhin die von DNS zurückgegebene IP-Adresse verwendet. Firefox funktioniert korrekt.

In der Tat chrome://net-internals/#dnslügt die Seite einfach über die IP-Adresse für mich. Es zeigt die IP des Host-Eintrags an, aber das ist eindeutig nicht der Ort, von dem die Site tatsächlich abgerufen wird.

Stu
quelle
2
Selbes Problem hier. Ich habe versucht, den Cache zu leeren, den internen DNS-Cache zu löschen, ipconfig flush dns, und es wird immer noch eine lokale Website von der Live-Domain geladen. Wenn ich es in "Incognito" öffne, funktioniert es oder in Firefox, aber normales Chrome weigert sich , sein DNS zurückzusetzen
andrewtweber
9

Ich weiß, dass dies eine alte Frage ist, aber ich habe mich genauso über die Beschwerden geärgert wie andere: Selbst nach dem Leeren des Caches kann es noch ein oder zwei Minuten dauern, bis die neuen DNS-Änderungen wirksam werden.

Es gibt ein paar Möglichkeiten, dies zu umgehen. Nachdem Sie den DNS-Cache über chrome: // net-internals / # dns geleert haben (oder eine Erweiterung verwendet haben, die das gleiche Ergebnis erzielt):

  1. Öffnen Sie ein Inkognito-Fenster und die neuen DNS-Zuordnungen für die Domain werden sofort wirksam.

  2. Leeren Sie den Browser-Cache. Dies ist umständlich, wenn Sie Ihren Browser zum regelmäßigen Browsen verwenden. Sie können eine separate Instanz des Browsers als ein anderer Benutzer ausführen, und das Löschen des Caches in diesem Konto beeinträchtigt nicht Ihren regulären Browser-Cache. Ich habe das nicht ausprobiert, aber es sollte funktionieren.

  3. Drücken Sie STRG + F5. Ich musste STRG + F5 etwa eine Sekunde lang gedrückt halten, wodurch die Seite ein paarmal neu geladen wurde. Das ist seltsam, aber es funktioniert und ist auch genauso effektiv. Dies ist mein bevorzugter Ansatz.

Idealerweise sollte es ein Plugin geben, das DNS und Cache bereinigen kann (insbesondere nur den Dokument-Cache und nicht den Cookie-Cache), aber ich habe noch nichts dergleichen gefunden.

UPDATE: Unter OSX eignet sich die Gas Mask-Anwendung hervorragend zum Wechseln zwischen Host-Dateien, und zusammen mit der zweiten Problemumgehung ist sie recht effektiv.

Aleemb
quelle
1
Aktualisieren hilft kein bisschen. Die aktiven TCP-Sockets sind weiterhin aktiv. Sie können entweder warten (1-2 Minuten) oder manuell spülen .
Pacerier
6

Chrome_Hosts_Flush_Util :

Es soll das Problem beheben, dass Chrome nach dem Ändern der Hosts-Datei nicht die richtigen Hosts verwenden kann, da Chrome Socket-Pools verwendet.

Chrome verwaltet lange Verbindungen im Verbindungspool, um die Geschwindigkeit zu erhöhen. Wenn Chrome feststellt, dass eine Anfrage eine Verbindung im Verbindungspool wiederverwenden kann, wird sie nicht erneut über den DNS geleitet. Daher nehmen wir immer wahr, dass Chrome nicht sofort auf eine Hoständerung reagiert.

Chrome hat eine Oberfläche zum Leeren des Verbindungspools in der Registerkarte chrome: // net-internals / # sockets bereitgestellt, aber ich finde es ärgerlich, dass ich zuerst in die Registerkarte gehen und so auf eine kleine Schaltfläche mit einem Trackpad klicken muss.

Ich habe festgestellt, dass Chrome beim Klicken auf die Schaltfläche "Socket-Pool leeren" zwei wichtige JavaScript-Methoden ausführt.

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

Daher fasse ich diese beiden Methoden in einem AppleScript-Skript zusammen, das in eine OS X-Anwendung oder einen Alfred-Workflow konvertiert werden kann. Beide Methoden können problemlos aufgerufen werden.

Boreas320
quelle
Hallo Boreas320, können Sie in Ihrer Antwort eine Zusammenfassung dessen bereitstellen, was Ihr Link für den Fall enthält, dass er nicht mehr aktuell ist? Antworten, bei denen es sich nur um einen Link handelt, werden nicht empfohlen, da sie veraltet sein können.
Bertieb
Nach oben! Wunderbare Idee! Vielen Dank! Allerdings hat es bei mir nicht funktioniert, bis ich das Javascript durch document.getElementById ('sockets-view-flush-button') ersetzt habe. Click ();
i_a
5

Ich habe versucht, den DNS-Cache auf so viele Arten zu leeren, aber bei mir hat nichts funktioniert. Endlich wollte ich meinen DNS-Eintrag ändern . Dieser Trick funktioniert für alle Personen, die über eine Hochgeschwindigkeits-LAN-Verbindung auf das Internet zugreifen.

Bei einer LAN-Verbindung werden einem Benutzer im Allgemeinen zwei DNS-Adressen bereitgestellt. Eine ist die primäre und eine andere die sekundäre oder alternative DNS-Adresse. Was ich getan habe, war, dass ich gerade die sekundäre Adresse in die primäre Adresse geändert habe und umgekehrt. Es hat sofort bei mir funktioniert.

Ich habe die alternative DNS-Adresse zwei Tage lang als primäre Adresse gespeichert. Das Problem löste sich von selbst und später stellte ich den alten DNS-Eintrag wieder her.

So M
quelle
5

Vollständiger Prozess:

In IIS erstellte Site (Windows 8), Hostheader festlegen.

Es wurde versucht, den Host ohne Hostdatei zu erreichen, wobei sichergestellt wurde, dass http: // verwendet wird, sodass nicht nur eine Google-Suche durchgeführt wird. In Chrome fehlgeschlagen "Version 32.0.1700.76 m"

Host zu Host-Datei hinzufügen als 127.0.0.1, jetzt kann es in Chrom treffen.

Entfernen Sie aus der Host-Datei und führen Sie ipconfig / flushdns aus, Chrome zeigt die Site weiterhin an!

Führen Sie nichts anderes als STRG + F5 aus, und jetzt schlägt die Website-Korrektur in Chrome fehl.

Ich frage mich, ob wir bei der Anzahl der Antworten alle leicht unterschiedliche Anwendungsfälle haben.

rauben
quelle
4

Für mich hat privates Surfen den Trick gemacht (Neues Inkognito-Fenster / Privates Fenster).

Bart Broekhuizen
quelle
Hallo Bart, willkommen beim Superuser! Leider handelt es sich bei dieser Frage um die Computerversion von Chrome, nicht um die Mobilversion. Ich würde vorschlagen , Ihre Antwort so zu bearbeiten , dass sie der Desktop-Version entspricht. Danke
Kanadier Luke
2

Probieren Sie DNS Flusher für Chrome aus. Beachten Sie, dass für die Verwendung ein Befehlszeilenflag erforderlich ist, --enable-benchmarkingwenn Sie den Chrome-Browser starten.

Sway Deng
quelle
Erweiterung existiert nicht mehr
jmgarnier
2

Navigieren Sie zu chrome: // net-internals / # dns und klicken Sie auf die Schaltfläche "Clear host cache". Wie bereits beantwortet Möglicherweise benötigen Sie auch den Befehl dscacheutil -flushcache in OS X, um den systemweiten DNS-Cache zu leeren. ipconfig / flushdns in der Windows-Eingabeaufforderung

Dipesh KC
quelle
2

Unter Mac OS X hat keiner der oben genannten Ansätze für mich funktioniert. Der folgende Ansatz hat getan:

Klicken Sie auf das Chrome-Menü> Einstellungen> klicken Sie auf den Link show advanced settingsunten auf der Seite> klicken Sie auf die clear browsing dataSchaltfläche im privacyAbschnitt> wählen Sie nur cached images and filesund download history(möglicherweise ist die spätere nicht erforderlich, tut aber auch nicht weh)> klicken Sie auf die clear browsing dataSchaltfläche.

Javad Sadeqzadeh
quelle
1

Für iPhone-Nutzer funktionieren diese Techniken genauso effektiv. Ich musste eine Website testen und wollte den normalen DNS-Server überschreiben und meinen eigenen DNS-Server mit DNS-Einträgen verwenden, die noch nicht öffentlich sind.

Ich überschreibe den DNS-Eintrag in meiner WLAN-Einstellung auf meinem iPhone 6 Plus mit meinem benutzerdefinierten DNS-Server. Das war gut genug für Safari und Perfect Browser. Chrome schien dies jedoch zu ignorieren und verfügte über eigene DNS-Einträge. Ich konnte NICHT herausfinden, woher sie kamen.

Ich habe getan, was sie oben beschrieben haben

  1. Navigieren Sie zu chrome: // net-internals / # dns und klicken Sie auf "Clear Host Cache".
  2. Navigiere zu chrome: // net-internals / # sockets und klicke auf "Flush Socket Pools"

UND ich musste auch einen InCognito-Tab wie oben erwähnt verwenden.

Nur dann hat Chrome meinen benutzerdefinierten DNS-Eintrag verwendet.

David Allen
quelle