Google ChromeでDNSキャッシュをクリア/フラッシュする方法は?


903

ご存知のとおり、Google Chromeには独自の内部DNSキャッシュがあります。タイムアウトを待つかブラウザを閉じることなくクリアする方法はありますか?


ChromeのDNSキャッシュをフラッシュする唯一の理由は、そうしないとGoogleにアクセスできないからです。幸いなことに、Googleが唯一の検索エンジンではありません(そうでなければ、この質問を見つけられなかったでしょう)。仕事でChromeに対処するだけで済みます。
ノロナー

私にとって、これはおそらく、resolv.confに誤ったDNSサーバーがあることによって引き起こされます。(VPNの内部サーバーにアクセスしようとしています)。T-comの人々はNXDOMAINではなく広告サイトで応答するようにDNSを誤って設定しており、Chromeを書いた人々はresolv.confの順序を尊重することを気にしませんが、代わりにDNSサーバーが機能しているように見えるものを喜んで使用します。
ケチル14

回答:


1316

移動し、クロム://ネット-内部/#のDNSと「クリアホストキャッシュ」ボタンを押してください。


41
奇妙なことに、これは一方向にしか機能しません。ドメイン名をローカルマシン(つまり127.0.0.1)にマッピングするホストファイルにマッピングがあり、Chromeでマッピングを削除してDNSキャッシュをフラッシュすると、インターネットからサイトが正しく読み込まれますが、ホストファイルにマッピングを再度追加すると、インターネットからサイトがロードされます。DNSキャッシュをクリアした後(ipconfig / flushdnsを使用してOSキャッシュもクリアした)、ChromeでキャッシュされたDNSリストが空であることを示していますが、それでもインターネットからサイトをロードします!バグのようです。
ミー

10
さらに厄介なことに、ChromeはDNSキャッシュリストにそのドメインのIPアドレス(127.0.0.1)を正しく表示します(フラッシュしてサイトを再度ロードしようとした後)が、インターネットからサイトをロードします。
ミー

4
素晴らしい、とにかくすべてのchrome:// *オプションのリストはありますか?
イアン

29
@イアンchrome:// about
ephemient

10
私には十分ではありませんでした。コマンドプロンプトで「ipconfig / flushdns」を実行する必要がありました(以下の回答にあります)
Adam Tal

175

DNSをフラッシュした後に、ソケットプールをフラッシュする必要がある場合があります。

chrome://net-internals/#sockets

4
Chromeはhostsファイルを監視し、ファイルに変更があるたびにdnscacheを自動クリアすることに注意してくださいhosts。— hostsファイルの後に空白行を追加することにより、システムで機能するかどうかを簡単にテストできます。リストはchrome://net-internals/#dns自動更新されます。hostsファイルを更新した後、「Flush socket pools」ボタンをクリックするだけで機能します。他に何も必要ありません。
Pacerier

ええ、私は1年かそこらから同じ行動に気づいたようです。ただし、この答えについてはまだ賛成票をいただいているため、常にうまくいくとは限りません。
ボヤンフルンカス

Server 2003でもテスト済みです。hostsファイルに変更があるたびに、dnscacheサービスはナンセンスを必要とせずにキャッシュを自動的にリロードしますipconfig /flushdnsipconfig /flushdnsこの問題全体でニシンのようです。
パセリエ

cmdでDNSをフラッシュし、受け入れられた答えを実行した後でも、私のために働いた
ロブスコット

1
動作しなくなりました。
ヒッピージム

53

「Chrome:// net-internals /#dnsへの移動」は、少なくとも私のシステムでは、Google Chromeブラウザーでは機能しません。このソリューションはGoogle Chrome OSで動作する可能性がありますが、より一般的にはGoogle Chromeブラウザでは動作しないようです。私の場合、リンクはここにリダイレクトされます:
Chromiumプロジェクト

「キャッシュを空にする」の方が優れたソリューションのようです。また、ブラウザには「オプション」ではなく「設定」と表示されます

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

「ツールに移動->オプション->フードの下->閲覧データを消去し、「キャッシュを空にする」をチェックし、閲覧データを消去するをクリックします。はい、わかります。ねえ、それはそうだ。そして今、それは私のために動作します。」


4
これが機能していることを確認し、[閲覧データを消去]-> [キャッシュを空にします。他の方法は機能しませんでした。ありがとうPJ。
航空

/etc/resolver/foo.comが無視されていたとき、これはクロムとクロムの両方で機能しました。
チョビー

Googleは、異なるバージョンでいくつかの内部URLの名前を徐々に変更しているようです。バージョン27.0.1421.0(184274)のよう...
DocSalvager

OpenVPNを有効にしてアクティブなDNSサーバーを切り替えた後少なくともキャッシュされたイメージとファイルの消去は機能しませんでした(UbuntuのChromium 33)。(一般的な答えのようにホストキャッシュクリアすることもできませんでした。)これまでのところ、ブラウザーを再起動するか、URLにIPアドレスを入力する以外に機能するものは見つかりませんでした。
ジェシーグリック14

3
キャッシュされた画像とファイルの消去は私のために働いた!理由はわかりませんが、そうでした。Windows 8.1、Chrome 41.0.2272.89 m
Bing

43

[ホストキャッシュをクリア]をクリックするchrome://net-internals/#dnsと、Google Chromeで実行されますが、マシンには他のDNSキャッシュを考慮する必要があります。

Windows:

ipconfig /flushdns

OS X 10.7より前(Lionより前):

sudo dscacheutil -flushcache

OS X 10.7–10.9(ライオン、マウンテンライオン、マーベリックス):

sudo killall -HUP mDNSResponder

OS X 10.10+(ヨセミテ):

sudo discoveryutil mdnsflushcache

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

sudo killall -HUP mDNSResponder

ルーターもDNSをキャッシュしている可能性があります(再起動するか、マニュアルを読んでください)。究極のテストはdigを使用することですが、これはデフォルトでは権限のあるサーバーではなく、ネットワークのDNSホストを使用します:

dig superuser.com

ソースから直接クエリするには、次のようなものを試してください:

dig superuser.com @ns1.serverfault.com

1
「sudo discoveryutil mdnsflushcache」はEl Capitan(10.11)では動作しませんでしたが、「sudo killall -HUP mDNSResponder」は動作しましたが、discoveryutilは存在しないと言っていました。
エズラ

20

OS X 10.9.1 with Chrome 32では、ホストキャッシュをクリアし、ソケットプールをフラッシュして、ChromeでDNSキャッシュを更新する必要がありました。

  1. 移動し、クロム://ネット-内部/#のDNSをクリックして「クリアホストのキャッシュを」
  2. 移動し、クロム://ネット-内部/#ソケット ABDはをクリックし、「フラッシュソケットプール」

私もWindowsの8.1でそれを必要とするので、それだけでOS Xにはありません
benrick

Linux版Chromeも必要ですchrome://net-internals/#sockets
pengemizt 14

Linux版Chromeでは、ソケットフラッシュが必要です。DNSフラッシュなし。superuser.com/a/611712/30982
イライジャ・リン

18

これは私のために働いた:ディスクキャッシュを空にしてクリアする

Chromeで、レンチアイコン、[ オプション ]の順にクリックします。Under the Hoodタブに移動します。[ プライバシー]セクションの下の[ 閲覧データ消去 ]ボタンをクリックします。[キャッシュを空にする]チェックボックスのみを選択し、[ 閲覧データ消去 ]ボタンをクリックします。

これはすぐに機能しました。ブラウザを閉じる必要さえありませんでした。


1
これは、Chromeにhostsファイルへの変更を強制的に認識させるように働くようです。
minamhere

chrome://net-internals/#dnsここで説明したフラッシュトリックを試した後、これは成功せずにMac Chromeで機能しました。
マルクスアマルテアマグナソン14年

12

私の知る限り、Chromeの最近のバージョン(26.0.1410.43を使用しています)では、少なくともMacを使用する場合、(信頼できる)方法はありません。このページの提案はどれも役に立たなかった。

私の状況では、hostsファイルエントリを追加しましたが、ChromeはまだDNSから返されたIPアドレスにアクセスしてます。Firefoxは正常に動作します。

実際、このchrome://net-internals/#dnsページは単にIPアドレスについて嘘をついています。ホストエントリのIPが表示されますが、実際にサイトを取得する場所ではありません。


2
ここで同じ問題。キャッシュのクリア、内部DNSキャッシュのクリア、ipconfig flush dnsを試みましたが、ライブドメインからローカルWebサイトをロードしています。「シークレット」で開くと機能しますが、Firefoxでは機能しますが、通常のChrome はDNSのリセットを拒否します
-andrewtweber

9

これは古い質問ですが、他の人と同じ苦情に悩まされています。キャッシュをクリアした後でも、新しいDNSの変更が反映されるまでに1〜2分かかることがあります。

いくつかの方法があります。chrome:// net-internals /#dnsを介して(または同じ結果を達成する拡張機能を使用して)DNSキャッシュをクリアした後:

  1. シークレットウィンドウを開くと、ドメインの新しいDNSマッピングがすぐに有効になります。

  2. ブラウザのキャッシュをクリアします。ブラウザを通常のブラウジングに使用する場合、これは面倒です。ブラウザの別のインスタンスを別のユーザーとして実行できます。そのアカウントのキャッシュをクリアしても、通常のブラウジングキャッシュに干渉することはありません。私はこれを試していませんが、うまくいくはずです。

  3. Ctrl + F5を押します。Ctrlキーを押しながらF5キーを約1秒間押し続けると、数回連続してページが再読み込みされます。これは奇妙な動作ですが、動作し、同様に効果的です。これは私の好みのアプローチです。

理想的には、DNSとキャッシュ(具体的にはCookieキャッシュではなくドキュメントキャッシュのみ)をパージできるプラグインがあるはずですが、そのようなものはまだ見つかりませんでした。

更新:OSXでは、Gas Maskアプリケーションはホストファイル間の切り替えに優れており、2番目の回避策とともに非常に効果的です。


1
リフレッシュは少し助けにはなりません。アクティブなTCPソケットは引き続きアクティブです。待機する(1〜2分)か、手動でフラッシュします。
Pacerier

6

Chrome_Hosts_Flush_Util

Chromeがソケットプールを使用しているため、hostsファイルを変更した後、Chromeが正しいホストを使用できないという問題を解決するためです。

Chromeは、接続プールで長い接続を維持して高速化します。リクエストが接続プール内の接続を再利用できることをChromeが検出した場合、それはDNSを再度通過しないため、Chromeはホストの変更にすぐに応答しないと常に認識します。

Chromeはchrome:// net-internals /#socketsタブで接続プールをフラッシュするためのインターフェースを提供しましたが、最初にタブに移動してトラックパッドで小さなボタンをクリックする必要があるのは面倒だと思います。

フラッシュソケットプールのボタンをクリックすると、Chromeは2つの主要なJavaScriptメソッドを実行することがわかりました。

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

そのため、これら2つのメソッドをAppleScriptスクリプトにカプセル化し、OS XアプリケーションまたはAlfredワークフローに変換できます。どちらも簡単に呼び出すことができます。


こんにちはBoreas320、リンクが古くなった場合に備えて、あなたの回答にあなたのリンクが提供するものの要約を提供できますか?唯一/ほとんどがリンクである回答は、古くなる可能性があるため推奨されません。
ベルティエブ

アップ!素晴らしいアイデア!ありがとう!ただし、javascriptをdocument.getElementById( 'sockets-view-flush-button')。click();に置き換えるまでは機能しませんでした。
i_a

5

DNSキャッシュをさまざまな方法でフラッシュしようとしましたが、うまくいきませんでした。最後に、DNSエントリ変更することを計画しました。このトリックは、高速LAN接続を介してインターネットにアクセスするすべての人に有効です。

LAN接続では、通常、ユーザーに2つのDNSアドレスが提供されます。1つはプライマリ、もう1つはセカンダリまたは代替DNSアドレスです。私がしたことは、セカンダリアドレスをプライマリアドレスに変更しただけでした。すぐにうまくいきました。

代替DNSアドレスをプライマリアドレスとして2日間保持しました。問題は解決し、後で、古いDNSエントリを復元しました。


5

完全なプロセス:

IIS(windows 8)でサイトを作成し、ホストヘッダーを設定します。

ホストファイルなしでホストにアクセスして、http://を使用して、Google検索を実行しないようにしました。クロム「バージョン32.0.1700.76 m」で正しく失敗しました

ホストを127.0.0.1としてホストファイルに追加し、クロムでヒットできるようになりました。

ホストファイルから削除してipconfig / flushdnsを実行すると、Chromeは引き続きサイトを表示します!

Ctrlキーを押しながらF5キーを押すだけで、Chromeでサイトが正しく失敗します。

ここにはさまざまな答えがありますが、ユースケースが少し異なるのではないかと思います。


4

私にとっては、プライベートブラウジングがうまくいきました(新しいシークレットウィンドウ/プライベートウィンドウ)。


こんにちはバート、スーパーユーザーへようこそ!残念ながら、この質問はChromeのコンピューターバージョンに関するものであり、モバイルバージョンに関するものではありません。デスクトップバージョンを反映するように回答を編集することをお勧めします。ありがとう
カナダのルーク14

2

Chrome用DNS Flusherをお試しください。これを使用するには--enable-benchmarking、Chromeブラウザを起動するときにコマンドラインフラグが必要です。


拡張機能はもう存在しません
jmgarnier

2

chrome:// net-internals /#dnsに移動し、[ホストキャッシュをクリア]ボタンを押します。すでに回答したとおりまた、システム全体のDNSキャッシュをフラッシュするには、OS Xでdscacheutil -flushcacheコマンドが必要になる場合があります。Windowsコマンドプロンプトのipconfig / flushdns


2

Mac OS Xでは、上記のアプローチはどれもうまくいきませんでした。次のアプローチでした:

(Chromeメニュー)>(設定)>(show advanced settingsページ下部のリンクをクリック)> (セクションclear browsing data内のボタンをクリック)privacy> (選択するだけcached images and filesdownload history(おそらく、後者は必要ではありませんが、問題はありません))clear browsing dataボタンをクリックします。


1

iPhoneユーザーの場合、これらの手法は同様に効果的に機能します。Webサイトのテストを行う必要があり、通常のDNSサーバーをオーバーライドし、まだ公開されていないDNSエントリで独自のDNSサーバーを使用したかったのです。

iPhone 6 Plusのwifi設定のDNSエントリをカスタムDNSサーバーに上書きします。SafariとPerfect Browserにはこれで十分でした。しかし、Chromeはそれを無視しているようで、独自のDNSエントリのセットがありました。どこから来たのかわかりませんでした。

私は彼らが上で説明したことをしました

  1. chrome:// net-internals /#dnsに移動し、「ホストキャッシュをクリア」をクリックします
  2. chrome:// net-internals /#socketsに移動し、[Flush Socket Pools]をクリックします

また、上記のようにInCognitoタブも使用する必要がありました。

その後、Chromeは私のカスタムDNSエントリを使用しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.