Bagaimana menghapus / membersihkan cache DNS di Google Chrome?

902

Seperti yang Anda ketahui, Google Chrome memiliki cache DNS internal sendiri. Apakah ada cara untuk menghapusnya tanpa harus menunggu waktu habis atau menutup browser?

Mee
sumber
Satu-satunya alasan bagi saya untuk menyiram cache DNS Chrome adalah karena jika tidak, saya tidak dapat mengakses Google. Untungnya, Google bukan satu-satunya mesin pencari di luar sana (atau saya tidak akan menemukan pertanyaan ini) dan saya hanya harus berurusan dengan Chrome di tempat kerja.
Nolonar
Bagi saya, ini mungkin disebabkan oleh DNS-server yang salah di resolv.conf. (Saya mencoba mengakses server internal pada VPN). Orang-orang di T-com telah salah mengonfigurasi DNS mereka untuk merespons dengan situs iklan mereka alih-alih NXDOMAIN, dan orang-orang yang menulis Chrome tidak peduli untuk menghormati perintah resolv.conf, tetapi sebaliknya dengan senang hati menggunakan server DNS apa pun yang tampaknya berfungsi.
Ketil

Jawaban:

1315

Arahkan ke chrome: // net-internal / # dns dan tekan tombol "Bersihkan cache host".

singkat
sumber
41
Anehnya, ini hanya bekerja dalam satu arah. Saya memiliki pemetaan dalam file host yang memetakan nama domain ke mesin lokal (yaitu ke 127.0.0.1), ketika saya menghapus pemetaan dan membersihkan cache DNS di Chrome, itu dengan benar memuat situs dari internet, tetapi ketika saya tambahkan pemetaan lagi ke file host, masih memuat situs dari internet. Ini menunjukkan daftar DNS yang di-cache kosong di Chrome setelah membersihkan cache DNS (juga membersihkan cache OS menggunakan ipconfig / flushdns), masih, ia memuat situs dari internet! Sepertinya ada bug.
Mee
10
Yang lebih menyebalkan, Chrome menunjukkan alamat IP dengan benar (127.0.0.1) untuk domain itu dalam daftar cache DNS (setelah dibilas dan mencoba memuat situs lagi), masih memuat situs dari internet.
Mee
4
luar biasa, apakah ada daftar semua chrome: // * opsi tetap ada yang tahu?
Ian
29
@Ian chrome: // about
ephemient
10
Itu tidak cukup untukku. Harus "ipconfig / flushdns" di command prompt (ditemukan di jawaban di bawah)
Adam Tal
175

Kadang-kadang Anda perlu menyiram kolam soket setelah membilas DNS:

chrome://net-internals/#sockets
Bojan Hrnkas
sumber
4
Perhatikan bahwa Chrome sekarang memantau hostsfile dan autoclears dnscache setiap kali ada perubahan pada hostsfile. —Anda dapat dengan mudah menguji apakah itu berfungsi pada sistem Anda dengan menambahkan baris kosong setelah hostsfile Anda , dan daftar di chrome://net-internals/#dnsakan diautomatisasi. - Layanan dnscache Windows juga akan (setidaknya pada win 8.1) memantau file host untuk perubahan, jadi setelah Anda memperbarui hostsfile Anda , cukup klik tombol "Flush socket pools" akan berfungsi . Tidak ada lagi yang dibutuhkan.
Pacerier
Ya, saya sepertinya telah memperhatikan perilaku yang sama sejak 1 tahun atau lebih. Namun, mungkin itu tidak berfungsi sepanjang waktu, karena saya masih mendapatkan jawaban atas jawaban ini.
Bojan Hrnkas
Baru saja diuji pada Server 2003 juga. Setiap kali ada perubahan pada file hosts, layanan dnscache secara otomatis memuat ulang cache tanpa perlu ipconfig /flushdnsomong kosong. ipconfig /flushdnstampaknya menjadi ikan haring merah di seluruh masalah ini.
Pacerier
Bekerja untuk saya, bahkan setelah memurnikan dns dalam cmd dan melakukan jawaban yang diterima
Rob Scott
1
Tidak lagi berfungsi.
Hippyjim
53

"Arahkan ke chrome: // net-internal / # dns" tidak berfungsi di browser Google Chrome, setidaknya di sistem saya. Sepertinya solusi ini mungkin berfungsi untuk OS Google Chrome, tetapi bukan browser Google Chrome yang lebih umum. Bagi saya, tautan dialihkan di sini:
Proyek Chromium

Tampaknya "Empty the Cache" adalah solusi yang lebih baik. Perhatikan juga browser saya mengatakan "Preferensi" daripada "Opsi"

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

"Pergi ke alat -> opsi -> Di bawah tenda -> Bersihkan data Penjelajahan dan centang 'kosongkan cache' dan klik hapus data penjelajahan. Ya ya, saya tahu, ini bukan cache DNS yang saya harapkan akan dihapus, tapi sepertinya begitu. Dan sekarang ini bekerja untukku. "

PJ Brunet
sumber
4
Mengonfirmasi ini berfungsi untuk saya, Bersihkan Data Perambanan -> Kosongkan cache. Tidak ada metode lain yang berhasil. Terima kasih PJ
Air
Ini bekerja untuk saya pada chrome dan chromium ketika /etc/resolver/foo.com diabaikan.
chovy
Sepertinya Google secara bertahap membuat perubahan nama ke beberapa URL internal lebih dari versi yang berbeda. Pada versi 27.0.1421.0 (184274) ...
DocSalvager
Setidaknya menghapus gambar dan file dalam cache tidak berfungsi untuk saya (Chromium 33 di Ubuntu) setelah menyalakan OpenVPN dan dengan demikian beralih dari server DNS aktif saya. ( Bersihkan cache host seperti pada jawaban populer juga tidak berfungsi.) Sejauh ini saya belum menemukan apa pun yang berfungsi kecuali memulai kembali browser, atau memasukkan alamat IP di URL.
Jesse Glick
3
Menghapus gambar dan file dalam cache berhasil bagi saya! Tidak ada petunjuk mengapa, tapi ternyata berhasil. Windows 8.1, Chrome 41.0.2272.89 m
Bing
43

Mengklik "hapus cache host" di chrome://net-internals/#dnsharus melakukannya untuk Google Chrome, tetapi ada cache DNS lain untuk dipertimbangkan pada mesin Anda.

Windows:

ipconfig /flushdns

OS X pra-10.7 (sebelum Lion):

sudo dscacheutil -flushcache

OS X 10.7–10.9 (Singa, Singa Gunung, Maverick):

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

Router Anda mungkin juga sedang melakukan caching DNS (restart atau baca manualnya). Tes utamanya adalah menggunakan dig , tetapi ini menggunakan host DNS jaringan Anda, bukan server otoritatif secara default:

dig superuser.com

Untuk meminta langsung dari sumber, coba sesuatu seperti:

dig superuser.com @ns1.serverfault.com
Johntron
sumber
1
"sudo discoveryutil mdnsflushcache" tidak berfungsi pada El Capitan (10.11) untuk saya, tetapi "sudo killall -HUP mDNSResponder" tidak, katanya, discoveryutil tidak ada, mungkin itu Sierra dan naik?
Ezra
20

Di OS X 10.9.1 w / Chrome 32 saya harus menghapus cache host dan membilas pool socket untuk mendapatkan Chrome untuk menyegarkan cache DNS:

  1. Arahkan ke chrome: // net-internal / # dns dan klik "Clear Host Cache"
  2. Arahkan ke chrome: // net-internal / # sockets dan klik "Flush Socket Pools"
Sina
sumber
Saya membutuhkannya di Windows 8.1 juga, jadi itu bukan hanya OS X.
benrick
Chrome untuk Linux juga membutuhkannyachrome://net-internals/#sockets
pengemizt
Chrome untuk Linux hanya perlu soket flush. Tidak ada DNS flush. superuser.com/a/611712/30982
Elijah Lynn
18

Ini bekerja untuk saya: Kosongkan dan kosongkan cache disk

Di Chrome, klik ikon kunci inggris, lalu Opsi . Pergi ke tab Di Balik Terpal . Klik pada tombol Hapus data penelusuran di bawah bagian Privasi . Pilih kotak centang "Kosongkan cache", lalu klik tombol Hapus data penelusuran .

Ini bekerja segera - saya bahkan tidak perlu menutup browser.

Josh
sumber
1
Ini tampaknya berfungsi untuk memaksa Chrome mengenali perubahan pada file host.
minamhere
Ini bekerja untuk saya di Mac Chrome, setelah mencoba chrome://net-internals/#dnstrik flush yang disebutkan di sini, tanpa hasil.
Markus Amalthea Magnuson
12

Sejauh yang dapat saya temukan, dalam versi Chrome terbaru (saya menggunakan 26.0.1410.43), tidak ada cara (dapat diandalkan) untuk melakukannya, setidaknya tidak pada Mac. Tidak ada saran di halaman ini yang berfungsi untuk saya.

Situasi saya adalah saya telah menambahkan entri file host , tetapi Chrome masih pergi ke alamat IP yang dikembalikan oleh DNS. Firefox berfungsi dengan benar.

Bahkan, chrome://net-internals/#dnshalaman itu hanya berbohong tentang alamat IP untuk saya. Ini menunjukkan IP dari entri host, tapi itu jelas bukan dari mana sebenarnya situs tersebut berasal.

Stu
sumber
2
Masalah yang sama disini. Saya telah mencoba membersihkan cache, membersihkan cache DNS internal, ipconfig flush dns, dan masih memuat situs web lokal dari domain langsung. Jika saya membukanya di "Penyamaran" itu berfungsi, atau di Firefox berfungsi, tetapi Chrome yang normal menolak untuk mereset DNS-nya
andrewtweber
9

Saya tahu ini adalah pertanyaan lama, tetapi saya merasa terganggu dengan keluhan yang sama seperti yang lain: bahkan setelah membersihkan cache masih membutuhkan satu atau dua menit untuk perubahan DNS baru untuk memulai.

Ada beberapa cara untuk mengatasinya. Setelah menghapus cache DNS melalui chrome: // net-internal / # dns (atau menggunakan ekstensi yang mencapai hasil yang sama):

  1. Buka jendela penyamaran dan pemetaan DNS baru untuk domain akan segera berlaku.

  2. Bersihkan cache browser. Ini merepotkan jika Anda menggunakan browser untuk menjelajah secara teratur. Anda dapat menjalankan instance terpisah dari browser sebagai pengguna lain dan membersihkan cache di akun itu tidak akan mengganggu cache browsing Anda yang biasa. Saya belum mencoba ini tetapi harus berhasil.

  3. Tekan CTRL + F5. Saya harus terus menekan CTRL + F5 selama sekitar satu detik yang secara berurutan memuat ulang halaman tersebut beberapa kali. Ini adalah perilaku aneh tetapi berfungsi dan juga sama efektifnya. Ini adalah pendekatan yang saya sukai.

Idealnya harus ada sebuah plugin yang dapat membersihkan DNS dan cache (khusus hanya cache dokumen dan bukan cache cookie) tetapi saya belum menemukan hal semacam itu.

UPDATE: Pada OSX aplikasi Gas Mask unggul untuk beralih antara file host dan bersama dengan solusi # 2, itu cukup efektif.

aleemb
sumber
1
Menyegarkan tidak akan membantu sedikit pun. Soket TCP aktif masih akan aktif. Anda bisa menunggu (1-2 menit) atau membilasnya secara manual .
Pacerier
6

Chrome_Hosts_Flush_Util :

Ini untuk menyelesaikan masalah bahwa Chrome tidak dapat menggunakan host yang benar setelah memodifikasi file host karena Chrome menggunakan kumpulan socket.

Chrome mempertahankan koneksi panjang di kolam koneksi untuk mempercepat. Ketika Chrome menemukan bahwa permintaan dapat menggunakan kembali koneksi di kumpulan koneksi, itu tidak akan melalui DNS lagi, oleh karena itu, kami selalu menganggap bahwa Chrome tidak akan menanggapi perubahan host segera.

Chrome telah menyediakan antarmuka untuk menyiram kumpulan koneksi di krom: // net-internal / # sockets tab, tapi saya pikir itu menjengkelkan bahwa saya harus pergi ke tab terlebih dahulu, dan klik tombol kecil dengan trackpad.

Saya menemukan bahwa ketika mengklik tombol flush socket pool, Chrome mengeksekusi dua metode kunci JavaScript.

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

Jadi saya merangkum kedua metode ini dalam skrip AppleScript yang dapat dikonversi ke aplikasi OS X atau alur kerja Alfred yang keduanya dapat dipanggil dengan mudah.

Boreas320
sumber
Hai Boreas320, dapatkah Anda memberikan ringkasan tentang apa yang tautan Anda berikan dalam jawaban Anda seandainya sudah ketinggalan zaman? Jawaban yang hanya / sebagian besar tautan tidak disarankan karena dapat basi.
bertieb
Naik! Ide bagus! Terima kasih! Namun itu tidak berhasil bagi saya sampai saya mengganti javascript dengan document.getElementById ('sockets-view-flush-button'). Click ();
i_a
5

Saya mencoba menyiram cache DNS dalam banyak hal, tetapi tidak ada yang berhasil untuk saya. Akhirnya, saya berencana untuk mengubah entri DNS saya . Trik ini akan bekerja untuk semua orang yang mengakses Internet melalui koneksi LAN kecepatan tinggi.

Pada koneksi LAN, seorang pengguna umumnya diberikan dua alamat DNS. Satu adalah primer dan yang lainnya adalah alamat DNS sekunder atau alternatif. Apa yang saya lakukan adalah saya baru saja mengubah alamat sekunder menjadi alamat utama dan sebaliknya. Ini bekerja untuk saya secara instan.

Saya menyimpan alamat DNS alternatif sebagai alamat utama selama dua hari. Masalahnya terpecahkan dengan sendirinya dan kemudian, saya mengembalikan entri DNS lama.

Som
sumber
5

Proses penuh:

Membuat situs di IIS (windows 8), mengatur header host.

Mencoba memukul host tanpa file host, memastikan untuk menggunakan http: // sehingga tidak hanya melakukan pencarian google. Gagal gagal di chrome "Versi 32.0.1700.76 m"

Tambahkan host ke file host sebagai 127.0.0.1, sekarang dapat menekannya di chrome.

Hapus dari file host dan jalankan ipconfig / flushdns, chrome masih menunjukkan situs!

Jangan melakukan apa pun selain CTRL + F5 dan sekarang situs yang benar gagal di Chrome.

Dengan jumlah jawaban yang berbeda di sini saya ingin tahu apakah kita semua memiliki kasus penggunaan yang sedikit berbeda.

rampok
sumber
4

Bagi saya penelusuran pribadi melakukan trik (Jendela penyamaran baru / jendela pribadi).

Bart Broekhuizen
sumber
Hai Bart, selamat datang di Superuser! Sayangnya, pertanyaan ini tentang Chrome versi komputer, bukan versi seluler. Saya sarankan mengedit jawaban Anda untuk mencerminkan versi desktop. Terima kasih
Luke Kanada
2

Coba DNS Flusher untuk Chrome. Perhatikan bahwa untuk menggunakannya, diperlukan bendera baris perintah, --enable-benchmarkingsaat Anda memulai browser Chrome.

Goyang Deng
sumber
ekstensi tidak ada lagi
jmgarnier
2

Arahkan ke chrome: // net-internal / # dns dan tekan tombol "Bersihkan cache host". seperti yang sudah dijawab juga, Anda mungkin perlu perintah dscacheutil -flushcache di OS X, untuk membersihkan cache DNS seluruh sistem. ipconfig / flushdns di command prompt windows

Dipesh KC
sumber
2

Di Mac OS X, tidak ada pendekatan yang disebutkan di atas yang berfungsi untuk saya. Pendekatan berikut dilakukan:

Klik menu Chrome> preferensi> klik tautan show advanced settingsdi bagian bawah halaman> klik clear browsing datatombol di privacybagian> hanya pilih cached images and filesdan download history(mungkin nanti tidak diperlukan, tetapi tidak ada salahnya juga)> klik clear browsing datatombol.

Javad Sadeqzadeh
sumber
1

Untuk pengguna iPhone, teknik ini bekerja sama efektifnya. Saya harus melakukan beberapa pengujian situs web, dan saya ingin mengganti server DNS normal dan menggunakan server DNS saya sendiri dengan entri DNS yang belum publik.

Saya mengganti entri DNS di pengaturan wifi saya di iPhone 6 Plus ke server DNS khusus saya. Itu cukup bagus untuk Safari dan Browser Sempurna. Tetapi Chrome tampaknya mengabaikannya dan memiliki set entri DNS sendiri. Saya TIDAK bisa menemukan dari mana mereka berasal.

Saya melakukan apa yang mereka gambarkan di atas

  1. Arahkan ke chrome: // net-internal / # dns dan klik "Clear Host Cache"
  2. Arahkan ke chrome: // net-internal / # sockets dan klik "Flush Socket Pools"

DAN saya juga harus Menggunakan Tab InCognito seperti yang disebutkan di atas.

Hanya MAKA Chrome menggunakan entri DNS khusus saya.

David Allen
sumber