DNS 查询工具说明 - dig

dig工具使用手册

Posted by LZP(整理) on August 6, 2018

DNS 查询工具说明 - dig

dig 是 UNIX/BSD 系统都自带的 DNS 诊断工具,使用十分灵活,被很多 DNS 管理员用来做 DNS 诊断的工具。但在 Windows 系统中并没有提供 dig 程序,需要用户自行下载安装。

用法

dig [@server] [-b address] [-c class] [-f filename] [-k filename] [-m] [-p port#] [-q name] [-t type] [-x addr] [-y [hmac:]name:key] [-4] [-6] [name] [type] [class] [queryopt…]

符号说明:”[]” 表明该选项是可选项。

dig 是完全命令行的工具,使用者需要记得各个选项的用法。如果忘记可以使用 -h 选项查看所有的参数。以下就各个选项进行说明:

  • server 指定 DNS Server 服务器。
  • name 输入我们所要查询的域名,其意思与 [-q name] 相同。
  • type 指定要查询的记录类型,其意思与 [-t type] 相同。type 类型有 a、any、mx、ns、soa、hinfo、axfr、txt 等,默认值为 a。
  • address 指定要透过那一张网卡(IP 地址)进行查询,适用于多网卡环境下指定网卡。
  • -f filename 指定 filename 文件做为 dig 批处理查询条件,该文件格式是一行一个查询,而在每行开头省略掉 “dig” 命令。
  • -k filename 指定 filename 文件为 TSIG KEY,也可以使用 -y 直接使用 TSIG 的 key。
  • -p port 指定 DNS Server 所使用的端口,可用於当服务器不是使用标准 DNS 端口的状况。
  • -x addr 表示要进行反向查询。
  • -y [hmac:]name:key 指定查询所用的 TSIG Key,基于安全考虑不建议在命令行使用 TSIG key。
  • queryopt…: queryoptions,用以指定细步查询设置和显示项目,使用 “+” 来标识。
    • +[no]tcp:是否使用 TCP 协议查询,一般情况下(不使用 AXFR 和 IXFR )都是用 UDP 协议。
    • +[no]ignore :UDP 协议若没有响应,是否改用 TCP 协议重新查询,默认为 “是”。
    • +[no]search:是否使用 resolv.conf 中定义的列表进行查询,默认为 “否”。
    • +[no]defname:等同于 +[no]search,不提倡使用。
    • +[no]cl :是否在查询结果中显示记录的类别。
    • +[no]ttlid :是否在查询结果中显示 TTL 号。
    • +[no]recurse:是否使用递归查询查询,默认为 “是”。但是当加入 +nssearch 或 +trace 选项时自动取消递归查询。
    • +[no]nssearch:是否在查询结果中显示 SOA 记录和名称服务器。
    • +[no]trace:是否在查询结果中显示查询中的跳转(根据根服务器提示查到合适的名称服务器)。
    • +[no]cmd:是否在查询结果中显示 dig 版本和输入的命令。
    • +[no]short:是否在查询结果中提供精简显示,默认为 “否”。
    • +[no]comments:是否在查询结果中显示注释。
    • +[no]stats:是否在查询结果中显示统计信息,默认为 “是”。
    • +[no]question:是否在查询结果中显示查询内容。
    • +[no]answer:是否在查询结果中显示应答段。
    • +[no]authority:是否在查询结果中显示权威服务器信息。
    • +[no]additional:是否在查询结果中显示附加段的内容。
    • +[no]all:设置/取消所有显示标记。
    • +time=T:设置查询超时时间,默认为 5 秒。
    • +tries=T:设置查询重试次数,默认是 3,如果小于 1 则设置为1。
    • +retry=T:设置 UDP 查询重试次数,默认为 2,不包括初次查询。
    • +bufsize=B :设置查询是的高速缓冲区大小(0~65535)。
    • +[no]multiline:是否在查询结果中显示一条记录为多行,默认为单行。
    • +[no]fail:遇到服务器失败的时候是否查询下一个服务器。默认为 “是”。
    • +[no]besteffort:是否显示不完整的应答信息。默认为 “是”。
    • +trusted-key=####:指定包含有认证码的文件。如果没有指定,dig 会在当前目录中寻找 trusted-key.key,需要编译时使用 -DDIG_SIGCHASE 选项。

实例介绍

查询A记录:

D:\greensoft\dig>dig @202.96.209.5 www.docutek.com.cn a

; «» DiG 9.3.2 «» @202.96.209.5 www.docutek.com.cn a ; (1 server found) ;; global options: printcmd ;; Got answer: ;; -»HEADER«- opcode: QUERY, status: NOERROR, id: 456 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION: ;www.docutek.com.cn. IN A

;; ANSWER SECTION: www.docutek.com.cn. 259200 IN A 202.132.10.161

;; Query time: 124 msec ;; SERVER: 202.96.209.5#53(202.96.209.5) ;; WHEN: Wed Jan 07 19:30:56 2009 ;; MSG SIZE rcvd: 52

dig 的输出信息很详细,以下简单做个说明: 第一行:显示当前 dig 的版本和查询内容。 第三行:全局设置选项为直接在窗口显示结果。 第四行到第六行:显示查询结果的信息。 QUESTION SECTION(查询段) 显示查询条件,目前我们要查询的是 www.docutek.com.cn 的 A 记录。 ANSWER SECTION(回应段) 显示从服务器上面得到的回答 202.132.10.161。 最后面是其它信息,如查询花费 140 微秒、查询服务器为 202.96.209.5、何时进行查询时间、回应数据包大小。

查询反向记录:

D:\greensoft\dig>dig @192.168.8.246 -x 202.132.10.161 +short

docutek.com.tw.

查询 NS 记录:

D:\greensoft\dig>dig @192.168.8.246 docutek.asia ns +short

ns.docutek.asia. ns.docutek.com.cn. ns.docutek.com.tw.

查询 MX 记录:

D:\greensoft\dig>dig @192.168.8.246 docutek.asia mx +short

10 mail.docutek.asia. 20 smtp.docutek.com.cn.

查看区域传送:

D:\greensoft\dig>dig @192.168.8.246 docutek.local axfr

;«» DiG 9.5.1 «» docutek.local axfr ;;global options: printcmd docutek.local. 28800 IN SOA ib42.docutek.asia. alvin.docutek.asia. 19 10800 3600 2592000 900 docutek.local. 28800 IN NS ib42.docutek.asia. database.docutek.local. 28800 IN CNAME db.docutek.local. db.docutek.local. 28800 IN A 192.168.1.247 db.docutek.local. 28800 IN A 192.168.1.248 f.docutek.local. 28800 IN CNAME file.docutek.local. file.docutek.local. 28800 IN A 192.168.1.246 finance.docutek.local. 28800 IN A 192.168.1.21 financem.docutek.local. 28800 IN A 192.168.1.232 manager.docutek.local. 28800 IN A 192.168.1.239 marketm.docutek.local. 28800 IN A 192.168.1.231 orcale.docutek.local. 28800 IN CNAME db.docutek.local. www.docutek.local. 28800 IN A 192.168.1.249 docutek.local. 28800 IN SOA ib42.docutek.asia. alvin.docutek.asia. 19 10800 3600 2592000 900 ;;Query time: 15 msec ;;SERVER: 192.168.8.246#53(192.168.8.246) ;;WHEN: Wed Jan 07 16:10:25 2009 ;;XFR size: 15 records (messages 1, bytes 412)