7.3.4 侦测主机名称与IP对应
1.host命令
客户端DNS正查与反查命令,可以有域名查询所对应的IP,或者是由IP反查出所对应的域名。
格式:host[选项]hostname[service]
语法:host[-aCdlnrsTwv][-c class][-N ndots][-R number][-t type][-W wait][-m flag][-4][-6]name[server]
常用参数解释:
·-a或-d或-v:详细输出模式,显示出目标主机详细的各项主机名称设置数据;
·-c:指定non-IN数据;
·-C:直接跟权威DNS服务器查询SOA记录;
·-N:自动于网址列后补“.”,默认点数为1;
·-r:取消递归查询;
·-R:指定UDP数据包个数;
·-T:支持TCP/IP模式;
·-w:指定等待的时间,单位是秒;
·-4:用于IPv4的查询;
·-6:用于IPv6的查询。
实例7-11 例如想要知道www.google.com.hk的IP时,可以执行如下命令。
显示的结果如图7-9所示。
图7-9 host命令的使用
IP是74.125.71.***,那么这个IP是向哪个DNS主机查询到的呢?如果没有[-C]选项则这个DNS主机是写在/etc/resolv.conf文件里,[-C]选项使得host命令是直接向www.google.com.hk的权威服务器查询SOA记录。当然也可以指定DNS主机来查询出域名的IP地址。
2.hostname命令
系统启动的时候会读取/etc/hosts这个文件,由此设置主机的IP以及对应的全名(FQDN)、别名。hostname命令可以用来查询当前执行主机的主机名称、全名、前置名称、域名、别名、FQDN和IP等。
注意
通过hostname命令设置的主机名只是临时的,下次重启系统时,此主机名将不会存在;通过修改配置文件/etc/hosts的主机名才是一直有效的。
3.nslookup命令
nslookup命令的功能和host命令基本上一样,相较而言host可以查询出更多的信息。nslookup用来作为IP与主机名称对应的检查,同样使用/etc/resolv.conf这个文件作为DNS服务器的来源选择。
基本格式:nslookup[-query=[type]][hostname|IP]
参数:-query=type:指定查询的类型,除了传统的IP与主机名称对应之外,DNS还有很多其他的信息,包括mx、cname等。
实例7-12 本地主机执行nslookup命令,结果如图7-10所示。
图7-10 nslookup命令的使用
在符号“>”后面输入要查询的IP或者域名并回车即可。要退出该命令的执行可以使用exit命令。也可以直接指定要查询的IP或者域名,例如:
4.dig命令
在UNIX和Linux系统中,建议使用dig来替代nslookup命令,因为dig命令相对nslookup命令的功能而言强大得多。dig能够查看域名解析、反解析、A记录等。
常用选项解释:
·[@server]:如果不想以配置文件/etc/resolv.conf作为DNS主机来源,可以另设DNS主机IP。
·[-b address]:设置所要询问地址的源IP地址。这必须是主机网络接口上的某一合法的地址。
·[-c class]:缺省查询类(In For Internet)由选项-c重设。class可以是任何合法类,比如查询Hesiod记录的HS类或查询CHAOSNET记录的CH类。
·[-f filename]:使dig在批处理模式下运行,通过从文件filename读取一系列搜索请求加以处理。文件包含许多查询;每行一个。文件中的每一项都应该以和使用命令行接口对dig的查询相同的方法来组织。
·[-k filename]:要签署由dig发送的DNS查询以及对它们使用事务签名(TSIG)的响应,用选项-k指定TSIG密钥文件。
·[-p port#]:如果需要查询一个非标准的端口号,则使用选项-p。port#是dig将发送其查询的端口号,而不是标准的DNS端口号53。该选项可用于测试已在非标准端口号上配置成侦听查询的域名服务器。
·[-t type]:设置查询类型为type。可以是BIND9支持的任意有效查询类型。缺省查询类型是A,除非提供-x选项来指示一个逆向查询。通过指定AXFR的type可以请求一个区域传输。当需要增量区域传输(IXFR)时,type设置为ixfr=N。增量区域传输将包含自从区域的SOA记录中的序列号改为N之后对区域所做的更改。
·[-x addr]:逆向查询(将地址映射到名称)可以通过-x选项加以简化。addr是一个以小数点为界的IPv4地址或冒号为界的IPv6地址。当使用这个选项时,无须提供name、class和type参数。dig自动运行类似11.12.13.10.in-addr.arpa的域名查询,并分别设置查询类型和类为PTR和IN。
·[-y[hmac:]name:key]:可以通过命令行上的-y选项指定TSIG密钥;name是TSIG密码的名称,key是实际的密码。密码是64位加密字符串,通常由dnssec-keygen(8)生成。当在多用户系统上使用选项-y时应该谨慎,因为密码在ps(1)的输出或Shell的历史文件中可能是可见的。当同时使用dig和TSCG认证时,被查询的名称服务器需要知道密码和解码规则。在BIND中,通过提供正确的密码和named.conf中的服务器声明实现。
实例7-13 查询www.google.com.hk的mx信息,结果如图7-11所示。
图7-11 dig命令的使用
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。