在 Windows 的网络设置中,我已将 DNS 设置设为使用地址192.168.2.239
和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)跟踪网络上的点所采用的路由。您可以在命令行中键入 ROUTE /PRINT 来查看路由表。默认网关几乎在每个实例中都是第一跳(除非存在不同的路由规则)。您可以使用 -d 参数指示 TraceRT 不要进行 DNS 查询。
答案2
@BrennenSmith 指出,这个问题的答案是 DNS 信息存储在 DNS 缓存文件中。从命令的输出中可以看出nslookup
,这Non-authoritative answer
表示 DNS 信息由本地 DNS 缓存提供,而不是由 DNS 服务器提供。
如果这让您感到困扰,您可以使用命令清除 DNS 缓存ipconfig /flushdns
。此外,您也可以使用命令停止 DNS 缓存服务net stop dnscache
。