Come svuotare / svuotare la cache DNS in Google Chrome?


902

Come probabilmente saprai, Google Chrome ha una propria cache DNS interna. C'è un modo per cancellarlo senza dover attendere il timeout o chiudere il browser?


L'unica ragione per cui devo svuotare la cache DNS di Chrome è perché se non lo faccio, non posso accedere a Google. Fortunatamente, Google non è l'unico motore di ricerca là fuori (altrimenti non avrei trovato questa domanda) e devo solo occuparmi di Chrome al lavoro.
Nolonar,

Per me, ciò è probabilmente causato dall'avere un server DNS errato in resolv.conf. (Sto provando ad accedere a un server interno su una VPN). Le persone di T-com hanno configurato erroneamente il loro DNS per rispondere con il loro sito pubblicitario invece di NXDOMAIN, e le persone che hanno scritto Chrome non si sono preoccupate di rispettare l'ordine resolv.conf, ma invece usano felicemente qualunque server DNS sembri funzionare.
Ketil,

Risposte:


1315

Passare a chrome: // net-internals / # dns e premere il pulsante "Svuota cache host".


41
Stranamente, funziona solo in una direzione. Ho una mappatura nel file hosts che associa un nome di dominio al computer locale (ovvero a 127.0.0.1), quando rimuovo la mappatura e svuoto la cache DNS in Chrome, carica correttamente il sito da Internet, ma quando aggiungere nuovamente la mappatura al file hosts, carica ancora il sito da Internet. Mostra l'elenco DNS memorizzato nella cache vuoto in Chrome dopo aver cancellato la cache DNS (anche cancellata la cache del sistema operativo usando ipconfig / flushdns), tuttavia, carica il sito da Internet! Sembra un bug.
Mee,

10
Ancora più fastidioso, Chrome mostra correttamente l'indirizzo IP (127.0.0.1) per quel dominio nell'elenco di cache DNS (dopo aver scaricato e provato a caricare di nuovo il sito), carica comunque il sito da Internet.
Mee,

4
fantastico, c'è un elenco di tutte le opzioni chrome: // * comunque qualcuno lo sa?
Ian,

29
@Ian chrome: // about
effimero

10
Non era abbastanza per me. Ho dovuto "ipconfig / flushdns" nel prompt dei comandi (trovato nella risposta di seguito)
Adam Tal

175

A volte è necessario svuotare i pool di socket dopo aver scaricato il DNS:

chrome://net-internals/#sockets

4
Nota che Chrome ora controlla il hostsfile e elimina automaticamente dnscache ogni volta che vengono apportate modifiche al hostsfile. —Puoi facilmente verificare se funziona sul tuo sistema aggiungendo una riga vuota dopo il tuo hostsfile e l'elenco su chrome://net-internals/#dnsverrà aggiornato automaticamente. Il servizio dnscache di Windows monitorerà (almeno su Win 8.1) il file host per le modifiche, quindi dopo aver aggiornato il hostsfile, semplicemente facendo clic sul pulsante "Flush socket pool" funzionerà . Nient'altro è necessario.
Pacerier,

Sì, mi sembra di aver notato lo stesso comportamento da circa 1 anno. Tuttavia, forse non funziona sempre, perché ottengo ancora i voti su questa risposta.
Bojan Hrnkas,

Appena testato anche su Server 2003. Ogni volta che vengono apportate modifiche al file hosts, il servizio dnscache ricarica automaticamente la cache senza bisogno di ipconfig /flushdnssciocchezze. ipconfig /flushdnssembra essere un'aringa rossa in tutto questo numero.
Pacerier,

Ha funzionato per me, anche dopo aver scaricato dns in cmd e aver fatto la risposta accettata
Rob Scott

1
Non lavora più.
Hippyjim,

53

"Passa a Chrome: // net-internals / # dns" non funziona nel browser Google Chrome, almeno sul mio sistema. Sembra che questa soluzione funzioni forse per il sistema operativo Google Chrome, ma non per il browser Google Chrome più in generale. Per me il link reindirizza qui:
The Chromium Projects

Sembra "Svuota la cache" è la soluzione migliore. Nota anche che il mio browser dice "Preferenze" anziché "Opzioni"

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

"Vai a strumenti -> opzioni -> Roba da smanettoni -> Cancella i dati di navigazione e seleziona" svuota la cache "e fai clic su cancella i dati di navigazione. Sì sì, lo so, non è la cache DNS che mi aspetterei che svuoti, ma ehi sembra. E ora funziona per me. "


4
Confermato che ha funzionato per me, Cancella dati di navigazione -> Svuota la cache. Nessun altro metodo ha funzionato. Grazie PJ.
Air

Questo ha funzionato per me sia sul cromo che sul cromo quando /etc/resolver/foo.com veniva ignorato.
Chovy,

Sembra che Google stia gradualmente modificando il nome di alcuni URL interni su versioni diverse. A partire dalla versione 27.0.1421.0 (184274) ...
DocSalvager,

Almeno la cancellazione di immagini e file memorizzati nella cache non ha funzionato per me (Chromium 33 su Ubuntu) dopo aver acceso OpenVPN e quindi aver cambiato il mio server DNS attivo. (Anche cancellare la cache dell'host come nella risposta popolare non ha funzionato.) Finora non ho trovato nulla che funzioni tranne riavviare il browser o inserire l'indirizzo IP nell'URL.
Jesse Glick,

3
Cancellare immagini e file memorizzati nella cache ha funzionato per me! Nessun indizio sul perché, ma è stato così. Windows 8.1, Chrome 41.0.2272.89 m
Bing

43

Facendo clic su "cancella cache host" in chrome://net-internals/#dnsdovrebbe farlo per Google Chrome, ma ci sono altre cache DNS da considerare sul tuo computer.

Finestre:

ipconfig /flushdns

OS X pre-10.7 (prima di Lion):

sudo dscacheutil -flushcache

OS X 10.7–10.9 (Lion, Mountain Lion, 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

Il router potrebbe anche memorizzare nella cache il DNS (riavviarlo o leggere il manuale). Il test finale è usare dig , ma questo utilizza l'host DNS della tua rete, non il server autorevole per impostazione predefinita:

dig superuser.com

Per eseguire una query direttamente dall'origine, provare qualcosa del tipo:

dig superuser.com @ns1.serverfault.com

1
"sudo discoveryutil mdnsflushcache" non ha funzionato su El Capitan (10.11) per me, ma "sudo killall -HUP mDNSResponder" ha fatto, ha detto che discoveryutil non esisteva, forse è Sierra e su?
Esdra

20

In OS X 10.9.1 con Chrome 32 avevo bisogno sia di cancellare la cache dell'host sia di svuotare i pool di socket per far sì che Chrome aggiornasse la cache DNS:

  1. Passare a chrome: // net-internals / # dns e fare clic su "Cancella cache host"
  2. Passare a chrome: // net-internals / # socket e fare clic su "Flush Socket Pools"

Ne avevo bisogno anche in Windows 8.1, quindi non è solo OS X.
benrick,

Anche Chrome per Linux ne ha bisognochrome://net-internals/#sockets
pengemizt,

Chrome per Linux ha solo bisogno di un flush flush. Nessun flush DNS. superuser.com/a/611712/30982
Elijah Lynn

18

Questo ha funzionato per me: svuotare e cancellare la cache del disco

In Chrome, fai clic sull'icona della chiave inglese, quindi su Opzioni . Vai alla scheda Roba da smanettoni . Fai clic sul pulsante Cancella dati di navigazione nella sezione Privacy . Seleziona solo la casella di controllo "Svuota la cache", quindi fai clic sul pulsante Cancella dati di navigazione .

Funzionò immediatamente: non dovevo nemmeno chiudere il browser.


1
Questo sembra funzionare per forzare Chrome a riconoscere le modifiche al file hosts.
minamhere il

Questo ha funzionato per me su Mac Chrome, dopo aver provato il chrome://net-internals/#dnstrucco flush menzionato qui, senza successo.
Markus Amalthea Magnuson

12

Per quanto posso trovare, nelle ultime versioni di Chrome (sono il 26.0.1410.43), non esiste un modo (affidabile) per farlo, almeno non su un Mac. Nessuno dei suggerimenti in questa pagina ha funzionato per me.

La mia situazione è che ho aggiunto una voce al file hosts , ma Chrome sta ancora andando all'indirizzo IP restituito dal DNS. Firefox funziona correttamente.

In effetti, la chrome://net-internals/#dnspagina sta semplicemente mentendo sull'indirizzo IP per me. Mostra l'IP dalla voce host, ma chiaramente non è da dove sta effettivamente ottenendo il sito.


2
Lo stesso problema qui. Ho provato a svuotare la cache, a svuotare la cache DNS interna, ipconfig flush dns e sta ancora caricando un sito Web locale dal dominio live. Se lo apro in "Incognito" funziona, o in Firefox funziona, ma Chrome normale rifiuta di ripristinare il suo DNS
andrewtweber,

9

So che questa è una vecchia domanda, ma mi sono infastidito dalle stesse lamentele degli altri: anche dopo aver svuotato la cache, possono essere ancora necessari un minuto o due perché le nuove modifiche al DNS inizino.

Ci sono alcuni modi per aggirarlo. Dopo aver svuotato la cache DNS tramite chrome: // net-internals / # dns (o usando un'estensione che ottiene lo stesso risultato):

  1. Apri una finestra di navigazione in incognito e le nuove mappature DNS per il dominio saranno immediatamente attive.

  2. Cancella la cache del browser. Questo è ingombrante se si utilizza il browser per la navigazione regolare. Puoi eseguire un'istanza separata del browser come un altro utente e svuotare la cache in quell'account non interferirà con la tua normale cache di navigazione. Non l'ho provato ma dovrebbe funzionare.

  3. Premi CTRL + F5. Ho dovuto tenere premuto CTRL + F5 per circa un secondo, ricaricando consecutivamente la pagina un paio di volte. Questo è un comportamento strano ma funziona ed è altrettanto efficace. Questo è il mio approccio preferito.

Idealmente dovrebbe esserci un plugin in grado di eliminare DNS e cache (in particolare solo la cache dei documenti e non la cache dei cookie) ma non ho ancora trovato nulla del genere.

AGGIORNAMENTO: Su OSX l'applicazione Maschera antigas è eccellente per il passaggio tra i file host e, insieme alla soluzione alternativa n. 2, è abbastanza efficace.


1
Il rinfresco non aiuterà un po '. I socket TCP attivi saranno ancora attivi. Puoi aspettare (1-2 minuti) o scaricarli manualmente .
Pacerier,

6

Chrome_Hosts_Flush_Util :

È per risolvere il problema che Chrome non può utilizzare gli host corretti dopo aver modificato il file hosts a causa di Chrome che utilizza pool di socket.

Chrome mantiene connessioni lunghe nel pool di connessioni per accelerare. Quando Chrome rileva che una richiesta può riutilizzare una connessione nel pool di connessioni, non passerà più attraverso il DNS, quindi percepiamo sempre che Chrome non risponderà immediatamente a una modifica degli host.

Chrome ha fornito un'interfaccia per svuotare il pool di connessioni nella scheda chrome: // net-internals / # sockets, ma penso che sia fastidioso dover prima andare alla scheda e fare clic su un piccolo pulsante con un trackpad.

Ho scoperto che quando si fa clic sul pulsante del pool flush socket, Chrome esegue due metodi JavaScript chiave.

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

Quindi incapsulo questi due metodi in uno script AppleScript che può essere convertito in un'applicazione OS X o in un flusso di lavoro Alfred che entrambi possono essere facilmente richiamati.


Ciao Boreas320, puoi fornire un riepilogo di ciò che il tuo link fornisce nella tua risposta nel caso in cui diventi obsoleto? Le risposte che sono solo / principalmente un collegamento sono scoraggiate in quanto possono diventare obsolete.
bertieb,

Su! Idea meravigliosa! Grazie! Tuttavia non ha funzionato per me fino a quando non ho sostituito javascript con document.getElementById ('sockets-view-flush-button'). Click ();
i_a

5

Ho provato a svuotare la cache DNS in così tanti modi, ma nulla ha funzionato per me. Alla fine, ho programmato di cambiare la mia voce DNS . Questo trucco funzionerà per tutte le persone che accedono a Internet tramite una connessione LAN ad alta velocità.

Su una connessione LAN, a un utente vengono generalmente forniti due indirizzi DNS. Uno è primario e un altro è l'indirizzo DNS secondario o alternativo. Quello che ho fatto è che ho appena cambiato l'indirizzo secondario con l'indirizzo primario e viceversa. Ha funzionato per me all'istante.

Ho mantenuto l'indirizzo DNS alternativo come indirizzo principale per due giorni. Il problema si è risolto da solo e in seguito ho ripristinato la vecchia voce DNS.


5

Processo completo:

Sito creato in IIS (Windows 8), impostare l'intestazione host.

Ho provato a colpire l'host senza file host, assicurandoti di utilizzare http: // quindi non si limitava a fare una ricerca su Google. Errore Chrome non corretto "Versione 32.0.1700.76 m"

Aggiungi host al file host come 127.0.0.1, ora puoi colpirlo in Chrome.

Rimuovi dal file host ed esegui ipconfig / flushdns, Chrome mostra ancora il sito!

Non fare altro che CTRL + F5 e ora il corretto funzionamento del sito non riesce in Chrome.

Con il numero di risposte diverse qui mi chiedo se tutti abbiamo casi d'uso leggermente diversi.


4

Per me la navigazione privata ha fatto il trucco (Nuova finestra di navigazione in incognito / finestra privata).


Ciao Bart, benvenuto su Superuser! Sfortunatamente, questa domanda riguarda la versione per computer di Chrome, non la versione mobile. Suggerirei di modificare la tua risposta per riflettere la versione desktop. Grazie
Luke canadese,

2

Prova DNS Flusher per Chrome. Nota che per usarlo, richiede un flag da riga di comando, --enable-benchmarkingquando avvii il browser Chrome.


l'estensione non esiste più
jmgarnier

2

Passare a chrome: // net-internals / # dns e premere il pulsante "Svuota cache host". come già risposto, potrebbe essere necessario il comando dscacheutil -flushcache in OS X, per svuotare la cache DNS dell'intero sistema. ipconfig / flushdns nel prompt dei comandi di Windows


2

Su Mac OS X, nessuno degli approcci sopra menzionati ha funzionato per me. Il seguente approccio ha fatto:

Fai clic sul menu Chrome> preferenze> fai clic sul collegamento show advanced settingsnella parte inferiore della pagina> fai clic sul clear browsing datapulsante nella privacysezione> seleziona solo cached images and filese download history(forse non è necessario il successivo, ma non fa male)> fai clic sul clear browsing datapulsante.


1

Per gli utenti di iPhone, queste tecniche funzionano altrettanto efficacemente. Ho dovuto fare alcuni test su un sito Web e volevo sostituire il normale server DNS e utilizzare il mio server DNS con voci DNS che non sono ancora pubbliche.

Sovrascrivo la voce DNS nelle mie impostazioni wifi sul mio iPhone 6 Plus sul mio server DNS personalizzato. Era abbastanza buono per Safari e Perfect Browser. Ma Chrome sembrava ignorarlo e aveva il suo set di voci DNS. NON sono riuscito a capire da dove venissero.

Ho fatto quello che hanno descritto sopra

  1. Passare a chrome: // net-internals / # dns e fare clic su "Cancella cache host"
  2. Passare a chrome: // net-internals / # socket e fare clic su "Flush Socket Pools"

E ho dovuto usare anche una scheda InCognito come menzionato sopra.

Solo allora Chrome ha utilizzato la mia voce DNS personalizzata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.