Linux 中使用 Dig 命令并附 示例

Dig 代表用于收集 DNS 信息的“Domain Information Groper”。 通常,系统或网络管理员使用它来验证 DNS 查找和解决与 DNS 相关的问题。 默认情况下,dig 命令向 /etc/resolv.com 中列出的 DNS 服务器发送查询。 它还允许我们查询特定的 DNS 服务器。

在本教程中,我们将通过实际示例向我们展示如何使用 dig 命令。

先决条件

  • 云平台上的 Linux 服务器
  • 在我们的服务器上配置的 root 密码

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Ubuntu、CentOS 或 Rocky Linux 作为操作系统,至少 2GB RAM。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

apt-get update -y

或者

dnf update -y

第 2 步 – 安装 dig

默认情况下,dig 命令在 Linux 中不可用。

对于 Debian 和 Ubuntu 操作系统,使用以下命令安装 dig 命令:

apt-get install dnsutils -y

对于 CentOS 和 RHEL 操作系统,使用以下命令安装 dig 命令:

yum install bind9-utils -y

安装 dig 命令后,使用以下命令验证 dig 版本:

dig -v

样本输出:

DiG 9.9.5-3ubuntu0.19-Ubuntu

第 3 步 – 基本挖掘命令

运行不带任何选项的 dig 命令将显示目标域的 A 记录。

例如,对域 ubuntu.org 执行 DNS 查找,运行以下命令:

dig ubuntu.com

样本输出:

; <<>> DiG 9.9.5-3ubuntu0.19-Ubuntu <<>> ubuntu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9230
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ubuntu.com.			IN	A

;; ANSWER SECTION:
ubuntu.com.		77	IN	A	91.189.88.181
ubuntu.com.		77	IN	A	91.189.88.180

;; Query time: 263 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Tue Aug 24 08:55:56 IST 2021
;; MSG SIZE  rcvd: 71

在上面的输出中,我们可以在 ANSWER SECTION 中找到主要信息。

第 4 步 – 使用特定 DNS 服务器查询

运行不带任何选项的 dig 命令将使用 /etc/resolv.conf 中指定的 DNS 服务器。 我们还可以使用特定的 DNS 服务器查询域。

运行以下命令以使用 DNS 4.4.4.4 查询 ubuntu.com 域:

dig @8.8.4.4 ubuntu.com

样本输出:

; <<>> DiG 9.9.5-3ubuntu0.19-Ubuntu <<>> @8.8.4.4 ubuntu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25217
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;ubuntu.com.			IN	A

;; ANSWER SECTION:
ubuntu.com.		40	IN	A	91.189.88.181
ubuntu.com.		40	IN	A	91.189.88.180

;; Query time: 130 msec
;; SERVER: 8.8.4.4#53(8.8.4.4)
;; WHEN: Tue Aug 24 09:00:48 IST 2021
;; MSG SIZE  rcvd: 71

第 5 步 – 查询所有 DNS 记录类型

如果要获取所有 DNS 记录的信息,请运行以下命令:

dig @8.8.4.4 ubuntu.com ANY +noall +answer

样本输出:

; <<>> DiG 9.9.5-3ubuntu0.19-Ubuntu <<>> @8.8.4.4 ubuntu.com ANY +noall +answer
; (1 server found)
;; global options: +cmd
ubuntu.com.		3599	IN	SOA	ns1.canonical.com. hostmaster.canonical.com. 2018054375 10800 3600 604800 3600
ubuntu.com.		3599	IN	MX	10 mx.canonical.com.
ubuntu.com.		599	IN	NS	ns1.canonical.com.
ubuntu.com.		599	IN	NS	ns2.canonical.com.
ubuntu.com.		599	IN	NS	ns3.canonical.com.
ubuntu.com.		59	IN	AAAA	2001:67c:1360:8001::2b
ubuntu.com.		59	IN	AAAA	2001:67c:1360:8001::2c
ubuntu.com.		59	IN	A	91.189.88.180
ubuntu.com.		59	IN	A	91.189.88.181

第 6 步 – 仅查询答案部分

我们可以使用选项 +noall 和 +answer 仅显示答案部分。

dig @8.8.4.4 ubuntu.com +noall +answer

样本输出:

; <<>> DiG 9.9.5-3ubuntu0.19-Ubuntu <<>> @8.8.4.4 ubuntu.com +noall +answer
; (1 server found)
;; global options: +cmd
ubuntu.com.		12	IN	A	91.189.88.181
ubuntu.com.		12	IN	A	91.189.88.180

第 7 步 – 查询记录

DNS 中的“一条记录”用于将域名与 IP 地址绑定。 我们可以使用+short 选项查询指定域的记录。

dig ubuntu.com A +short

样本输出:

91.189.88.180
91.189.88.181

第 8 步 – 查询 NS 记录

NS 记录包含一个域名的权威 DNS 服务器列表的信息。 我们可以使用 NS 选项来查询 NS 记录:

dig +nocmd ubuntu.com NS +noall +answer

样本输出:

ubuntu.com.		714	IN	NS	ns2.canonical.com.
ubuntu.com.		714	IN	NS	ns3.canonical.com.
ubuntu.com.		714	IN	NS	ns1.canonical.com.

第 9 步 – 查询 MX 记录

MX 记录是用于指定邮件服务器的邮件交换记录。 我们可以使用 MX 选项来查询 MX 记录:

dig +nocmd ubuntu.com MX +noall +answer

样本输出:

ubuntu.com.		4502	IN	MX	10 mx.canonical.com.

第 10 步 – 查询 TTL 记录

我们可以使用 TTL 选项来查询 TTL 记录:

dig +nocmd ubuntu.com TTL +noall +answer

样本输出:

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50516
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ubuntu.com.			IN	A

;; ANSWER SECTION:
ubuntu.com.		59	IN	A	91.189.88.180
ubuntu.com.		59	IN	A	91.189.88.181

;; Query time: 4 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Tue Aug 24 09:24:32 IST 2021
;; MSG SIZE  rcvd: 71

第 11 步 - 执行反向查找

反向 DNS 查找将显示有关与 IP 地址关联的域和主机名的信息。 我们可以使用 -x 选项后跟 IP 地址来执行反向 DNS 查找:

dig +answer -x 8.8.8.8

样本输出:

; <<>> DiG 9.9.5-3ubuntu0.19-Ubuntu <<>> +answer -x 8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58576
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;8.8.8.8.in-addr.arpa.		IN	PTR

;; ANSWER SECTION:
8.8.8.8.in-addr.arpa.	7200	IN	PTR	dns.google.

;; Query time: 580 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Tue Aug 24 09:27:00 IST 2021
;; MSG SIZE  rcvd: 73

在上面的指南中,我们通过各种示例解释了如何使用 dig 命令查询 DNS 服务器。 现在,我们可以使用各种选项对域执行 DNS 查找。 今天就从 Altantic.Net 在我们的 VPS 上试一试。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论