DNSキャッシュ、特にipconfig /flushdns
コマンドについて読んでいます。 DNSキャッシュとは何かを説明する多くのリソース(QA、ブログ、サイト)がありますが、どれもwhere DNSキャッシュは私のWindows8.1マシンにあります。正しく理解できれば、次のようなマッピングを含むファイルになります。
example.com 123.123.123.123
foo.net 123.123.0.0
ipconfig /flushdns
を実行する前に、そのDNSキャッシュファイルを確認したいと思います。自分のマシンのどこにありますか?
DNSキャッシュを確認したい場合は、最近のバージョンのMicrosoftWindowsがIPConfig /displaydns
をサポートしています。
(Windows98がそれをサポートしたとは思いません。Win98もipconfig /flushdns
をサポートしていませんでした。両方のオプションが同じバージョンのMicrosoftWindowsに追加されたと思います。)
これは、そのような情報を表示するための一般的で簡単な方法です。
この情報がどのファイルに保存されているかはわかりません。有効期限も追跡していると確信しているため、表示されているHOSTSのような形式を使用していないことは間違いありません。 Process Explorerを使用すると、IPConfig/displaydns
を使用するときにアクセスされるファイルを見つけるのに役立つ場合があります。
キャッシュはメモリに保持される場合があり、ローカルDNSサービスはキャッシュファイルを保持しない場合がありますが、もう少しあります。
私のipconfig/displaydnsは、再起動の間にエントリを保持していました。ディスクのどこかに保存する必要があります。
今日、DNSの問題が発生し、古いVMを確認したところ、ローカルのDNSキャッシュに非常に古いエントリがいくつか見つかりました。これらは私の古い会社からのエントリであり、最初は彼らがハッキングしているのか、それともどういうわけか彼らのネットワークに接続しているのではないかと思いました。しかし、かなり前のVMからの私自身のエントリもいくつか含まれていました。
ipconfig/flushdnsはエントリをワイプしませんでした。 DNSサービスを停止して再起動してみました。助けにはならなかった。ルーターをインターネットから切断しましたが、エントリはまだ残っていました。それから、そのVMは昔からドメインコントローラーとDNSサーバーであったので、何かが正しくアンインストールされなかったのではないかと思いました。
Procman.exeを使用して、ping要求に応答するsvchost.exeのインスタンスを分離しました。 pingで、hostsファイルだけを開きました。愚かな私は、これをすべて開始する前に、hostsファイルをチェックする必要がありました。古いエントリはすべてhostsファイルにありました。そこでワイプされると、ipconfig/displaydnsには表示されませんでした。
ローカルDNSサービスを停止して再起動すると、既存のエントリが消去されるため、キャッシュメモリにのみ保持されていることが確認される傾向があります。しかし、はい、ローカルDNSを介してpingによって使用される永続的なipconfig dnsエントリは、c:\ windows\system32\drivers\etc\hostsにあります。
これが、これをトラブルシューティングしようとしている他の人に役立つことを願っています。