windows-server-2003 – 查询服务器的CNAME的DNS
发布时间:2021-01-11 17:14 所属栏目:117 来源:网络整理
导读:有没有办法查询我们的内部DNS条目,以发现指向特定服务器的所有CNAME条目? 编辑:我们是Windows环境,Server 2003. 您没有指定您的环境是什么,但如果您使用的是Unix,我认为dig和grep的组合应该可行. ns.example.com应该是您的名称服务器的主机名,example.com
有没有办法查询我们的内部DNS条目,以发现指向特定服务器的所有CNAME条目? 编辑:我们是Windows环境,Server 2003. 您没有指定您的环境是什么,但如果您使用的是Unix,我认为dig和grep的组合应该可行. ns.example.com应该是您的名称服务器的主机名,example.com是您的主机所属的域,HOST是您要查找所有CNAME记录的主机.这实际上是grep命令中的制表符,而不是字面上的< TAB> (您可能需要调整grep字符串).您的名称服务器也需要配置为允许区域传输,其详细信息将取决于实现. dig @ns.example.com example.com axfr |grep 'CNAME<tab>HOST$' 或者,如果您使用的是Windows,则可以使用nslookup: C:\&; nslookup > name ns.example.com > ls -a example.com FILE 这应该将ns.example.com“知道”的域example.com的所有记录输出到FILE.然后,您可以使用您想要在文本文件中排序的任何工具来查找相应的CNAMES. 或者使用这个未经测试(但看起来正确的)perl script: #!/usr/bin/perl use Net::DNS; ($target,$zone) = @ARGV; $res = new Net::DNS::Resolver; foreach $rr ($res->axfr($zone)) { print $rr->name."\n" if (($rr->type eq "CNAME") && ($rr->rdatastr eq $target.".")); } 完整性的几点: >正如@womble所说,CNAME没有相当于PTR的记录.您必须通过对与主机的A记录对应的CNAMES的所有区域信息进行排序来使用一些上下文感知.>这仅适用于您的DNS服务器(如果您有权查看区域信息).没有办法为属于其他区域的主机“跟踪”CNAMES.>正如@BillThor所述,除了CNAMES之外,还有其他方法可以将主机名别名.同样,您需要一些上下文意识. (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读