DNS查询指令:host 、nslookup 、dig 详解

时间:2020-12-27 14:50:24

1、 host指令

host指令的man 手册是这样描述的

DNS查询指令:host 、nslookup 、dig 详解

大意:

描述

    Host指令提供一个简单的DNS解析的功能。正常地使用名称到IP的解析,当指令没有任何参数和选项的时候,它将输出简单的带命令行参数和选项的概要。

   

    名称是可以被解析的域名,也可以是点分十进制的IPV4的地址或冒号分隔的IPV6的地址,默认地,也可以行使一个反向解析的功能,DNS服务器既有名称又有IP地址,host查询可以替代它们,或者可以列在/etc/resolv.conf文件里。

  查询:

DNS查询指令:host 、nslookup 、dig 详解

这个指令没什么好说的

 

1、 nslookup指令

nslookup指令的man手册是这样描绘的:

DNS查询指令:host 、nslookup 、dig 详解

 

大意:

描述

    Nslookup指令是一个查询internet域名服务的程序。Nslookup指令有两个模式:

交互式和非交互式。交互式模式允许用户查询不同种类的主机和域名或在一个域名里输出主机列表,目的是查询域名的相关信息。非交互式模式只被用来输出名称和主机或域名被要求的信息。

查询:

 

DNS查询指令:host 、nslookup 、dig 详解

1、 dig指令(重点讲解)

bind9 dig指令man手册对该指令的详细说明:

概要

 

DNS查询指令:host 、nslookup 、dig 详解

选项和参数的简介(后面详解)

描述

 

DNS查询指令:host 、nslookup 、dig 详解

大意:

描述

    dig指令(域名信息搜索)是一个询问DNS域名服务的灵活工具。它提供了来自被要求的,返回名称服务DNS的查询和显示的答案。因为它的灵活性,使用方便又输出清晰,大多数DNS管理员使用dig指令来排除DNS故障和问题。其他的DNS解析工具比dig少了很多的功能。

    

虽然dig指令通常被用于命令行,它也有一套来自一个文件的为了阅读的解析要的操做

模式。当使用参数-h的时候,它的命令行和选项将被简短地输出来了。与更早的版本不

同的是,BIND9的dig命令可以进行来自命令行的多重查询。

 

除非被告之查询一个指定的名称服务,那么dig指令尝试到列表/etc/resolv.conf去寻找

名称服务。

 

当没有任何参数给出的时候,将执行一个”.”(根)的NS记录的查询。

 

很可能每个用户的${HOME}/.digrc默认设置了,这个文件的设置被读取和应用在任何

命令行的实行之前。

 

简单的使用

 

 

DNS查询指令:host 、nslookup 、dig 详解

 

 

 

简单的使用

       类似于这样的一个典型的dig指令的解析:

          dig  @server  name  type

       这里:

       server

          是一个主机名或IP地址来供DNS服务器查询。可能是一个点分十进制标记的Ipv4的地址或者是一个冒号分隔标记的Ipv6的地址,当提供一个主机名的时候,dig指令在DNS服务器查询之前就解析了。如果没有DNS服务器提供,那么dig将参照/etc/resolv.conf文件并且在那里查找DNS服务器列表。来自DNS服务器的响应的答复将被显示。

       name

         是一个被资源记录的解析的名称

       type                                                                                                                        ,

         指出被要求查询的类型是什么—ANY , A , MX ,SIG ,等等任何有效的查询类型。

         如果没有参数和选项,将显示解析的一条A记录。

         

选项之一:

 

DNS查询指令:host 、nslookup 、dig 详解

选项:

     -b 设置这个查询的IP地址,这个ip地址必须是这个主机的网络端口的一个,或

        是”0.0.0.0” 或 “::” ,一个可选的端口很可能被默认指定了。

     -c 默认查询的类型。是任何有效的类型,列如:HS为了Hesiod记录或CH为了CH

       AOSNET记录

     -f 使dig指令操作在批处理模式下,处理来自一个可读的文本文件的解析要求,这

       个文件是每一行一个查询数据,在文件里的每一个表项以相同的方式组织起来,

       被要求查询,使用dig指令界面行实现。

       例如:

            建立一个文本文件test.bak,写入查询数据:

           第一条数据 192.168.1.112  www.apple.com

           第二条数据 192.168.1.113  pc001.apple.com

           第三条数据 192.168.1.115  slave.apple.com

           第四条数据192.168.1.114  sky.oracle.com

 以上四个数据将被同时查询:

 数据:

       

[root@www /]# dig -f test.bak

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 7154  //标题,包含的内容有哪些

;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

 

;; QUESTION SECTION:     //问题,显示要查询的内容,这里是192.168.1.112

;192.168.1.112.                 IN      A

 

;; AUTHORITY SECTION:

.                       8915    IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2009071501 1800 900 604800 86400

 

;; Query time: 6 msec

;; SERVER: 192.168.1.112#53(192.168.1.112)

;; WHEN: Wed Jul 15 13:15:53 2009

;; MSG SIZE  rcvd: 106

 

 

; <<>> DiG 9.3.4-P1 <<>> 192.168.1.112 www.apple.com

;; global options:  printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45742

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

 

;; QUESTION SECTION:

;www.apple.com.                 IN      A --------第一条数据 www.apple.com

 

;; ANSWER SECTION:

www.apple.com.          86400   IN      A       192.168.1.112

 

;; AUTHORITY SECTION:    //验证,有www.apple.com 来管理apple.com域的主机名称

apple.com.              86400   IN      NS      www.apple.com.

 

;; Query time: 6 msec

;; SERVER: 192.168.1.112#53(192.168.1.112)-------DNS服务地址

;; WHEN: Wed Jul 15 13:15:53 2009

;; MSG SIZE  rcvd: 61

 

; <<>> DiG 9.3.4-P1 <<>> -f test.bak

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 9446

;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

 

;; QUESTION SECTION:

;192.168.1.113.                 IN      A

 

;; AUTHORITY SECTION:

.                       8915    IN      SOA     A.ROOT-SERVERS.NET. NSTLD.VERISIGN-GRS.COM. 2009071501 1800 900 604800 86400

 

;; Query time: 5 msec

;; SERVER: 192.168.1.112#53(192.168.1.112)

;; WHEN: Wed Jul 15 13:15:53 2009

;; MSG SIZE  rcvd: 106

 

; <<>> DiG 9.3.4-P1 <<>> 192.168.1.113 pc001.apple.com

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63080

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

 

;; QUESTION SECTION:

;pc001.apple.com.               IN      A------第二条数据

 

;; ANSWER SECTION:

pc001.apple.com.        86400   IN      A       192.168.1.113

 

;; AUTHORITY SECTION:

apple.com.              86400   IN      NS      www.apple.com.

 

;; ADDITIONAL SECTION:

www.apple.com.          86400   IN      A       192.168.1.112

 

;; Query time: 5 msec

;; SERVER: 192.168.1.112#53(192.168.1.112)-----DNS服务器地址

;; WHEN: Wed Jul 15 13:15:53 2009

;; MSG SIZE  rcvd: 83

 

; <<>> DiG 9.3.4-P1 <<>> -f test.bak

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 23504

;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

 

;; QUESTION SECTION:

;192.168.1.115.                 IN      A

 

;; AUTHORITY SECTION:

.                       8917    IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2009071501 1800 900 604800 86400

 

;; Query time: 5 msec

;; SERVER: 192.168.1.112#53(192.168.1.112)

;; WHEN: Wed Jul 15 13:15:53 2009

;; MSG SIZE  rcvd: 106

 

; <<>> DiG 9.3.4-P1 <<>> 192.168.1.115 slave.apple.com

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14103

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

 

;; QUESTION SECTION:

;slave.apple.com.               IN      A

 

;; ANSWER SECTION:

slave.apple.com.        86400   IN      A       192.168.1.115----第三条数据

 

;; AUTHORITY SECTION:

apple.com.              86400   IN      NS      www.apple.com.

 

;; ADDITIONAL SECTION:

www.apple.com.          86400   IN      A       192.168.1.112

 

;; Query time: 4 msec

;; SERVER: 192.168.1.112#53(192.168.1.112)-----DNS服务器地址

;; WHEN: Wed Jul 15 13:15:53 2009

;; MSG SIZE  rcvd: 83

 

; <<>> DiG 9.3.4-P1 <<>> -f test.bak

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 8732

;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

 

;; QUESTION SECTION:

;192.168.1.114.                 IN      A

 

;; AUTHORITY SECTION:

.                       8919    IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2009071501 1800 900 604800 86400

 

;; Query time: 5 msec

;; SERVER: 192.168.1.112#53(192.168.1.112)

;; WHEN: Wed Jul 15 13:15:53 2009

;; MSG SIZE  rcvd: 106

 

; <<>> DiG 9.3.4-P1 <<>> 192.168.1.114 sky.oracle.com

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4917

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

 

;; QUESTION SECTION:

;sky.oracle.com.                        IN      A

 

;; ANSWER SECTION:

sky.oracle.com.         86400   IN      A       192.168.1.114—第四条数据

 

;; AUTHORITY SECTION:

oracle.com.             86400   IN      NS      sky.oracle.com.

 

;; Query time: 4 msec

;; SERVER: 192.168.1.112#53(192.168.1.112)-----DNS服务器地址

;; WHEN: Wed Jul 15 13:15:53 2009

;; MSG SIZE  rcvd: 62

 

选项之二:

 

 

DNS查询指令:host 、nslookup 、dig 详解

 

 

选项:

   -t 设置查询类型,在BIND9 支持任何有效的查询类型。默认的查询类型为“A”,除非是

      -x选项适用于一个反向查询。一个区域传输被要求指定为完全区域传输(AXFR).当

      一个增量传输(IXFR)被要求的时候,类型设置为 ixfr=N ,这增量区域传输被包含

     这变化到区域,从这区域的SOA记录的序列号被改写。

   -x 反向查询,映射地址到域名,加上简单的-x选项即可,不管是点分式标记IPV4的地

     址,还是冒号分隔的IPV6的地址。当这个选项被使用的时候,不需要提供域名,类型

     参数类型。。。。。。。。格式:dig –x 192.168.1.112 @www.apple.com

 

  查询选项  

QUERY OPTIONS

       dig provides a number of query options which affect the way in which

       lookups are made and the results displayed. Some of these set or reset

       flag bits in the query header, some determine which sections of the

       answer get printed, and others determine the timeout and retry

       strategies.

         dig指令提供许多的查询选项,这些选项影响解析的方式的制作和结果的显示。

         这些设置或重设的标记位在查询的头部,某些决定了回答的区域被输出,其

         它的决定了超时和重复发起。

       Each query option is identified by a keyword preceded by a plus sign

       (+). Some keywords set or reset an option. These may be preceded by the

       string no to negate the meaning of that keyword. Other keywords assign

       values to options like the timeout interval. They have the form

       +keyword=value. The query options are:

        每一个查询选项被定义的关键字前头设计了一个+号(+).某些关键字设置或不设置一个选项。这些关键字之前的字符是no,就取消关键字的意义。其他关键字设计的值的选项类似于超时的间隔时间。它们的格式:+keyword=value.这些

        查询选项如下:

          

 

       +[no]tcp

          Use [do not use] TCP when querying name servers. The default

          behaviour is to use UDP unless an AXFR or IXFR query is requested,

          in which case a TCP connection is used.

          DNS服务器查询的时候使用[不使用]TCP协议。默认是使用udp协议,除非是完全区域传输或增量区域传输被要求查询时候。在tcp连接时候使用。

 .......................................

.......................................

由于篇幅的关系,不再叙述,请读者自行翻阅man手册