如何获得域的所有子域的列表?

我想找出给定域的所有子域。 我发现了一个提示,告诉我用以下选项挖掘权威的域名服务器:

dig @ns1.foo.bar some_domain.com axfr 

但是这从来没有工作。 有没有人有一个更好的想法/方法

提示(使用axfr)只有在您查询的NS(您的示例中的ns1.foo.bar)configuration为允许您使用的IP的AXFR请求时才有效; 这是不太可能的,除非您的IPconfiguration为问题域的辅助。

基本上,如果你不允许使用axfr,那么没有简单的方法去做。 这是故意的,所以唯一的解决办法就是通过powershell(比如dig a.some_domain.comdig b.some_domain.com ,…),这是我不能推荐的,因为它可以被看作是一个拒绝服务攻击。

如果您无法从DNS获取这些信息(例如,您没有获得授权),则可以select使用Wolfram Alpha 。

  1. 在search框中input域名并运行search。 (例如stackexchange.com

Wolfram  - 主页

  1. 在顶部的第三部分(名为“所有stackexchange.com的Web统计信息”),单击子域

Wolfram  - 子域按钮

  1. 在“子域”部分中,单击“ 更多”

Wolfram  - 更多子域按钮

您将能够看到那里的子域名单。 虽然我怀疑它不显示所有子域。

您可以使用:

 $ host -l domain.com 

在引擎盖下,这使用上面提到的AXFR查询。 你可能不会被允许这样做。 在这种情况下,你会得到一个transfer failed消息。

  1. dig somedomain.com soa
  2. dig @ns.SOA.com somedomain.com axfr

您可以使用此网站查找子域查找子域

此工具将尝试区域转移,并查询search引擎的子域列表。

robotex工具是免费的,可以让你这样做,但他们让你首先input域的IP:

  1. 找出的IP(有一个很好的FF插件这样做,但我不能张贴链接COS这是我的第一篇文章!)
  2. 做一个ipsearchrobotex: http ://www.robtex.com/ip/
  3. 在结果页面中点击您感兴趣的域名>
  4. 你被带到一个页面列出所有子域名+其他信息,如邮件服务器信息负载

只有在连接到域名的DNS服务器时才能执行此操作,并且为您的IP地址启用AXFR。 这是辅助系统使用从主要加载区域的机制。 在过去,这并没有受到限制,但是出于安全考虑,大多数主名称服务器都有白名单:辅助名称服务器+一对特殊系统。

如果您使用的名称服务器允许使用,那么您可以使用dig或nslookup。

例如:

 #nslookup >ls domain.com 

注意:因为nslookup已经被淘汰,所以有些版本的nslookup不支持“ls”,最显着的是Mac OS X的捆绑版本。

如果DNS服务器configuration正确,您将无法获得整个域名。 如果由于某种原因允许从任何主机进行区域传输,则必须发送正确的数据包来发出请求。 我怀疑这就是你包括的挖掘声明。

在Windows nslookup ,命令是

 ls -d somedomain.com > outfile.txt 

将子域列表存储在outfile.txt中

现在很less的领域允许这样做