如何列出包括DANE TLSA在内的所有DNS记录



我想列出所有/任何DNS记录,包括DANE TLSA。

dig mailbox.org ANY

我得到了所有的记录,包括DNSSEC等,但没有关于DANE的任何记录。为什么?

dig _443._tcp.mailbox.org. ANY

我拿到了DANE TLSA的记录。

我读过一个问题,有人想查询所有子域如何列出所有DNS记录?我知道这只有在区域转移的情况下才有可能。

但是"_443._tcp."不是一个真正的子域,是吗?我以为这只是一个SRV记录。那么,我如何查询包括DANE TLSA在内的任何内容呢?

命令dig mailbox.org ANY请求名称为mailbox.org.的所有记录。

命令dig _443._tcp.mailbox.org. ANY要求所有具有名称_443._tcp.mailbox.org.的记录。

mailbox.org._443._tcp.mailbox.org.的名称不同。

询问其中一个的所有记录不会显示另一个的任何记录。如果有帮助的话,您可以将DNS中的(完全限定的)名称视为数据库中的主键(因为实际上正是这样)。如果您向数据库请求密钥FOO的数据,它不会为您提供密钥FOOBAR的任何数据(除非它严重损坏)没错同样的事情也发生在这里。你要求一件事,却得不到另一件不同的事的答案。

您可以在RFC 6698的第3节中找到答案:

TLSA资源记录存储在带前缀的DNS域名中。前缀以以下方式准备:

  1. 假定存在基于TLS的服务的端口号的十进制表示以下划线字符("_")开头,成为准备好的域名中最左边的标签。这个数字没有前导零
  2. 假定存在基于TLS的服务的传输的协议名称前面加了一个下划线字符("_"),成为准备好的域名中最左边的第二个标签。为该协议定义的传输名称是";tcp"udp";,以及";sctp">
  3. 将基本域名附加到步骤2的结果以完成准备好的域名。基本域名是TLS服务器的完全限定DNS域名[RFC1035],附加限制是每个标签必须符合[RFC0952]的规则。后一个限制意味着,如果查询是针对国际化域名的,则必须使用[RFC5890]中定义的A-标签形式

基本上因为你可以有不同的";基于TLS的服务";(例如DTLS),并且该数据不包括在TLSA记录集中,则存在命名约定以找到所需协议/端口组合的正确信息。

相关内容

  • 没有找到相关文章

最新更新