查找 DKIM 和 DMARC 记录?

Evi*_*ius 38 domain-name-system dkim dmarc

是否有使用dig或查找域的 DKIM 和 DMARC 记录的方法nslookup

我尝试执行以下操作:

dig somedomain.org any
Run Code Online (Sandbox Code Playgroud)

返回许多记录,但不返回已知的 DKIM 和 DMARC 文本记录。

nslookup -type=txt somedomain.org
Run Code Online (Sandbox Code Playgroud)

返回除 DKIM 和 DMARC 记录之外的所有已知文本记录。

gpa*_*ent 55

要查询 DMARC 的 TXT 记录,您可以使用:

dig TXT _dmarc.example.org
Run Code Online (Sandbox Code Playgroud)

要查询 DKIM 的特定记录,您需要知道选择器前缀。您可以s在电子邮件的 DKIM 签名的值中找到它。

例如:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.org;
s=google; t=1615461277;
[…]
Run Code Online (Sandbox Code Playgroud)

然后,您可以将其查询为 TXT:

dig TXT google._domainkey.example.org
Run Code Online (Sandbox Code Playgroud)

  • 值得一提的是,在 DKIM-Signature 标头中,选择器名称位于 s= 值中。 (14认同)

mpa*_*vey 10

对于 DKIM 记录,如果您收到了来自该域的 DKIM 签名电子邮件,请查看 DKIM 签名标题行。

规范

所有 DKIM 密钥都存储在名为 _domainkey 的子域中。给定一个带有 example.com 的“d=”标签和 foo.bar 的“s=”标签的 DKIM 签名字段,DNS 查询将针对 foo.bar._domainkey.example.com。

所以在这个例子中,你可以运行:

dig TXT foo.bar._domainkey.example.com
Run Code Online (Sandbox Code Playgroud)

感谢andol,他的评论让我找到了这个解决方案。


Tal*_*ifa 6

您应该使用+short和 dig 来仅获取 DMARC 记录。

dig +short TXT _dmarc.domain.com
Run Code Online (Sandbox Code Playgroud)