我想找出给定域的所有子域.我找到了一个提示,告诉我使用以下选项挖掘权威的Nameserver:
dig @ns1.foo.bar some_domain.com axfr
但这永远不会奏效.有谁有更好的想法/方法
提示(使用axfr)仅在您查询的NS(在您的示例中为ns1.foo.bar)配置为允许来自您正在使用的IP的AXFR请求时才有效; 这是不太可能的,除非您的IP配置为相关域的辅助IP.
基本上,如果你不允许使用axfr,就没有简单的办法.这是故意的,所以它周围的唯一方法是通过暴力破解(即dig a.some_domain.com
,dig b.some_domain.com
...),我可以不推荐,因为它可以作为服务拒绝攻击进行查看.
如果您无法从DNS获取此信息(例如,您未获得授权),则可以选择使用Wolfram Alpha.
在搜索框中输入域并运行搜索.(例如stackexchange.com
)
在顶部的第3部分(名为"所有stackexchange.com的Web统计信息")中,单击" 子域"
在"子域"部分中,单击" 更多"
您将能够在那里看到子域列表.虽然我怀疑它没有显示所有子域.
您可以使用:
$ host -l domain.com
在引擎盖下,这使用AXFR
上面提到的查询.但是你可能不被允许这样做.在这种情况下,您将收到一条transfer failed
消息.
dig somedomain.com soa
dig @ns.SOA.com somedomain.com axfr
在Windows中nslookup
,命令是
ls -d somedomain.com > outfile.txt
它将子域列表存储在outfile.txt中
现在很少有域允许这样做
免费的robotex工具可以让你这样做,但它们会让你先进入域名的ip:
找出ip(有一个很好的ff插件可以做到这一点,但我不能发布链接这是我的第一篇帖子!)
在robotex上进行ip搜索:http://www.robtex.com/ip/
在随后的结果页面中,单击您感兴趣的域>
您将进入一个列出所有子域的页面+一堆其他信息,例如邮件服务器信息
只有在连接到域的DNS服务器时才能执行此操作 - 并且 - 为您的IP地址启用了AXFR.这是辅助系统用于从主服务器加载区域的机制.在过去,这不受限制,但由于安全问题,大多数主要名称服务器都有一个白名单:辅助名称服务器+几个特殊系统.
如果您使用的名称服务器允许这样,那么您可以使用dig或nslookup.
例如:
#nslookup >ls domain.com
注意:因为nslookup已被弃用于dig和其他newere工具,因此某些版本的nslookup不支持"ls",最值得注意的是Mac OS X的捆绑版本.
您可以使用此站点查找子域查找子域
此工具将尝试区域传输,并查询搜索引擎以查找子域列表.