我正在编写一个 DNS 解析器,并且正在构建一个关于何时应该缓存 DNS 记录而不是缓存的电子表格……但它比最初看起来要难(至少对我来说)。
是否有我可以参考的 DNS 缓存综合测试用例?所有的 RFC 似乎都有很多修订,对缓存的要求充其量是不一致的。SOA 记录的重新定义使这进一步复杂化。
不正确缓存的 DNS 记录可能意味着我正在使用无效记录污染缓存。
我能想到的最相关的例子是为 NS、A 或 MX 生成虚假推荐。
- 什么时候应该验证该推荐?
- 该推荐如何验证?
- 我应该再次从根服务器遍历吗?
我正在编写一个 DNS 解析器,并且正在构建一个关于何时应该缓存 DNS 记录而不是缓存的电子表格……但它比最初看起来要难(至少对我来说)。
是否有我可以参考的 DNS 缓存综合测试用例?所有的 RFC 似乎都有很多修订,对缓存的要求充其量是不一致的。SOA 记录的重新定义使这进一步复杂化。
不正确缓存的 DNS 记录可能意味着我正在使用无效记录污染缓存。
我能想到的最相关的例子是为 NS、A 或 MX 生成虚假推荐。
请参阅http://en.wikipedia.org/wiki/DNS_cache_poisoning以及从那里链接的许多条目。
一个简短的回答是,您应该只缓存来自您通常信任相关域的服务器的答案。