# 如何在Linux中使用Dig命令

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/18619.html | 发布：2023-03-20 | 更新：2023-03-20 | 分类：IDC云库

Dig (Domain Information Groper) 是一个Linux 命令行实用程序，它通过查询名称服务器并向您显示结果来执行 DNS 查找。

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 命令查看手册页，找出所有可能的用途和选项。

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
