host命令是一个用于执行域名到IP地址转换的DNS查找的命令行工具。它页可以用于列出和验证各种类型DNS记录,诸如NS和MX,测试和验证ISP DNS服务器和互联网连接性,垃圾邮寄和将记录列入黑名单,探测和排错DNS服务器问题等。
我们将在这里用一些有用示例学习如何在Linux中使用host命令执行DNS查找。
以下描述了13个host命令的示例。
这是你能够运行的最简单的host命令,只要提供一个诸如baidu.com的域名来获取相关联的IP地址。
- [blctrl@rockygu ~]$ host baidu.com
- baidu.com has address 39.156.66.10
- baidu.com has address 110.242.68.66
- baidu.com mail is handled by 15 mx.n.shifen.com.
- baidu.com mail is handled by 20 usmx01.baidu.com.
- baidu.com mail is handled by 20 jpmx.baidu.com.
- baidu.com mail is handled by 20 mx50.baidu.com.
- baidu.com mail is handled by 10 mx.maillb.baidu.com.
- baidu.com mail is handled by 20 mx1.baidu.com.
使用-t选项查找域名服务器
- [blctrl@rockygu ~]$ host -t ns baidu.com
- baidu.com name server ns3.baidu.com.
- baidu.com name server ns2.baidu.com.
- baidu.com name server ns4.baidu.com.
- baidu.com name server dns.baidu.com.
- baidu.com name server ns7.baidu.com.
要查找域CNAME,运行。
- [blctrl@rockygu ~]$ host -t cname mail.baidu.com
- mail.baidu.com is an alias for mail.maillb.baidu.com.
为一个域查找MX记录
- [blctrl@rockygu ~]$ host -n -t mx baidu.com
- baidu.com mail is handled by 20 jpmx.baidu.com.
- baidu.com mail is handled by 15 mx.n.shifen.com.
- baidu.com mail is handled by 10 mx.maillb.baidu.com.
- baidu.com mail is handled by 20 mx1.baidu.com.
- baidu.com mail is handled by 20 usmx01.baidu.com.
- baidu.com mail is handled by 20 mx50.baidu.com.
为一个域查找TXT记录
- [blctrl@rockygu ~]$ host -t txt baidu.com
- baidu.com descriptive text "v=spf1 include:spf1.baidu.com include:spf2.baidu.com include:spf3.baidu.com include:spf4.baidu.com a mx ptr -all"
- baidu.com descriptive text "google-site-verification=GHb98-6msqyx_qqjGl5eRatD3QTHyVB6-xQ3gJB5UwM"
- baidu.com descriptive text "_globalsign-domain-verification=qjb28W2jJSrWj04NHpB0CvgK9tle5JkOq-EcyWBgnE"
使用-C标记从对应那个区的所有列出的权威名称服务器,你可以使得host尝试显示指定区的SOA记录。
- [blctrl@rockygu ~]$ host -C baidu.com
- Nameserver 112.80.248.64:
- baidu.com has SOA record dns.baidu.com. sa.baidu.com. 2012145588 300 300 2592000 7200
- Nameserver 110.242.68.134:
- baidu.com has SOA record dns.baidu.com. sa.baidu.com. 2012145588 300 300 2592000 7200
- Nameserver 220.181.33.31:
- baidu.com has SOA record dns.baidu.com. sa.baidu.com. 2012145588 300 300 2592000 7200
- Nameserver 180.76.76.92:
- baidu.com has SOA record dns.baidu.com. sa.baidu.com. 2012145588 300 300 2592000 7200
- Nameserver 14.215.178.80:
- baidu.com has SOA record dns.baidu.com. sa.baidu.com. 2012145588 300 300 2592000 7200
要查询特定的域名服务器
- [blctrl@rockygu ~]$ host baidu.com ns2.baidu.com
- Using domain server:
- Name: ns2.baidu.com
- Address: 220.181.33.31#53
- Aliases:
-
- baidu.com has address 110.242.68.66
- baidu.com has address 39.156.66.10
- baidu.com mail is handled by 10 mx.maillb.baidu.com.
- baidu.com mail is handled by 15 mx.n.shifen.com.
- baidu.com mail is handled by 20 mx1.baidu.com.
- baidu.com mail is handled by 20 jpmx.baidu.com.
- baidu.com mail is handled by 20 mx50.baidu.com.
- baidu.com mail is handled by 20 usmx01.baidu.com.
要查询类型ANY,使用-a选项,其等价于设置了-v选项。
- [blctrl@rockygu ~]$ host -a baidu.com
- Trying "baidu.com"
- ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14087
- ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
-
- ;; QUESTION SECTION:
- ;baidu.com. IN ANY
-
- ;; ANSWER SECTION:
- baidu.com. 3600 IN HINFO "RFC8482" ""
-
- Received 48 bytes from 100.100.2.136#53 in 0 ms
查找域TTL信息
- [blctrl@rockygu ~]$ host -v -t a baidu.com
- Trying "baidu.com"
- ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42180
- ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
-
- ;; QUESTION SECTION:
- ;baidu.com. IN A
-
- ;; ANSWER SECTION:
- baidu.com. 510 IN A 110.242.68.66
- baidu.com. 510 IN A 39.156.66.10
-
- Received 59 bytes from 100.100.2.136#53 in 0 ms
-4或-6选项使得host各自只使用IPv4或IPv6查询传输。
- [blctrl@rockygu ~]$ host -4 baidu.com
- baidu.com has address 39.156.66.10
- baidu.com has address 110.242.68.66
- baidu.com mail is handled by 20 mx50.baidu.com.
- baidu.com mail is handled by 10 mx.maillb.baidu.com.
- baidu.com mail is handled by 20 mx1.baidu.com.
- baidu.com mail is handled by 15 mx.n.shifen.com.
- baidu.com mail is handled by 20 jpmx.baidu.com.
- baidu.com mail is handled by 20 usmx01.baidu.com.
- [blctrl@rockygu ~]$ host -6 baidu.com
- ;; connection timed out; no servers could be reached
默认,UDP尝试次数是1,要更改它,使用-R标记。
- [blctrl@rockygu ~]$ host -R 5 baidu.com
- baidu.com has address 110.242.68.66
- baidu.com has address 39.156.66.10
- baidu.com mail is handled by 20 jpmx.baidu.com.
- baidu.com mail is handled by 20 usmx01.baidu.com.
- baidu.com mail is handled by 10 mx.maillb.baidu.com.
- baidu.com mail is handled by 20 mx1.baidu.com.
- baidu.com mail is handled by 15 mx.n.shifen.com.
- baidu.com mail is handled by 20 mx50.baidu.com.
使用-W选项,你可以设置host等待一个响应指定时间并且如果使用了-w标记,它使得host一直等待一个响应:
- [blctrl@rockygu ~]$ host -T -W 10 baidu.com
- baidu.com has address 39.156.66.10
- baidu.com has address 110.242.68.66
- baidu.com mail is handled by 20 mx50.baidu.com.
- baidu.com mail is handled by 20 usmx01.baidu.com.
- baidu.com mail is handled by 20 mx1.baidu.com.
- baidu.com mail is handled by 10 mx.maillb.baidu.com.
- baidu.com mail is handled by 20 jpmx.baidu.com.
- baidu.com mail is handled by 15 mx.n.shifen.com.