Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker DevOps


Linux 使用 dig 查询 DNS

Linux DNS 大约 4839 字

关于 dig

dig是一款DNS查询工具。

示例

dig www.baidu.com

从指定的DNS服务器上查询

dig @114.114.114.114 www.baidu.com

输出可分为五个部分

root@local:~# dig @114.114.114.114 www.baidu.com

; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> @114.114.114.114 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26230
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
www.baidu.com.          92      IN      A       36.152.44.95
www.baidu.com.          92      IN      A       36.152.44.96

;; Query time: 57 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Sun Jun 05 21:17:23 CST 2022
;; MSG SIZE  rcvd: 74

第一部分

; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> @114.114.114.114 www.baidu.com
; (1 server found)
;; global options: +cmd

第二部分

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

第三部分

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

第四部分

;; ANSWER SECTION:
www.baidu.com.          92      IN      A       36.152.44.95
www.baidu.com.          92      IN      A       36.152.44.96

第五部分

;; Query time: 57 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Sun Jun 05 21:17:23 CST 2022
;; MSG SIZE  rcvd: 74

含义

默认情况下dig命令查询A记录。

不指定DNS服务器,dig会依次使用/etc/resolv.conf里的地址作为DNS服务器。

  • 第一部分:显示dig命令的版本和输入的参数。
  • 第二部分:显示服务返回的一些详情,重要的是statusNOERROR说明本次查询以成功结束。
  • 第三部分:QUESTION SECTION显示的是要查询的域名。
  • 第四部分:ANSWER SECTION显示的是查询到的结果。
  • 第五部分:本次查询的一些统计信息,用了多长时间、查询了哪个DNS服务器、在什么时间进行的查询等。

DNS 记录的类型

A (Address)

用来指定域名的IPv4地址,如果需要将域名指向一个IP地址,就需要添加A记录。

CNAME (CanonicalName)

别名记录:如果需要将域名指向另一个域名,再由另一个域名提供IP地址,就需要添加CNAME记录。

MX (MailExchange)

邮件路由记录:如果需要设置邮箱,让邮箱能够收到邮件,就需要添加MX记录。

NS (Name Server)

域名服务器记录:如果需要把子域名交给其他DNS服务器解析,就需要添加NS记录。

SOA

SOA记录是所有区域性文件中的强制性记录。它必须是一个文件中的第一个记录。

查询 CNAME 类型的记录

dig baidu.com CNAME

反向查询

查询服务器为 8.8.8.8,这是谁家的 DNS 服务器。

使用dig-x选项来反向解析IP地址对应的域名。

注意:该IP地址必须是DNS服务器,其他应用服务器不会输出任何信息。

dig -x 8.8.8.8 +short

只显示 IP

dig +short baidu.com

输出

root@local:~# dig +short baidu.com
220.181.38.251
220.181.38.148
110.242.68.134
220.181.33.31
112.80.248.64
14.215.178.80
180.76.76.92
240e:bf:b801:1002:0:ff:b024:26de
240e:940:603:4:0:ff:b01b:589a

显示 13 个根域服务器

不加任何参数,只用dig命令。

dig

输出

root@local:~# dig

; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27966
;; flags: qr rd ad; QUERY: 1, ANSWER: 28, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;.                              IN      NS

;; ANSWER SECTION:
.                       0       IN      NS      e.root-servers.net.
.                       0       IN      NS      d.root-servers.net.
.                       0       IN      NS      k.root-servers.net.
.                       0       IN      NS      j.root-servers.net.
.                       0       IN      NS      g.root-servers.net.
.                       0       IN      NS      h.root-servers.net.
.                       0       IN      NS      l.root-servers.net.
.                       0       IN      NS      b.root-servers.net.
.                       0       IN      NS      f.root-servers.net.
.                       0       IN      NS      a.root-servers.net.
.                       0       IN      NS      m.root-servers.net.
.                       0       IN      NS      i.root-servers.net.
.                       0       IN      NS      c.root-servers.net.
a.root-servers.net.     0       IN      A       198.41.0.4
b.root-servers.net.     0       IN      A       199.9.14.201
c.root-servers.net.     0       IN      A       192.33.4.12
d.root-servers.net.     0       IN      A       199.7.91.13
e.root-servers.net.     0       IN      A       192.203.230.10
f.root-servers.net.     0       IN      A       192.5.5.241
g.root-servers.net.     0       IN      A       192.112.36.4
h.root-servers.net.     0       IN      A       198.97.190.53
i.root-servers.net.     0       IN      A       192.36.148.17
j.root-servers.net.     0       IN      A       192.58.128.30
k.root-servers.net.     0       IN      A       193.0.14.129
l.root-servers.net.     0       IN      A       199.7.83.42
m.root-servers.net.     0       IN      A       202.12.27.33
a.root-servers.net.     0       IN      AAAA    2001:503:ba3e::2:30
b.root-servers.net.     0       IN      AAAA    2001:500:200::b

;; Query time: 857 msec
;; SERVER: 172.30.0.1#53(172.30.0.1)
;; WHEN: Mon Jun 06 20:56:31 CST 2022
;; MSG SIZE  rcvd: 966
阅读 393 · 发布于 2022-06-18

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批