如何了解某个域名下的所有可用信息

如何了解某个域名下的所有可用信息

如果我跑,dig gmail.com A我会

; <<>> DiG 9.16.1 <<>> gmail.com A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34113
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;gmail.com.         IN  A

;; ANSWER SECTION:
gmail.com.      198 IN  A   216.58.208.101

;; Query time: 16 msec
;; SERVER: 62.179.104.196#53(62.179.104.196)
;; WHEN: Sun Nov 15 11:41:30 CET 2020
;; MSG SIZE  rcvd: 54

如果我跑dig gmail.com MX

; <<>> DiG 9.16.1 <<>> gmail.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2168
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;gmail.com.         IN  MX

;; ANSWER SECTION:
gmail.com.      3600    IN  MX  40 alt4.gmail-smtp-in.l.google.com.
gmail.com.      3600    IN  MX  10 alt1.gmail-smtp-in.l.google.com.
gmail.com.      3600    IN  MX  20 alt2.gmail-smtp-in.l.google.com.
gmail.com.      3600    IN  MX  5 gmail-smtp-in.l.google.com.
gmail.com.      3600    IN  MX  30 alt3.gmail-smtp-in.l.google.com.

;; Query time: 116 msec
;; SERVER: 62.179.104.196#53(62.179.104.196)
;; WHEN: Sun Nov 15 11:41:55 CET 2020
;; MSG SIZE  rcvd: 161

无需反复试验,是否有办法运行一个命令来显示可用的其他记录(除 A 和 MX 记录之外)?

答案1

如果您请求的域名允许“区域转移”,而几乎所有域名都不允许,您可以使用以下命令获取其所有注册表:

dig axfr @your.dnsserver.example

但是,如果您尝试使用某个不属于您的域执行该命令,您将得到如下结果:

$ dig axfr google.com @8.8.8.8

; <<>> DiG 9.10.3-P4-Ubuntu <<>> axfr google.com @8.8.8.8
;; global options: +cmd
; Transfer failed.

从操作安全角度来看,DNS 区域中包含的数据可能很敏感。这是因为服务器主机名等信息可能会成为公共知识,可用于发现有关组织的信息,甚至提供更大的攻击面。这就是禁止区域传输的原因。

您可以在这里查看区域传输是什么:https://en.wikipedia.org/wiki/DNS_zone_transfer

另一方面,有些工具可以为您提供有关域名的有价值的信息,例如:

答案2

那里曾是QTYPE ANY(或*每个RFC 1035,3.2.3),但它正在消失,因为它被替换为最小尺寸的响应RFC 8482。 这第 2 节描述原因:

ANY 查询经常被用来利用 DNS 服务器和解析器使用伪造源地址和 UDP 传输的放大潜力(参见 [RFC5358])。能够对此类查询返回较小的响应使得 DNS 服务器成为不太有吸引力的放大器。

ANY 查询有时用于帮助挖掘仅具有权威性的 DNS 服务器的区域数据,因为它们应该返回特定查询名称的所有 RRset。如果 DNS 运营商希望降低信息泄露的可能性,他们可能会选择不发送较大的 ANY 响应。

一些仅权威的 DNS 服务器实现需要额外的处理才能发送传统的 ANY 响应;避免这种处理开销可能是理想的。

Marek Majkowski 在 Cloudflare 的博客中对此进行了更详细的讨论:RFC8482 - 告别 ANY

 

相关内容