解析过程详解

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)。

解析路径步骤

  1. 客户端将 DNS 请求发送给 10.0.16.1
  2. 该地址对应服务器上运行了 dns.exe,即 Windows DNS 服务;
  3. 如果该 DNS 服务器启用了转发器,请求会转发给配置的公网 DNS(如 114.114.114.114、8.8.8.8);
  4. 如果未设置转发器,DNS 服务则通过根提示(Root Hints)机制递归查询
  5. 查询结果(如 baidu 的 IP 地址)返回给客户端;
  6. 浏览器使用该 IP 地址访问目标网站。

图示简化流程

[客户端浏览器] → 查询域名
       ↓
[发送给 10.0.16.1(DNS)]
       ↓
[dns.exe]
 ├─ 若配置了转发器 → 外部 DNS(如 114.114.114.114)
 └─ 否则使用根提示 → 根服务器 → 顶级域服务器 → 权威服务器
       ↓
[返回 IP 地址给客户端]
       ↓
[客户端使用 IP 上网]

友情提示:本站所有文章,如无特殊说明或标注,均为何星星原创发布。与此同时,趋于近年来本站的文章内容频繁被他站盗用与机器采集,现已全局禁用网站文字内容操作,了解详情或转载文章请 点此 继续!
分类: 系统运维

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注