粘贴样本的并排对比机制
DNS 传播检查器是一款用于对比不同解析器 DNS 输出结果的本地分析工具。用户只需将多个解析器返回的 DNS 结果粘贴至输入框中,即可并排比较记录类型、TTL 和记录值。该工具不向外部发起任何 DNS 查询,其对比范围完全局限于用户手动提供的文本样本。
在进行对比时,工具支持两种标准的 DNS 记录输入格式:
- 标准 dig 答案行:格式为
name TTL IN type value(例如example.com. 300 IN A 192.0.2.1)。 - 紧凑行:格式为
type TTL value(例如A 300 192.0.2.1)。
输入时,文本中的注释和 dig 部分标题将被自动忽略。每个解析器答案的文本长度必须限制在 100,000 个字符以内,且至少需要提供两个解析器的答案才能执行对比。
解析器数据的对比状态分类
完成数据输入并点击“比较答案”后,工具会生成并排比较表格,并针对每条记录的匹配情况标注以下状态:
- 精确匹配:表示该记录在所有参与对比的解析器中,记录类型、TTL 以及记录值完全一致。
- TTL 不同:表示记录类型和记录值完全一致,但各解析器返回的 TTL 数值存在差异。
- 记录值不同:表示记录类型相同,但解析器返回的具体记录值(如 IP 地址或目标域名)不一致。
- 无记录:表示某条在其他解析器中存在的记录类型,在当前解析器的答案中完全缺失。
对比完成后,系统会在结果区域下方显示“比较 ‹resolvers› 解析器示例中的 ‹types› 记录类型。”的汇总信息。
运行规则与异常处理
工具在处理输入数据时遵循严格的格式校验规则,若遇到不符合规范的数据或操作,会直接在界面上抛出相应的错误提示:
- 若未粘贴任何数据即点击“比较答案”,系统将显示错误信息:“粘贴至少两个解析器答案。”。
- 若仅在一个解析器面板中粘贴了内容,系统将提示:“将答案粘贴到至少两个解析器面板中。”。
- 若某个解析器输入框中的文本长度超过 100,000 个字符,系统将拦截并提示:“解析器
‹n›答案异常大。将其控制在 100,000 个字符以内。”。 - 若解析器答案中包含无法解析的行,系统将精确定位并提示:“解析器
‹n›,第‹line›行不是受支持的 DNS 记录。使用名称 TTL IN 类型值,或类型 TTL 值。”。
当需要重新开始分析时,点击“清除”按钮将清空所有解析器输入框中的文本、重置所有对比结果,并将输入焦点自动定位回第一个解析器的输入框中。
缓存机制与 TTL 差异的实际意义
在评估对比结果时,TTL(生存时间)的差异是一个常见现象。当工具提示“TTL 不同”但记录值完全一致时,这通常并不意味着 DNS 区域数据存在配置错误。
递归 DNS 解析器在收到权威名称服务器的响应后,会在本地缓存该记录,并对 TTL 进行实时倒计时。因此,从不同解析器获取的相同记录,其 TTL 往往反映的是它们各自缓存的剩余有效时间(即不同的缓存年龄),而非源头数据不一致。
本地比对与全球传播的局限性
本工具的对比操作完全在用户的浏览器本地进行,粘贴的 DNS 结果只留在浏览器中,BroBroGo 不会上传或保存任何数据。
需要注意的是,此工具仅能证明您所提供的样本之间是否存在差异。由于它不会主动联系权威名称服务器,也无法实时查询外部 DNS,因此本地的匹配结果并不能作为全球已完成传播的绝对证明,亦无法保证特定终端用户在访问时一定会获取到完全相同的结果。
常见问题
我可以粘贴哪些 DNS 结果格式?
粘贴标准 dig 答案行(例如“example.com. 300 IN A 192.0.2.1”)或紧凑行(例如“A 300 192.0.2.1”)。注释和 dig 部分标题将被忽略。
不同的 TTL 是否意味着 DNS 值错误?
不一定。递归解析器对缓存的 TTL 进行倒计时,并可能应用自己的缓存限制。具有不同 TTL 的匹配值通常会显示不同的缓存年龄,而不是不同的区域数据。
这里的匹配是否证明 DNS 已传播到各处?
不。比较仅涵盖您粘贴的答案。其他公共、ISP、公司和设备缓存可能会返回不同的数据,并且此页面不联系权威名称服务器。