【Linux】一步一步学Linux——dig命令(160)

00. 目录

01. 命令概述

dig命令是常用的域名查询工具,可以用来测试域名系统工作是否正常。

dig命令的全称是“domain information groper”,它是一个用来灵活查询DNS的工具,它会打印出DNS域名服务器的回应,dig命令主要用来从DNS域名服务器查询主机地址信息。

dig命令与nslookup命令功能基本相同,但是dig命令灵活性好、易用、输出清晰。

02. 命令格式

用法:dig [选项] [参数]

03. 常用选项

@	指定进行域名解析的域名服务器
-b	使用指定的本机ip地址向域名服务器发送域名查询请求
-f	指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息
-p	指定域名服务器所使用端口号
-t	指定要查询的DNS数据类型(默认为A)
-x	执行逆向域名查询
-4	使用ipv4(默认)
-6	使用ipv6
-h	显示命令帮助信息
标志
-b address 配置所要询问地址的源 IP 地址。这必须是主机网络接口上的某一合法的地址。
-c class 缺省查询类(IN for internet)由选项 -c 重设。class 能够是任何合法类,比如查询 Hesiod 记录的 HS 类或查询 CHAOSNET 记录的 CH 类。
-f filename 使 dig 在批处理模式下运行,通过从文档 filename 读取一系列搜索请求加以处理。文档包含许多查询;每行一个。文档中的每一项都应该以和使用命令行接口对 dig 的查询相同的方法来组织。
-h 当使用选项 -h 时,显示一个简短的命令行参数和选项摘要。
-k filename 要签署由 dig 发送的 DNS 查询连同对他们使用事务签名(TSIG)的响应,用选项 -k 指定 TSIG 密钥文档。
-n 缺省情况下,使用 IP6.ARPA 域和 RFC2874 定义的二进制标号搜索 IPv6 地址。为了使用更早的、使用 IP6.INT 域和 nibble 标签的 RFC1886 方法,指定选项 -n(nibble)。
-p port# 假如需要查询一个非标准的端口号,则使用选项 -p。port# 是 dig 将发送其查询的端口号,而不是标准的 DNS 端口号 53。该选项可用于测试已在非标准端口号上配置成侦听查询的域名服务器。
-t type 配置查询类型为 type。能够是 BIND9 支持的任意有效查询类型。缺省查询类型是 A,除非提供 -x 选项来指示一个逆向查询。通过指定 AXFR 的 type 能够请求一个区域传输。当需要增量区域传输(IXFR)时,type 配置为 ixfr=N。增量区域传输将包含自从区域的 SOA 记录中的序列号改为 N 之后对区域所做的更改。
-x addr 逆向查询(将地址映射到名称)能够通过 -x 选项加以简化。addr 是个以小数点为界的 IPv4 地址或冒号为界的 IPv6 地址。当使用这个选项时,无需提供 name、class 和 type 参数。dig 自动运行类似 11.12.13.10.in-addr.arpa 的域名查询,并分别配置查询类型和类为 PTR 和 IN。
-y name:key 您能够通过命令行上的 -y 选项指定 TSIG 密钥;name 是 TSIG 密码的名称,key 是实际的密码。密码是 64 位加密字符串,通常由 dnssec-keygen(8)生成。当在多用户系统上使用选项 -y 时应该谨慎,因为密码在 ps(1)的输出或 shell 的历史文档中可能是可见的。当同时使用 dig 和 TSCG 认证时,被查询的名称服务器需要知道密码和解码规则。在 BIND 中,通过提供正确的密码和 named.conf 中的服务器声明实现。

参数
global-queryopt... 全局查询选项(请参阅多个查询)。
查询 查询选项(请参阅查询选项)。

查询选项
dig 提供查询选项号,他影响搜索方式和结果显示。一些在查询请求报头配置或复位标志位,一部分决定显示哪些回复信息,其他的确定超时和重试战略。每个查询选项 被带前缀(+)的关键字标识。一些关键字配置或复位一个选项。通常前缀是求反关键字含义的字符串 no。其他关键字分配各选项的值,比如超时时间间隔。他们的格式形如 +keyword=value。查询选项是:

+[no]tcp
    查询域名服务器时使用 [不使用] TCP。缺省行为是使用 UDP,除非是 AXFR 或 IXFR 请求,才使用 TCP 连接。
+[no]vc
    查询名称服务器时使用 [不使用] TCP。+[no]tcp 的备用语法提供了向下兼容。 vc 代表虚电路。
+[no]ignore
    忽略 UDP 响应的中断,而不是用 TCP 重试。缺省情况运行 TCP 重试。
+domain=somename
    设定包含单个域 somename 的搜索列表,似乎被 /etc/resolv.conf 中的域伪指令指定,并且启用搜索列表处理,似乎给定了 +search 选项。
+[no]search
    使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(假如有的话)定义的搜索列表。缺省情况不使用搜索列表。
+[no]defname
    不建议看作 +[no]search 的同义词。
+[no]aaonly
    该选项不做任何事。他用来提供对配置成未实现解析器标志的 dig 的旧版本的兼容性。
+[no]adflag
    在查询中配置 [不配置] AD(真实数据)位。现在 AD 位只在响应中有标准含义,而查询中没有,但是出于完整性考虑在查询中这种性能能够配置。
+[no]cdflag
    在查询中配置 [不配置] CD(检查禁用)位。他请求服务器不运行响应信息的 DNSSEC 合法性。
+[no]recursive
    转换查询中的 RD(需要递归)位配置。在缺省情况下配置该位,也就是说 dig 正常情形下发送递归查询。当使用查询选项 +nssearch 或 +trace 时,递归自动禁用。
+[no]nssearch
    这个选项被配置时,dig 试图寻找包含待搜名称的网段的权威域名服务器,并显示网段中每台域名服务器的 SOA 记录。
+[no]trace
    转换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。他将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
+[no]cmd
    设定在输出中显示指出 dig 版本及其所用的查询选项的初始注释。缺省情况下显示注释。
+[no]short
    提供简要答复。缺省值是以冗长格式显示答复信息。
+[no]identify
    当启用 +short 选项时,显示 [或不显示] 提供给答的 IP 地址和端口号。假如请求简短格式应答,缺省情况不显示提供给答的服务器的源地址和端口号。
+[no]comments
    转换输出中的注释行显示。缺省值是显示注释。
+[no]stats
    该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
+[no]qr
    显示 [不显示] 发送的查询请求。缺省不显示。
+[no]question
    当返回应答时,显示 [不显示] 查询请求的问题部分。缺省作为注释显示问题部分。
+[no]answer
    显示 [不显示] 应答的回答部分。缺省显示。
+[no]authority
    显示 [不显示] 应答的权限部分。缺省显示。
+[no]additional
    显示 [不显示] 应答的附加部分。缺省显示。
+[no]all
    配置或清除任何显示标志。
+time=T
    为查询配置超时时间为 T 秒。缺省是5秒。假如将 T 配置为小于1的数,则以1秒作为查询超时时间。
+tries=A
    配置向服务器发送 UDP 查询请求的重试次数为 A,代替缺省的 3 次。假如把 A 小于或等于 0,则采用 1 为重试次数。
+ndots=D
    出于完全考虑,配置必须出现在名称 D 的点数。缺省值是使用在 /etc/resolv.conf 中的 ndots 语句定义的,或是 1,假如没有 ndots 语句的话。带更少点数的名称被解释为相对名称,并通过搜索列表中的域或文档 /etc/resolv.conf 中的域伪指令进行搜索。
+bufsize=B
    配置使用 EDNS0 的 UDP 消息缓冲区大小为 B 字节。缓冲区的最大值和最小值分别为 65535 和 0。超出这个范围的值自动舍入到最近的有效值。
+[no]multiline
    以周详的多行格式显示类似 SOA 的记录,并附带可读注释。缺省值是每单个行上显示一条记录,以便于电脑解析 dig 的输出。

多条查询
    dig 的 BIND9 支持在命令行上指定多个查询(支持 -f 批处理文档选项的附加功能)。每条查询能够使用自己的标志位、选项和查询选项。
    在这种情况下,在上面描述的命令行语法中,每条查询自变量代表一个个别查询。每一条由任意标准选项和标志、待查询名称、可选查询类型和类连同任何适用于该查询的查询选项。
    也能够使用对任何查询均有效的查询选项全局集合。全局查询选项必须位于命令行上第一个名称、类、类型、选项、标志和查询选项的元组之前。任何全局查询选项(除了 +[no]cmd 选项)能够被下面的查询特别选项重设。例如:
    dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr显示 dig 如何从命令行出发进行三个查询:一个针对 www.isc.org的任意查询、一个 127.0.0.1 的逆向查询,连同一个 isc.org 的 NS 记录查询。应用了 +qr 的全局查询选项,以便 dig 显示进行每条查询的初始查询。最后那个查询有一个本地查询选项 +noqr,表示 dig 在搜索 isc.org 的 NS 记录时不显示初始查询。

04. 参考示例

4.1 查询对应域名的ip

[deng@localhost ~]$ dig www.itcast.cn

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> www.itcast.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50614
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.itcast.cn.                 IN      A

;; ANSWER SECTION:
www.itcast.cn.          600     IN      CNAME   www.itcast.cn.w.kunlungr.com.
www.itcast.cn.w.kunlungr.com. 60 IN     A       183.232.151.215

;; Query time: 108 msec
;; SERVER: 119.29.29.29#53(119.29.29.29)
;; WHEN: 三 8月 21 16:41:48 CST 2019
;; MSG SIZE  rcvd: 100

[deng@localhost ~]$ 

4.2 对目标ip进行反向解析查询

[deng@localhost ~]$ dig -x 183.232.231.172

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> -x 183.232.231.172
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 64753
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

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

;; Query time: 91 msec
;; SERVER: 119.29.29.29#53(119.29.29.29)
;; WHEN: 三 8月 21 16:44:47 CST 2019
;; MSG SIZE  rcvd: 57

[deng@localhost ~]$ 

4.3 查询目标域名的MX记录

[deng@localhost ~]$ dig -t MX www.itcast.cn

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> -t MX www.itcast.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18337
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.itcast.cn.                 IN      MX

;; ANSWER SECTION:
www.itcast.cn.          600     IN      CNAME   www.itcast.cn.w.kunlungr.com.

;; Query time: 58 msec
;; SERVER: 119.29.29.29#53(119.29.29.29)
;; WHEN: 三 8月 21 16:45:41 CST 2019
;; MSG SIZE  rcvd: 84

[deng@localhost ~]$ 

4.4 查询目标域名的A记录

[deng@localhost ~]$ dig A www.baidu.com

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> A www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31359
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
www.baidu.com.          1121    IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       221     IN      A       183.232.231.172
www.a.shifen.com.       221     IN      A       183.232.231.174

;; Query time: 12 msec
;; SERVER: 119.29.29.29#53(119.29.29.29)
;; WHEN: 三 8月 21 16:47:52 CST 2019
;; MSG SIZE  rcvd: 101

[deng@localhost ~]$ 

4.5 查找itcast权威DNS

[deng@localhost ~]$ dig www.itcast.cn ANY +noall +answer
;; Question section mismatch: got paypal.com/ANY/IN

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> www.itcast.cn ANY +noall +answer
;; global options: +cmd
www.itcast.cn.          588     IN      CNAME   www.itcast.cn.w.kunlungr.com.
[deng@localhost ~]$ 

+noall表示隐藏所有内容

+answer 表示显示响应内容

4.6 快速响应时,+short

[deng@localhost ~]$ dig www.itcast.cn +short
www.itcast.cn.w.kunlungr.com.
183.232.151.215
[deng@localhost ~]$ 

4.7 查询指定域名的AAAA记录

在现在这种IPv4和IPV6混用的情况下,你也可以使用AAAA的选项查询主机的IPv6 AAAA记录

[deng@localhost ~]$ dig www.itcast.cn AAAA +short
www.itcast.cn.w.kunlungr.com.
[deng@localhost ~]$ 

4.8 查询一个不同的命名服务器

[deng@localhost ~]$ dig @ns1.google.com www.google.com

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> @ns1.google.com www.google.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19679
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.google.com.                        IN      A

;; ANSWER SECTION:
www.google.com.         80      IN      A       173.252.100.32

;; Query time: 7 msec
;; SERVER: 216.239.32.10#53(216.239.32.10)
;; WHEN: 三 8月 21 16:54:31 CST 2019
;; MSG SIZE  rcvd: 48

[deng@localhost ~]$ 

4.9 跟踪dig查询的路径

[deng@localhost ~]$ dig www.itcast.cn +trace

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> www.itcast.cn +trace
;; global options: +cmd
.                       310323  IN      NS      j.root-servers.net.
.                       310323  IN      NS      k.root-servers.net.
.                       310323  IN      NS      l.root-servers.net.
.                       310323  IN      NS      m.root-servers.net.
.                       310323  IN      NS      b.root-servers.net.
.                       310323  IN      NS      c.root-servers.net.
.                       310323  IN      NS      d.root-servers.net.
.                       310323  IN      NS      e.root-servers.net.
.                       310323  IN      NS      f.root-servers.net.
.                       310323  IN      NS      g.root-servers.net.
.                       310323  IN      NS      h.root-servers.net.
.                       310323  IN      NS      a.root-servers.net.
.                       310323  IN      NS      i.root-servers.net.
;; Received 239 bytes from 119.29.29.29#53(119.29.29.29) in 174 ms

4.10 获取SOA记录

[deng@localhost ~]$ dig baidu.com +nssearch
SOA dns.baidu.com. sa.baidu.com. 2012141486 300 300 2592000 7200 from server 180.76.76.92 in 10 ms.
SOA dns.baidu.com. sa.baidu.com. 2012141486 300 300 2592000 7200 from server 14.215.178.80 in 15 ms.
SOA dns.baidu.com. sa.baidu.com. 2012141486 300 300 2592000 7200 from server 220.181.33.31 in 42 ms.
SOA dns.baidu.com. sa.baidu.com. 2012141486 300 300 2592000 7200 from server 112.80.248.64 in 44 ms.
SOA dns.baidu.com. sa.baidu.com. 2012141486 300 300 2592000 7200 from server 202.108.22.220 in 52 ms.
[deng@localhost ~]$ 

4.11 解释TTL数值

[deng@localhost ~]$ dig +nocmd gmail.com MX +noall +answer
gmail.com.              1199    IN      MX      40 alt4.gmail-smtp-in.l.google.com.
gmail.com.              1199    IN      MX      10 alt1.gmail-smtp-in.l.google.com.
gmail.com.              1199    IN      MX      20 alt2.gmail-smtp-in.l.google.com.
gmail.com.              1199    IN      MX      30 alt3.gmail-smtp-in.l.google.com.
gmail.com.              1199    IN      MX      5 gmail-smtp-in.l.google.com.
[deng@localhost ~]$ 

4.12 综合查询

使用@指定服务器 使用-p指定非标准端口 使用-t来指定查询类型

[deng@localhost ~]$ dig www.itcast.cn @183.232.151.215 -p 53 -t MX

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> www.itcast.cn @183.232.151.215 -p 53 -t MX
;; global options: +cmd
;; connection timed out; no servers could be reached
[deng@localhost ~]$ 

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值