今天学习DNS服务,也同时把经常用到的三个和DNS相关的命令分享给大家。
在Linux中,nslookup、host和dig都是用来进行DNS域名解析的工具。下面分别介绍它们的功能、常见参数及相应示例:

- nslookup
nslookup是最古老的DNS查询工具之一,主要用于查询DNS域名解析信息。
常见参数:
- -query=[记录类型]:指定查询的DNS记录类型,如A、CNAME、MX等。
- -timeout=[秒数]:指定等待响应的超时时间。
- -debug:打印详细调试信息。
例如,查询toutiao的IP地址:
nslookup -query=A toutiao.com
输出结果
Server: 100.100.2.136
Address: 100.100.2.136#53
Non-authoritative answer:
Name: toutiao.com
Address: 122.14.229.38
Name: toutiao.com
Address: 122.14.229.39
- host
host也是一个用于DNS查询的工具,功能相似于nslookup,但是输出结果更简洁。
常见参数:
- -a:显示所有记录类型。
- -t [记录类型]:指定查询的DNS记录类型,如A、CNAME、MX等。
- -W [秒数]:指定等待响应的超时时间。
例如,查询谷歌的IP地址:
host -t A toutiao.com
输出结果:
[root@xxx]# host -t A toutiao.com
toutiao.com has address 122.14.229.38
toutiao.com has address 122.14.229.39

dig
dig(Domain Information Groper)是一个功能强大的DNS查询工具,可以输出详细的DNS信息,适合进行高级的DNS操作。
常见参数:
- -t [记录类型]:指定查询的DNS记录类型,如A、CNAME、MX等。
- +trace:启用追踪模式,显示DNS解析信息路由。
- +stats:显示DNS解析过程的统计信息。
例如,查询toutiao的IP地址:
[root@zjt-ecs-122 ~]# dig -t A toutiao.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.5 <<>> -t A toutiao.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35525
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;toutiao.com. IN A
;; ANSWER SECTION:
toutiao.com. 60 IN A 122.14.229.38
toutiao.com. 60 IN A 122.14.229.39
;; Query time: 2 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Thu Jun 15 23:10:08 CST 2023
;; MSG SIZE rcvd: 61
上述是三种工具的功能、常见参数及相应示例,它们在进行DNS域名解析时会输出查询结果,但在输出方式、输出内容和查询方式上各有不同,可以根据实际需求选择使用。