Linux - dig 使用方法

时间:2023-02-21 18:29:45

dig命令大多时候可以取代nslookup的

1、Debian/Centos安装dig

apt-get install dnsutils  # Debian
yum install bind-utils    # Centos

2、使用方法 查找网站或域名的 IP 地址(A 记录):dig example.com A 查找网站或域名的 IPv6 地址(AAAA 记录):dig example.com AAAA 查找网站或域名的别名记录(CNAME记录):dig example.com CNAME 指定要查询的名称服务器:dig A example.com @8.8.8.8 查找 MX 记录:dig mx example.com x 选项在您指定 IP 地址时执行反向查找:dig -x 8.8.8.8 跟踪整个查询过程:dig example.com +trace 简化输出查询内容:dig example.com +short 服务器上很多时候是双线或三线,如果有智能解析的话要测试从某一个 ip 去请求 dns,加 -b 参数:dig -b baidu.com

3、输出说明 大部分的时候dig最下面显示了查询所用的时间及DNS服务器,时间,数据大小。DNS超时时间为30秒,查询时间对于排查DNS问题很有用。

;; Query time: 48 msec
;; SERVER: 10.202.72.118#53(10.202.72.218)
;; WHEN: Sun Oct 12 21:41:47 2014
;; MSG SIZE  rcvd: 225

DNS的解析是递归解析,那么用dig可以加+trace参数,会显示完整的,无缓存,递规的查询,显示的是完整的trace记录。
可以发现本地DNS(10.202.72.218)返回了根服务器列表,在一台根服务器(199.7.91.13)查到com.的记录,在其中一台com.中查到了example.com 并返回了NS记录,在NS中找到了A记录。

dig blog.ling218.cn +trace

; <<>> DiG 9.17.15 <<>> blog.ling218.cn +trace
;; global options: +cmd
.                       24030   IN      NS      e.root-servers.net.
.                       24030   IN      NS      l.root-servers.net.
.                       24030   IN      NS      f.root-servers.net.
.                       24030   IN      NS      i.root-servers.net.
.                       24030   IN      NS      g.root-servers.net.
.                       24030   IN      NS      d.root-servers.net.
.                       24030   IN      NS      c.root-servers.net.
.                       24030   IN      NS      a.root-servers.net.
.                       24030   IN      NS      b.root-servers.net.
.                       24030   IN      NS      j.root-servers.net.
.                       24030   IN      NS      m.root-servers.net.
.                       24030   IN      NS      h.root-servers.net.
.                       24030   IN      NS      k.root-servers.net.
;; Received 228 bytes from 192.168.82.155#53(192.168.82.155) in 33 ms

cn.                     172800  IN      NS      b.dns.cn.
cn.                     172800  IN      NS      f.dns.cn.
cn.                     172800  IN      NS      a.dns.cn.
cn.                     172800  IN      NS      d.dns.cn.
cn.                     172800  IN      NS      c.dns.cn.
cn.                     172800  IN      NS      e.dns.cn.
cn.                     172800  IN      NS      ns.cernet.net.
cn.                     172800  IN      NS      g.dns.cn.
cn.                     86400   IN      DS      57724 8 2 5D0423633EB24A499BE78AA22D1C0C9BA36218FF49FD95A4CDF1A4AD 97C67044
cn.                     86400   IN      RRSIG   DS 8 1 86400 20230305170000 20230220160000 951 . qOTg3mbotRTkqYN78zc0EXe9TWWldhuQ+CI+Tg5uS9M39w+3y6lCMiUa YEpwJtatkEVL0COIPnOgaRYynX0kFpMYhoLINCU43qfvbegt2XQ8qRcR WjDvm9jIgqvSLo/EWlDoehVfFYOCGmPMS2cQ79ahynaiGOkwnGyz883Y uve5TOrDejgeW6Ch4VfOC1og5UOJVu7HNBeGTpiJPfiAVTKkamXrOr6/ bygPoZi9VW5YH6vtEvuRKQPbB3yfiNTjHvNftPvmvGXzwNi7JpuJuxrz S7dv4mymqQ2VY1vdJ//w8O0NAA07izN+x3Bw5q1ysiWDZu75SC3hKIon 2uAvqQ==
;; Received 738 bytes from 2001:500:200::b#53(b.root-servers.net) in 392 ms

;; Received 72 bytes from 103.137.60.44#53(ns.cernet.net) in 37 ms