14.4 执行DNS查询
host
DNS(Domain Name System,域名系统)的建立使得人们可以更容易地访问因特网上的各种资源。毕竟,计算机可以完美地处理数字,它所做的每一件事实际上都可以表示为数字,而人类则更擅长记忆和处理文字信息。一个网站的IP地址可能是72.14.203.99,但大多数人都很难记住这么长串数字。而要访问www.google.com,记忆这个名字就容易得多了。DNS基本上就是一个巨大的数据库,记录了72.14.203.99 和www.google.com之间的对应关系,以及其他数百万的IP地址和域名的数据。
提示 DNS是一个巨大的、复杂的、引人入胜的话题。有关它的更多细节,可以先看看Wikipedia的“Domain Name System”(http://en.wikipedia.org/wiki/Dns),然后再阅读一下Paul Albitz 和Cricket Liu合著的DNS and BIND。
要快速获得和某个域名关联的IP地址,可以使用host
命令,如下所示:
$ host www.granneman.com
www.granneman.com is an alias for granneman.com.
granneman.com has address 216.23.180.5
www.granneman.com is an alias for granneman.com.
www.granneman.com is an alias for granneman.com.
granneman.com mail is handled by 30 bhoth.pair.com.
得到5个响应,因为host
命令执行了几种DNS查询。不过,从结果中看到想要的信息非常容易:www.granneman.com 的IP地址是216.23.180.5。
也可以做相反的操作,找出与某个IP地址关联的域名,如下所示:
$ host 65.214.39.152
152.39.214.65.in-addr.arpa domain name pointer web.bloglines.com.
说明 很多其他命令都可以找到主机的IP地址,但
host
命令是完成这一任务最有效的方法。毋庸置疑,用host
命令也可以进行相反的查询,而其他命令就不一定总可以这样了。
14.13节还会介绍更多关于如何用host
命令帮助解决问题的内容。