OpenWrt之DNS 测试工具
nslookup
nslookup
是一个命令行域名查询工具,有两种工作模式:
- 交互方式用于向域名服务器查询各种主机和域名信息并输出。
- 非交互模式仅向服务器查询请求的信息。
非交互式模式用于查询主机名或主机 IP 地址为第一个参数,可选的第二个参数为域名服务器 IP 地址。其他选项参数以“-”开始。例如,我们可以查询一个恶意域名,并把它的 IP 地址加入到防火墙黑名单中。
查询域名 IP 地址。例如:
# nslookup openwrt.org
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: openwrt.org
Address 1: 139.59.209.225
*** Can't find openwrt.org: No answer
指定域名服务器来查询域名 IP 地址。例如:
# nslookup openwrt.org 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Name: openwrt.org
Address 1: 139.59.209.225
Address 2: 2a03:b0c0:3:d0::1af1:1
查询 IP 地址的域名,即进行反向查询。例如:
# nslookup 8.8.8.8
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
8.8.8.8.in-addr.arpa name = dns.google
dig
- dig 是另一款域名查询工具,其功能非常强大,并且可以指定源 IP 地址,这在主机上 有多个接口及 IP 地址时非常有用。
- dig 在进行域名查询时,如果第一个域名服务器无响应,将在 1 秒后向第二个 DNS 地址发起请求。在这点上它和 nslookup 不同, nslookup 需要等待 5 秒之后再向第二个域名服务器发起查询请求。
其最基本的用法如下:
@后面表示 DNS 服务器地址:
dig @DNSserver baidu.com
“-b”表示指定源 IP,在系统有多个接口地址时使用:
dig -b 192.168.1.100 baidu.com
dig 提供了大量的查询选项和输出结果显示选项。一些查询选项会设置查询报头的标志位,有些是设置超时和重试策略,还有些是控制屏幕输出。 dig 的查询选项和其他软件不同,采用“+”开头的标识符来表示。
dig 还有很多选项可以定制查询和输出。例如+short 可以简化输出。默认 dig 会输出
DNS 报头信息,包含查询问题个数和回答问题个数等信息。输出如示例 11-5 所示。
示例 :
# dig @8.8.8.8 baidu.com
; <<>> DiG 9.9.5-3ubuntu0.1-Ubuntu <<>> @8.8.8.8 baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65069
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;baidu.com. IN A
;; ANSWER SECTION:
baidu.com. 588 IN A 220.181.57.217
baidu.com. 588 IN A 111.13.101.208
baidu.com. 588 IN A 123.125.114.144
baidu.com. 588 IN A 180.149.132.47
;; Query time: 81 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Nov 14 19:57:07 CST 2015
;; MSG SIZE rcvd: 102