如何在 Linux 中使用 Dig 命令

Dig 是 Domain Information Groper 的首字母缩写词,可帮助查询 DNS 信息以及解决与之相关的问题。 dig 命令是流行的命令行网络管理工具,它提供有关名称服务器以及我们使用该命令查询的主机地址和各种 DNS 记录的信息。 它更灵活,并且可以替代 nslookup 等旧工具。

为了演示我使用 Ubuntu 20.04 的示例。 本文将帮助您查找各种 DNS 记录,例如 A、AAAA、MX、NS、PTR、TXT、DKIM 和 SPF。 让我们从安装开始。

安装

dig 工具支持各种 Linux 发行版。 以下是在一些流行的 Linux 系统上安装 dig 的命令。

在 Ubuntu/Debian 中安装

$ sudo apt install dnsutils

安装在 Centos/Fedora

$ sudo yum install bind-utils

通过版本检查验证安装

$ dig –v

查询域“A”记录

默认情况下,dig 命令会提供 DNS ‘A’ Record 信息,以下是查询域后的输出。

$ dig google.com

查询域后的输出。

在上面的输出中,dig 命令提供了四个部分的输出。 在第一部分,第一行显示了我们查找的 dig 版本和域名。 第二行显示用于查询域的选项,在当前上下文中默认为 (+cmd)。 最后是标头,它是服务器在查询期间提供的响应。 在标题的标志部分中,qr、rd 和 ra 分别指查询、所需递归和可用递归,它们确定答案格式。

DNS查找的第一部分。

在第二部分中,OPT PSEUDOSECTION 显示使用的高级数据,DNS 扩展系统 (EDNS),UDP 显示 UDP 数据包大小。 问题部分显示了 dig 命令发送的查询数据,其中 IN 指的是 Internet,A 指的是我们需要的地址记录。

DNS查找的第二部分。

第三部分显示所请求查询的答案。 第一列显示 dig 命令查询的服务器名称,第二列显示刷新记录的设定时间范围,第三列显示查询类别,第四列显示命令查询的 DNS 记录,最后列显示与域名链接的 ipv4 IP 地址。

DNS 查找的答案部分。

最后一部分显示查询的元数据或统计信息

DNS 查找的最后一部分。

查询域“AAAA”记录。

为了查询 DNS 记录,我们需要在命令中指定记录类型。 我们可以通过使用 +shorts 来缩短输出,以下是它的工作方式的输出。

$ dig +short google.com AAAA

AAAA 记录输出。

查询仅显示答案的域“NS”记录

在下面的 example,我们使用 +noall 将清除所有不提供任何输出的显示标志,使用 +answer 选项将仅输出答案部分。

$ dig google.com ‘NS’ +noall +answer

ns记录输出

查询多个 DNS 记录。

我们可以使用 dig 命令查询多个 DNS 记录。 在里面 example,我们将使用dig查询A记录和TXT记录。

$ dig google.com +nocomments yahoo.com +noall +answer

查询多条记录。

查询域“MX”记录

MX 是指将电子邮件定向到邮件服务器的邮件交换器。 在下面的命令中,我们使用 +nocomments 选项来排除注释。 要查找,MX 记录在命令中将记录类型指定为 MX。

$ dig google.com MX +nocomments

MX 记录输出。

查询SPF记录

发件人策略框架 (SPF) 用于指示授权主机在邮件交换中向域发送邮件。 在下面的 example,我们可以在下划线部分看到域的 SPF 记录。

$ dig google.com TXT +noall +answer

SPF 记录查询

DKIM 记录查找

为了查询 DomainKeys Identified Mail (DKIM),我们需要选择器。 它提供了对电子邮件消息进行身份验证的数字签名和加密密钥。

您需要找出域的选择器。 如果您查看从 google/gmail 发送的电子邮件的详细信息,您可以找到 google 的选择器。 同样,您可以找到其他域选择器。 为了查询它,我们必须执行如下命令。 在输出中,我们可以查看在其 DNS 记录中发布的 DKIM 签名。

$ dig txt 20161025._domainkey.google.com

DKIM 查找

DNS 反向查找

要查找反向 DNS,我们需要使用 -x 选项以及服务器 IP 地址。 在下面的 example,我们使用谷歌IP地址来查找它的反向DNS。

$ dig -x 142.250.182.238 +short

反向 DNS 查找。

结论

在本文中,我们学习了如何使用 dig 命令提供的选项查询各种 DNS 记录。 我希望这篇文章可以帮助您查询不同的 DNS 记录。