如何在Linux中使用Dig命令

Dig (Domain Information Groper) 是一个Linux 命令行实用程序,它通过查询名称服务器并向您显示结果来执行 DNS 查找。在本教程中,您将找到在 Linux 操作系统中应该知道的命令的所有基本用法。默认情况下,dig 将DNS查询发送到解析器 (/etc/resolv.conf) 中列出的名称服务器,除非它被要求查询特定的名称服务器。

在 Linux 上安装 Dig

Dig 是 DNS 实用程序包的一部分,通常与 BIND 名称服务器一起安装。您还可以通过SSH访问您的 VPS并在命令行中使用以下命令来单独安装包含 dig 的实用程序包:

Debian 和 Ubuntu:

apt-get 安装 dnsutils

中央操作系统 7:

yum 安装 bind-utils

安装后,检查版本,以确保安装成功完成:

挖-v

挖掘语法

在最简单的形式中,dig 实用程序的语法如下所示:

挖掘 [服务器] [名称] [类型]

[server] – 要查询的名称服务器的 IP 地址或主机名。

如果服务器参数是主机名,那么 dig 将在继续查询名称服务器之前解析主机名。

它是可选的,如果您不提供服务器参数,则 dig 使用/etc/resolv.conf中列出的名称服务器。

[name] – 要查找的资源记录的名称。

[type] – dig 请求的查询类型。例如,它可以是 A 记录、MX 记录、SOA 记录或任何其他类型。如果未指定类型参数,默认情况下 dig 会查找 A 记录。

如何使用挖掘命令

让我们进入命令的基本用法:

挖一个域名

要对域名执行 DNS 查找,只需将名称与 dig 命令一起传递:

挖掘 hostinger.com

默认情况下,当没有指定其他选项时,dig 命令将显示 A 记录。输出还将包含其他信息,如已安装的挖掘版本、有关答案的技术细节、有关查询的统计信息、问题部分以及其他一些信息。

简短的答案

上面的 dig 命令在不同的部分包含很多有用的信息,但有时您可能只需要查询的结果。您可以使用 +short 选项来做到这一点,它将仅显示域名的 IP 地址(A 记录):

挖掘 hostinger.com +short

详细解答

有时您想详细查看答案部分。因此,对于答案部分的详细信息,您可以使用+noall选项停止显示所有部分,并仅通过使用dig 命令的+answer选项查询答案部分。

挖掘 hostinger.com +noall +answer

指定名称服务器

默认情况下,dig 命令将查询/etc/resolv.conf中列出的名称服务器来为您执行 DNS 查找。您可以通过使用 @符号后跟名称服务器的主机名或 IP 地址来更改此默认行为。

以下 dig 命令使用@8.8.8.8选项将 DNS 查询发送到 Google 的名称服务器 (8.8.8.8)。

挖 @8.8.8.8 hostinger.com

查询所有 DNS 记录类型

要查询与域关联的所有可用 DNS 记录类型,请使用ANY选项。ANY选项将在输出中包含所有可用的记录类型:

挖掘 hostinger.com 任何

搜索记录类型

如果要查找特定记录,只需将类型添加到命令末尾即可。

例如,要查询仅获取与域关联的邮件交换-MX-应答部分,您可以使用以下 dig 命令:

挖掘 hostinger.in MX

同样,要查看与域关联的其他记录,请在 dig 命令末尾指定记录类型:

dig hostinger.com txt(查询TXT记录)
dig hostinger.com cname(查询CNAME记录)
dig hostinger.com ns(查询NS记录)
dig hostinger.com A(查询A记录)

跟踪 DNS 路径

Dig 允许使用+trace选项跟踪 DNS 查找路径。该选项进行迭代查询以解析名称查找。它将查询从根开始的名称服务器,然后沿途使用引用之后的迭代查询向下遍历名称空间树:

挖掘 hostinger.com +trace

反向 DNS 查询

反向 DNS 查找可让您查找与 IP 地址关联的域和主机名。要使用 dig 命令执行反向 DNS 查找,请使用 -x选项,后跟您选择的 IP 地址。在以下示例中,dig 将对与 google.com 关联的 IP 地址执行反向 DNS 查找:

挖 +answer -x 172.217.166.46

请记住,如果没有为 IP 地址定义 PTR 记录,则无法进行反向 DNS 查找,因为 PTR 记录指向域或主机名。

批量查询

使用 dig 实用程序,您可以对域列表执行 DNS 查找,而不是对每个域单独执行相同的操作。为此,您需要为 dig 提供一个域名列表——文件中每行一个。文件准备好后,使用 -f 选项指定文件名:

vi 域名.txt
托管商.com
谷歌.com
ubuntu.com
dig -f domain_name.txt +short

控制挖掘行为

通过在将随命令自动运行的~/.digrc文件中设置选项,可以永久自定义命令的输出。

假设您只想查看答案部分——在~/.digrc文件中指定所需的选项,这样您就不必在执行查询时键入它们。

echo "+noall +answer" > ~/.digrc

现在执行域的 DNS 服务器查找。输出确认 dig 使用~/.digrc文件中设置的选项运行。

结论

这就是开始在 Linux 中使用 dig 所需的所有基础知识。现在您可以使用各种选项对域执行 DNS 查找。想了解更多?使用 man dig 命令查看手册页,找出所有可能的用途和选项。

文章链接: https://www.mfisp.com/18619.html

文章标题:如何在Linux中使用Dig命令

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
IDC云库

什么是拒绝服务攻击?

2023-3-18 16:30:28

IDC云库

什么是Linux watch命令,如何使用它+示例

2023-3-20 9:47:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

梦飞科技 - 最新云主机促销服务器租用优惠