解析过程详解
1. 判断 DNS 请求发送到哪台机器
通过如下命令:
nslookup www.baidu.com
你可以看到:
nslookup www.baidu.com
服务器: dns.hxx.tt
Address: 10.0.16.1
非权威应答:
名称: www.a.shifen.com
Addresses: 240e:e9:6002:1ac:0:ff:b07e:36c5
240e:e9:6002:1fd:0:ff:b0e1:fe69
180.101.51.73
180.101.49.44
Aliases: www.baidu.com
其中关键内容:
服务器: dns.hxx.tt
Address: 10.0.16.1
说明此客户端配置的主 DNS 是 IP 地址为 10.0.16.1
的服务器(即 dns.hxx.tt
),所有 DNS 请求会优先发往该 IP 地址。
2. 判断最终是谁提供了解析结果
继续看:
非权威应答:
名称: www.a.shifen.com
Addresses: ...
Aliases: www.baidu.com
表示这次查询不是 DNS 权威服务器回答的,而是通过 DNS 转发器、缓存、或递归查询获取的结果。也就是说,dns.hxx.tt
并非百度域名的权威服务器,而是通过其他方式获得的结果。
3. 判断哪个服务在处理 DNS 请求
为了进一步确认 10.0.16.1
上运行着什么服务,可以使用:
netstat -ano | findstr :53
输出中找到监听 UDP 或 TCP 的 53 端口的进程对应的 PID。
然后再执行:
tasklist /FI "PID eq <PID>"
示例结果可能是:
映像名称 PID 会话名 会话 # 内存使用
========================= ======== ================ =========== ============
dns.exe 3732 Services 0 689,292 K
说明此台服务器运行了 Windows DNS Server 服务(即 dns.exe
)。
解析路径步骤
- 客户端将 DNS 请求发送给
10.0.16.1
; - 该地址对应服务器上运行了
dns.exe
,即 Windows DNS 服务; - 如果该 DNS 服务器启用了转发器,请求会转发给配置的公网 DNS(如 114.114.114.114、8.8.8.8);
- 如果未设置转发器,DNS 服务则通过根提示(Root Hints)机制递归查询;
- 查询结果(如 baidu 的 IP 地址)返回给客户端;
- 浏览器使用该 IP 地址访问目标网站。
图示简化流程
[客户端浏览器] → 查询域名
↓
[发送给 10.0.16.1(DNS)]
↓
[dns.exe]
├─ 若配置了转发器 → 外部 DNS(如 114.114.114.114)
└─ 否则使用根提示 → 根服务器 → 顶级域服务器 → 权威服务器
↓
[返回 IP 地址给客户端]
↓
[客户端使用 IP 上网]
友情提示:本站所有文章,如无特殊说明或标注,均为何星星原创发布。与此同时,趋于近年来本站的文章内容频繁被他站盗用与机器采集,现已全局禁用网站文字内容操作,了解详情或转载文章请 点此 继续!
0 条评论