搜索域名及其子域名的所有DNS TXT记录

15

是否有一种方法可以检索关于域名(包括子域名)DNS记录的全部(TXT)条目?

我的目标是验证我的域名www.rosposhop.com的配置,其中我为某些子域正确设置了多个SPF和DKIM记录。

rosposhop.com
md.rosposhop.com (SPF+DKIM)
mg.rosposhop.com (SPF+DKIM)

所以我总共有5个TXT项目。

现在,如果我使用dighost -a查询,我只得到第一个TXT项目,而我原本期望获得完整的TXT项目列表。

我错在哪里了?

$ dig  rosposhop.com TXT


; <<>> DiG 9.9.5-3ubuntu0.1-Ubuntu <<>> rosposhop.com TXT
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14774
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;rosposhop.com.                 IN      TXT

;; ANSWER SECTION:
rosposhop.com.          2362    IN      TXT     "google-site-verification=udcP944OqB1PldDn1ML"

;; Query time: 65 msec
;; SERVER: ***********
;; WHEN: Sat Dec 27 09:10:43 CET 2014
;; MSG SIZE  rcvd: 123

顺便说一下,如果我准确地请求一个子域名,现在我又只得到了第一个条目:

$ dig  md.rosposhop.com TXT

返回:

;; ANSWER SECTION:
md.rosposhop.com.       2223    IN      TXT     "v=spf1 include:spf.man*******"

我还是不了解DKIM信息。这是一个安全/权限话题吗?对于我的DNS无知,我感到抱歉。

谢谢 乔治

3个回答

7
一次性查询所有信息的方式是错误的,因为它假设单个区域的数据是静态的并且由单个名称服务器管理。DNS对区域数据没有这样的限制。SPF和DKIM(如果您想混合使用DMARC)在特定域上使用TXT记录。没有必要获取域名及其子域的所有TXT记录以查看相关配置。如果您想获取SPF和DKIM信息,请查询适当的域名。假设您正在对md.rosposhop.commg.rosposhop.com上的Return-Path域和DKIM签名进行操作,则应该关注以下TXT记录:1.md.rosposhop.com - SPF;2.mg.rosposhop.com - SPF;3.(selector)._domainkey.md.rosposhop.com - DKIM;4.(selector)._domainkey.mg.rosposhop.com - DKIM;其中(选择器)是您用于该DKIM记录的选择器。您可能有一个以上的选择器用于md.rosposhop.commg.rosposhop.com每个域。其他域上的TXT记录不相关。

谢谢Peter。我已经验证了,你是完全正确的。我选择了你的答案。 - Giorgio Robino
是的,但如果选择器未知呢? 我认为这就是问题的意图,了解哪些选择器在使用,然后获取它们并对每个进行查询。 - TheArchitecta

2

要获取一个域的所有记录,您需要使用 AXFR 请求来执行区域传输。这必须发送到该域的授权服务器之一:

dig rosposhop.com axfr @ns52.domaincontrol.com

然而,出于安全原因,大多数DNS服务器限制区域传输。通常,只有主服务器允许区域传输,并且仅限于已知的从服务器。 domaincontrol.com 服务器不允许区域传输,因此如果您尝试这样做,将会收到错误提示。


1
使用AXFR实际上我得到了以下信息:;; 与208.109.255.26#53的通信错误: 文件结束 - Giorgio Robino
我知道。我说过他们不允许区域传输。 - Barmar

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接