Hoe de DNS-cache in Google Chrome te wissen/spoelen?
Zoals u waarschijnlijk weet heeft Google Chrome een eigen interne DNS-cache. Is er een manier om het te wissen zonder te hoeven wachten op de time-out of de browser te sluiten?
Zoals u waarschijnlijk weet heeft Google Chrome een eigen interne DNS-cache. Is er een manier om het te wissen zonder te hoeven wachten op de time-out of de browser te sluiten?
Soms moet je de socketpools doorspoelen na het doorspoelen van de DNS:
chrome://net-internals/#sockets
“Navigeren naar chrome://net-internals/#dns” werkt niet in de Google Chrome-browser, althans niet op mijn systeem. Het lijkt erop dat deze oplossing misschien werkt voor het Google Chrome OS, maar niet voor de Google Chrome-browser in het algemeen. Voor mij wordt de link hier omgeleid: Het lijkt erop dat “Leeg de Cache” de betere oplossing is. Merk ook op dat mijn browser “Voorkeuren” zegt in plaats van “Opties”
Via http://www.google.com/support/forum/p/Chrome/thread?tid=026b6a1d9151a6e3&hl=en
“Ga naar tools -> opties -> Onder de motorkap -> Wis Browsing data en vink ‘de cache leegmaken’ aan en klik op verwijder de browsing data. Ja, ik weet het, het is niet de DNS-cache die ik zou verwachten te wissen, maar hey het lijkt te werken. En nu werkt het voor mij.”
Klikken op “clear host cache” in chrome://net-internals/#dns
zou het moeten doen voor Google Chrome, maar er zijn andere DNS-caches om te overwegen op uw machine.
Windows:
ipconfig /flushdns
OS X pre-10.7 (voor Lion):
sudo dscacheutil -flushcache
OS X 10.7-10. 9 (Leeuw, 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
Uw router kan de DNS ook cachen (herstarten of de handleiding lezen). De ultieme test is het gebruik van dig , maar dit maakt gebruik van de DNS-host van uw netwerk, niet standaard de gezaghebbende server:
dig superuser.com
Om direct vanaf de bron te vragen, probeer dan iets als:
dig superuser.com @ns1.serverfault.com
In OS X 10.9.1 met Chrome 32 moest ik zowel de host cache wissen als de socket pools doorspoelen om Chrome de DNS cache te laten verversen:
Dit werkte voor mij: Leeg en verwijder de schijf cache
In Chrome, klik op het sleutelicoon, en dan Options. Ga naar Onder het tabblad Hood. Klik op de Clear browsing data knop onder de Privacy sectie. Selecteer alleen het selectievakje “Leeg de cache” en klik dan op de knop Clear browsing data.
Dit werkte direct - ik hoefde de browser niet eens te sluiten.
Voor zover ik kan vinden, is er in recente versies van Chrome (ik sta op 26.0.1410.43) geen (betrouwbare) manier om het te doen, althans niet op een Mac. Geen van de suggesties op deze pagina heeft voor mij gewerkt.
Mijn situatie is dat ik een hosts -bestandsvermelding heb toegevoegd, maar Chrome gaat nog steeds naar het IP-adres dat door DNS is geretourneerd. Firefox werkt correct.
In feite ligt de chrome://net-internals/#dns
-pagina gewoon over het IP-adres voor mij. Het toont het IP van het hosts-item, maar dat is duidelijk niet waar het de site daadwerkelijk vandaan haalt.
Ik weet dat dit een oude vraag is, maar ik ergerde me aan dezelfde klachten als anderen: zelfs na het opruimen van de cache kan het nog een minuut of twee duren voordat de nieuwe DNS-wijzigingen in werking treden.
Er zijn een paar manieren om dit te omzeilen. Na het leegmaken van de DNS cache via chrome://net-internals/#dns (of via een extensie die hetzelfde resultaat oplevert):
Open een incognito venster en de nieuwe DNS mappings voor het domein zullen direct van kracht zijn.
Idealiter zou er een plugin moeten zijn die de DNS en cache kan zuiveren (specifiek alleen de document cache en niet de cookie cache) maar ik heb nog niets van dit alles gevonden.
UPDATE: Op OSX is de Gas Mask applicatie uitstekend geschikt voor het schakelen tussen hosts bestanden en samen met de #2 workaround, is het vrij effectief.
Het is om het probleem op te lossen dat Chrome niet de juiste hosts kan gebruiken na het wijzigen van het hosts bestand ) omdat Chrome gebruik maakt van socket pools.
Chrome onderhoudt lange verbindingen in de connection pool om de snelheid te verhogen. Wanneer Chrome vindt dat een verzoek een verbinding in de connection pool kan hergebruiken, zal deze niet opnieuw door de DNS gaan, dus we merken altijd dat Chrome niet direct reageert op een hostswissel.
Chrome heeft een interface voorzien voor het doorspoelen van de connection pool in het tabblad chrome://net-internals/#sockets, maar ik vind het vervelend dat ik eerst naar het tabblad moet gaan, en dus een kleine knop met een trackpad moet aanklikken.
Ik vond dat bij het klikken op de knop van de flush socket pool, Chrome twee belangrijke JavaScript methodes uitvoert.
g_browser.sendFlushSocketPools();
g_browser.checkForUpdatedInfo(false);
Dus ik vatte deze twee methodes samen in een AppleScript script dat geconverteerd kan worden naar een OS X applicatie of Alfred workflow die beide gemakkelijk aangeroepen kunnen worden.
Volledig proces:
Aangemaakte site in IIS (windows 8), stel host header in.
Probeerde de host te raken zonder host-bestand, en zorgde ervoor dat http:// werd gebruikt, zodat het niet alleen maar een google-zoekopdracht deed. Correct mislukt in chroom “Versie 32.0.1700.76 m”
Voeg host toe aan hostbestand als 127.0.0.1, kan nu in chroom.
Verwijder uit hostbestand en voer ipconfig /flushdns uit, chroom toont nog steeds site!
Doe niets anders dan CTRL+F5 en nu site correct mislukt in Chrome.
Met het aantal verschillende antwoorden hier vraag ik me af of we allemaal een iets andere use-case hebben.
Ik probeerde de DNS-cache op zoveel manieren door te spoelen, maar niets werkte voor mij. Eindelijk was ik van plan om mijn DNS-invoer** te wijzigen. Deze truc zal werken voor alle mensen die toegang hebben tot het internet via een snelle LAN-verbinding.
Op een LAN-verbinding krijgt een gebruiker over het algemeen twee DNS-adressen. Het ene is primair en het andere is een secundair of alternatief DNS-adres. Wat ik heb gedaan is dat ik het secundaire adres heb veranderd in het primaire adres en vice versa. Het werkte direct voor mij.
Ik heb het alternatieve DNS-adres twee dagen lang als primair adres aangehouden. Het probleem loste zichzelf op en later heb ik het oude DNS-adres weer teruggezet.
Voor mij deed het prive-surfen de truc (Nieuw incognito venster / prive-venster).
Probeer DNS Flusher voor Chrome. Houd er rekening mee dat voor het gebruik ervan een opdrachtregelvlag --enable-benchmarking
nodig is wanneer u de Chrome-browser start.
Op Mac OS X werkte geen van de bovengenoemde benaderingen voor mij. De volgende aanpak werkte wel:
Klik op Chrome menu > voorkeuren > klik op de link show advanced settings
onderaan de pagina > klik op de clear browsing data
knop in privacy
sectie > selecteer alleen cached images and files
en download history
(misschien is het later niet nodig, maar het kan ook geen kwaad) > klik op de clear browsing data
knop.
Voor iPhone-gebruikers werken deze technieken net zo effectief. Ik moest wat testen doen op een website, en ik wilde de normale DNS-server overschrijven en mijn eigen DNS-server gebruiken met DNS-items die nog niet openbaar zijn.
Ik overschrijf het DNS-item in mijn wifi-instelling op mijn iPhone 6 Plus naar mijn aangepaste DNS-server. Dat was goed genoeg voor Safari en Perfect Browser. Maar Chrome leek dat te negeren en had zijn eigen set van DNS-items. Ik kon niet achterhalen waar ze vandaan kwamen.
Ik deed wat ze hierboven beschreven hebben
EN ik moest ook een InCognito Tab gebruiken zoals hierboven vermeld.
Alleen DAN heeft Chrome mijn aangepaste DNS entry gebruikt.