执行“dig +trace microsoft.com”时如何从结果中隐藏 dnssec 密钥

问题描述

通常,当我运行 dig 命令时,它会隐藏 dnssec 密钥(rrsig、ds 和 nsec 记录)。

根据 dig 的手册页,您可以使用此选项启用/禁用 dnssec 验证。

+[no]dnssec

但是当与 '+trace' 结合使用时,它似乎不起作用。

我只想要一个“dig +trace”,没有 dnssec 密钥验证在结果中显示的所有长字符串。

结果如下

enter image description here

解决方法

您会发现手册页特别指出在使用 +trace 时启用了 DNSSEC:

           +dnssec is also set when +trace is set to better emulate the default queries from a nameserver.

所以你不能禁用它。您可以通过诸如 awk '{ if ($4 != "RRSIG" && $4 != "DS") { print; } }' 之类的内容传递结果以去除答案中不需要的行。请注意,如果您要查询不存在的域,您可能也希望删除 NSEC 和 NSEC3。

(也可以使用其他工具,例如 grep -e,但要小心删除应在其中显示子字符串的行)

,

也许您误解了手册:+[no]dnssec 表示 no 是可选的,因此您只需添加 +nodnssec 即可获得所需内容。