ipconfigコマンド - リゾルバーキャッシュの表示と削除

DNSリゾルバーキャッシュとは

Windowsパソコンでは、IPアドレスFQDNのキャッシュを保持しています。

(FQDNとは、ホスト名とドメイン名を省略しないで表示したものです)

IPアドレスとFQDNのキャッシュとは、Windowsで管理しているIPアドレスとFQDNの対応表のことでDNSリゾルバーキャッシュと呼ばれます。

通信フロー

FQDNで指定された相手と通信する場合、次のようなフローになります。

  1. DNSリゾルバーキャッシュを参照し、FQDNに対応するIPアドレスがあるかどうかを確認する。
  2. 一致するFQDNがあれば、それに対応するIPアドレスを使って通信を開始する。
  3. 一致するFQDNがなければ、DNSサーバに問い合わせを行う。
  4. DNSサーバに問い合わせた名前解決の結果をWindowsシステムの内部に保持し、外部のDNSサーバへの問い合わせをなるべく減らす。

DNSリゾルバーキャッシュの保持時間

DNSリゾルバーキャッシュのデータの保持時間は、初期設定で1日となっています。

この時間を過ぎればキャッシュは破棄されます。

(OSを再起動した場合もキャッシュのデータはクリアされます)

DNSリゾルバーキャッシュの表示

FQDNで指定した相手と通信できない場合、DNSリゾルバーキャッシュのデータが古くなっている可能性があります。

その場合は、DNSリゾルバーキャッシュを表示してキャッシュの内容を確認してみましょう。

[コンソール]

1
ipconfig /displaydns

[実行結果(例)]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Windows IP 構成

gbc6.jp2.as.criteo.com
----------------------------------------
レコード名 . . . . . . . : gbc6.jp2.as.criteo.com
レコードの種類 . . . . . : 1
Time To Live . . . . . .: 14776
データの長さ . . . . . . : 4
セクション . . . . . . . : 回答
A (ホスト) レコード. . . : 116.213.22.169


レコード名 . . . . . . . : gbc6.jp2.as.criteo.com
レコードの種類 . . . . . : 1
Time To Live . . . . . .: 14776
データの長さ . . . . . . : 4
セクション . . . . . . . : 回答
A (ホスト) レコード. . . : 116.213.22.187


レコード名 . . . . . . . : gbc6.jp2.as.criteo.com
レコードの種類 . . . . . : 1
Time To Live . . . . . .: 14776
データの長さ . . . . . . : 4
セクション . . . . . . . : 回答
A (ホスト) レコード. . . : 116.213.22.192


レコード名 . . . . . . . : gbc6.jp2.as.criteo.com
レコードの種類 . . . . . : 1
Time To Live . . . . . .: 14776
データの長さ . . . . . . : 4
セクション . . . . . . . : 回答
A (ホスト) レコード. . . : 116.213.22.190


レコード名 . . . . . . . : gbc6.jp2.as.criteo.com
レコードの種類 . . . . . : 1
Time To Live . . . . . .: 14776
データの長さ . . . . . . : 4
セクション . . . . . . . : 回答
A (ホスト) レコード. . . : 116.213.22.184
(・・・途中略・・・)

DNSリゾルバーキャッシュの削除

IPアドレスとFQDNの対応付けが間違っている場合は、下記のコマンドでDNSリゾルバーキャッシュの削除を行うことができます。

[コンソール]

1
ipconfig /flushdns

[実行結果]

1
2
3
Windows IP 構成

DNS リゾルバー キャッシュは正常にフラッシュされました。

その後、FQDNでアクセスを行うとDNSサーバへの問い合わせが行われ、正しいIPアドレスを取得してキャッシュに保持されます。

これで正しく通信ができるようになるはずです😀