加入收藏 | 设为首页 | 会员中心 | 我要投稿 三门峡站长网 (https://www.0398zz.com.cn/)- 云连接、设备管理、智能边缘云、云防火墙、数据加密!
当前位置: 首页 > 云计算 > 正文

为你介绍Linux系统下解析域名的dig命令!

发布时间:2022-07-20 10:31:42 所属栏目:云计算 来源:互联网
导读:一、查询单个域名的DNS信息 dig 命令最典型的用法就是查询单个主机的信息。 Linuxidc@Linuxidc:~$ dig www.Linuxidc.com ; DiG 9.11.3-1Ubuntu1.5-Ubuntu www.Linuxidc.com ;; global options: +cmd ;; Got answer: ;; -HEADER - opcode: QUERY, status: NOE
  一、查询单个域名的DNS信息
  dig 命令最典型的用法就是查询单个主机的信息。
 
  Linuxidc@Linuxidc:~$ dig www.Linuxidc.com
 
  ; < <>> DiG 9.11.3-1Ubuntu1.5-Ubuntu < <>> www.Linuxidc.com
  ;; global options: +cmd
  ;; Got answer:
  ;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 17774
  ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
 
  ;; OPT PSEUDOSECTION:
  ; EDNS: version: 0, flags:; udp: 65494
  ;; QUESTION SECTION:
  ;www.Linuxidc.com. IN A
 
  ;; ANSWER SECTION:
  www.Linuxidc.com. 5 IN A 122.228.238.15
  www.Linuxidc.com. 5 IN A 106.42.25.203
 
  ;; Query time: 10 msec
  ;; SERVER: 127.0.0.53#53(127.0.0.53)
  ;; WHEN: Sun Mar 03 10:55:35 CST 2019
  ;; MSG SIZE rcvd: 77
 
  为你介绍Linux系统下解析域名的dig命令!
  dig命令默认的输出信息比较丰富,大概可以分为。5个部分
 
  第一部分显示dig命令的版本和输入的参数。
 
  第二部分显示服务返回的一些技术详情,比较重要的是status。如果status的值为NOERROR则说明本次查询成功结束。
 
  第三部分中的"QUESTION SECTION"显示我们要查询的域名。
 
  第四部分的"ANSWER SECTION"是查询到的结果。
 
  第五部分则是本次查询的一些统计信息,比如用了多长时间,查询了哪个DNS服务器,在什么时间进行的查询等等。
 
  默认情况下dig命令查询A记录,上图中显示的A即说明查询的记录类型为A记录。在尝试查询其它类型的记录前让我们先来了解一下常见的DNS记录类型。
 
  二、常见DNS记录的类型
  类型目的
 
  A地址记录,用来指定域名的IPv4地址,如果需要将域名指向一个IP地址,就需要添加A记录。
 
  AAAA用来指定主机名(或域名)对应的IPv6地址记录。
 
  CNAME如果需要将域名指向另一个域名,再由另一个域名提供ip地址,就需要添加CNAME记录。
 
  MX如果需要设置邮箱,让邮箱能够收到邮件,需要添加MX记录。
 
  NS域名服务器记录,如果需要把子域名交给其他DNS服务器解析,就需要添加NS记录。
 
  SOA SOA这种记录是所有区域性文件中的强制性记录。它必须是一个文件中的第一个记录。
 
  TXT可以写任何东西,长度限制为255。绝大多数的TXT记录是用来做SPF记录(反垃圾邮件)。
 
  三、查询CNAME类型的记录
  除了A记录,常见的DNS记录还有CNAME,我们可以在查询时指定要查询的DNS记录类型:
 
  Linuxidc@Linuxidc:~$ dig m.Linuxidc.com CNAME
 
  ; < <>> DiG 9.11.3-1ubuntu1.5-Ubuntu < <>> m.Linuxidc.com CNAME
  ;; global options: +cmd
  ;; Got answer:
  ;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 61349
  ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
 
  ;; OPT PSEUDOSECTION:
  ; EDNS: version: 0, flags:; udp: 65494
  ;; QUESTION SECTION:
  ;m.Linuxidc.com.  IN CNAME
 
  ;; Query time: 26 msec
  ;; SERVER: 127.0.0.53#53(127.0.0.53)
  ;; WHEN: Sun Mar 03 11:20:34 CST 2019
  ;; MSG SIZE rcvd: 43
 
  为你介绍Linux系统下解析域名的dig命令!
  这样结果中就只有CNAME的记录。其实我们可以在查询中指定任何DNS记录的类型。
 
  四、从指定的DNS服务器上查询
  由于一些原因,希望从指定的DNS服务器上进行查询(从默认的DNS服务器上获得的结果可能不准确)。指定DNS服务器的方式为使用@符号:
 
  Linuxidc@Linuxidc:~$ dig @8.8.8.8 m.Linuxidc.com
 
  ; < <>> DiG 9.11.3-1ubuntu1.5-Ubuntu < <>> @8.8.8.8 m.Linuxidc.com
  ; (1 server found)
  ;; global options: +cmd
  ;; Got answer:
  ;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 38966
  ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
 
  ;; OPT PSEUDOSECTION:
  ; EDNS: version: 0, flags:; udp: 512
  ;; QUESTION SECTION:
  ;m.Linuxidc.com.  IN A
 
  ;; ANSWER SECTION:
  m.Linuxidc.com. 199 IN A 122.228.238.71
  m.Linuxidc.com. 199 IN A 113.107.238.155
 
  ;; Query time: 120 msec
  ;; SERVER: 8.8.8.8#53(8.8.8.8)
  ;; WHEN: Sun Mar 03 11:21:48 CST 2019
  ;; MSG SIZE rcvd: 75
 
  为你介绍Linux系统下解析域名的dig命令!
  从上图可以看到本次查询的DNS服务器为8.8.8.8。
 
  如果不指定DNS服务器,dig会依次使用/etc/resolv.conf里的地址作为DNS服务器:
 
  为你介绍Linux系统下解析域名的dig命令!
  Linuxidc@Linuxidc:~$ dig m.Linuxidc.com
 
  上面查询的DNS服务器就变成了:
 
  为你介绍Linux系统下解析域名的dig命令!
  五、反向查询
  在前面的查询中我们指定了查询服务器为8.8.8.8,这是谁家的DNS服务器?其实我们可以使用dig的-x选项来反向解析IP地址对应的域名:
 
  Linuxidc@Linuxidc:~$ dig -x 8.8.8.8 +short
  google-public-dns-a.google.com.

(编辑:三门峡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读