DNS 不只是在“查一个 IP”,而是在缓存、委派与信任之间完成一次分布式协作。
在地址栏输入一个域名后,屏幕几乎立刻有了回应。真正发生的事情却横跨了浏览器、操作系统、局域网、递归解析器与多个权威节点。把这条路径画出来,是理解 DNS 安全问题最直接的起点。
01先把问题变成可观察的
实验的关键不是立刻打开 Wireshark,而是先清楚自己想验证什么:缓存是否命中、请求发给了谁、使用 UDP 还是 TCP、响应中的 TTL 如何变化。只有问题足够具体,数据包才不会变成噪声。
# Windows
ipconfig /flushdns
nslookup example.com
# Linux / macOS
dig example.com
dig +trace example.com02四个值得标记的边界
- 应用与系统:浏览器自己的缓存可能让系统解析器根本收不到请求。
- 主机与局域网:DNS 服务器通常由 DHCP 下发,第一跳已经体现了网络的信任配置。
- 递归与权威:递归解析器替客户端完成委派链路,并把结果缓存起来。
- 明文与加密:传统 DNS 可以被链路观察;DoH / DoT 改变了可见性,却没有消灭终点信任。
03从路径回到安全问题
缓存投毒、恶意 DNS、子域接管和错误的 DNSSEC 配置看似是不同问题,背后都与“谁有权为这个名字给出答案”有关。理解正常链路,才能在异常出现时知道哪一层的假设失效了。