【问题标题】:How does dig any work?挖掘任何工作如何?
【发布时间】:2018-05-15 09:19:38
【问题描述】:

我的一般问题是“挖掘任何”如何工作?

特别是,我想将使用 dig 与简单发送多个等效请求(a、txt、mx、...)进行比较。

是否发送单个 DNS 查询?使用dig更有效率吗?

是否保证与发送多个等效请求(a、txt、mx、...)获得相同的结果?

如果它们不等效,我应该什么时候使用每种方法?

最后,如果有人有 dig 的 Python(首选 Python3)实现(不是通过使用子进程等运行它) - 我很高兴得到参考。

【问题讨论】:

    标签: dns resolver dig dnspython


    【解决方案1】:

    ANY 查询是一个非常普通的查询,它请求编号为 255 的记录类型,出于相当明显的原因,通常称为 ANY 类型。不管是哪个工具发送查询(程序dig,或您编写的代码,或其他东西),反正都是同一个查询。

    不能保证ANY 查询会与针对许多不同类型的多个查询给出相同的结果,这完全取决于生成响应的服务器。

    除了调试和诊断之外,几乎没有理由发送ANY 查询。

    有大量用于 Python 的 DNS 库。我相信其他人可以告诉你现在哪一个是首选。

    【讨论】:

    • 能否详细说明结果不一样的原因和案例?
    • 例如,任何时候都有您没有想到的类型的记录。或者当名称服务器根据查询以编程方式生成响应时。或者,如果名称服务器尝试优化 ANY 响应的大小。对CNAMEDNAME 和/或 DNSSEC 的额外处理也会产生差异。
    • 我最近正在处理一个站点,该站点在权威名称服务器上更改了 IP,但 TTL 尚未过期。在 Google DNS 上进行“挖掘”将返回所有记录的完整列表,包括新的 A 记录。但是,仅 A 记录的普通“挖掘”就会返回旧 IP,它还有时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 1970-01-01
    • 2016-07-26
    • 2012-11-19
    • 2011-05-13
    • 1970-01-01
    相关资源
    最近更新 更多