不正なネームサーバーを使用するように DNS 設定を変更したにもかかわらず、tracert が機能するのはなぜですか?

不正なネームサーバーを使用するように DNS 設定を変更したにもかかわらず、tracert が機能するのはなぜですか?

192.168.2.239Windows のネットワーク設定で、アドレスとを使用するように DNS 設定を設定しました192.168.2.238。これらは両方とも存在しない DNS サーバーです。

cmdで私がやると

nslookup www.google.com

私は

    *** Can't find server name for address 192.168.2.239: Non-existent domain
DNS request timed out.
    timeout was 2 seconds.
*** Can't find server name for address 192.168.2.238: Timed out
*** Default servers are not available
Server:  UnKnown
Address:  192.168.2.239

Non-authoritative answer:
Name:    www.google.com
Addresses:  184.150.186.88, 184.150.186.84, 184.150.186.98, 184.150.186.103
          184.150.186.93, 184.150.186.113, 184.150.186.123, 184.150.186.109, 184
.150.186.108
          184.150.186.99, 184.150.186.119, 184.150.186.89, 184.150.186.114, 184.
150.186.118
          184.150.186.104, 184.150.186.94

また、tracert働いています。

私の質問は、どうやってですか? DNS が動作しない場合、ping はどのようにしてメッセージを正常に送信し、受信するのでしょうか?

Tracing route to www.google.com [170.100.15.22]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  192.168.2.1
  2    13 ms    11 ms    11 ms  bas7........com [xx.xxx.xx
.60]
  3    11 ms    11 ms    11 ms  agg1-.....net......ca [64.230.38
.52]
  4    23 ms    23 ms    23 ms  core3-xxxxxxxx02_xe0-8-2-0_core.net.bell.ca [64.
230.170.245]
  5    22 ms    23 ms    23 ms  tcore4-newyorkaa_hundredgige0-5-0-0.net.bell.ca
[64.230.79.148]
  6    24 ms    21 ms    21 ms  bx8-newyork83_bundle-ether2.net.bell.ca [64.230.
79.175]
  7   190 ms   244 ms   191 ms  72.14.221.241
  8    22 ms    22 ms    21 ms  216.239.50.108
  9    23 ms    22 ms    22 ms  209.85.244.153
 10    97 ms    98 ms    98 ms  209.85.252.95
 11   106 ms   106 ms   106 ms  216.239.50.186
 12   190 ms   223 ms   206 ms  216.239.57.126
 13   125 ms   125 ms   125 ms  216.239.46.48
 14   121 ms   121 ms   122 ms  108.170.245.49
 15   123 ms   122 ms   122 ms  108.170.238.161
 16   123 ms   124 ms   123 ms  prg03s05-in-f4.1e100.net [172.217.23.196]

Trace complete.

答え1

あなたの質問は、厳密には関連がない TraceRT と DNS に関連しているように思われるので、これに回答します。

Tracert は、コンピュータのネームサーバー設定に関係なく動作します。唯一問題となるのは、Google.com の IP アドレス (170.100.15.22 など) への解決です。

TraceRT は、DNS ではなく、コンピュータの ROUTING テーブルに基づいて、ネットワーク上のポイントがたどるルートを追跡します。コマンド ラインで ROUTE /PRINT と入力すると、ルーティング テーブルを表示できます。ほとんどの場合、デフォルト ゲートウェイが最初のホップになります (ルーティング ルールが異なる場合を除く)。-d 引数を使用して、TraceRT に DNS クエリを実行しないように指示できます。

答え2

@BrennenSmith が指摘しているように、この質問に対する答えは、DNS 情報は DNS キャッシュ ファイルに保存されるということです。コマンドの出力に示されているようにnslookup、 はNon-authoritative answerDNS 情報が DNS サーバーからではなく、ローカル DNS キャッシュによって提供されていることを示しています。

これが気になる場合は、 コマンドを使用して DNS キャッシュをクリアできますipconfig /flushdns。また、 コマンドを使用して DNS キャッシュ サービスを停止することもできますnet stop dnscache

関連情報