為什麼即使我更改了 DNS 設定以使用錯誤的名稱伺服器,tracert 仍能正常運作?

為什麼即使我更改了 DNS 設定以使用錯誤的名稱伺服器,tracert 仍能正常運作?

在 Windows 的網路設定中,我已將 DNS 設定設定為使用位址192.168.2.239192.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 來追蹤您所在點在網路上所採取的路線。您可以透過在命令列中鍵入 ROUTE /PRINT 來查看路由表。預設網關將是幾乎每個實例中的第一跳(除非有不同的路由規則)。您可以使用 -d 參數指示 TraceRT 不要進行 DNS 查詢。

答案2

正如 @BrennenSmith 所指出的,這個問題的答案是 DNS 資訊儲存在 DNS 快取檔案中。從命令的輸出可以看出nslookupNon-authoritative answer表示 DNS 資訊是由本機 DNS 快取提供,而不是由 DNS 伺服器提供。

如果這讓您煩惱,您可以使用命令清除 DNS 快取ipconfig /flushdns。另外,您可以使用命令停止 DNS 快取服務net stop dnscache

相關內容