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

时间:2008-09-25 07:43:52

标签: dns subdomain dig nameservers

我想找出给定域的所有子域。我找到了一个提示,告诉我使用以下选项挖掘权威的Nameserver:

dig @ns1.foo.bar some_domain.com axfr

但这永远不会奏效。有没有人有更好的想法/方法

9 个答案:

答案 0 :(得分:139)

提示(使用axfr)仅在您查询的NS(在您的示例中为ns1.foo.bar)配置为允许来自您正在使用的IP的AXFR请求时才有效;这是不太可能的,除非您的IP被配置为相关域的辅助IP。

基本上,如果你不允许使用axfr,就没有简单的办法。这是故意的,所以绕过它的唯一方法是通过蛮力(即dig a.some_domain.comdig b.some_domain.com,...),我不能推荐,因为它可以被视为拒绝服务攻击。

答案 1 :(得分:98)

如果您无法从DNS获取此信息(例如,您未获得授权),则可以使用Wolfram Alpha

  1. 在搜索框中输入域并运行搜索。 (例如stackexchange.com
  2. Wolfram - Homepage

    1. 在顶部的第3部分(名为“所有stackexchange.com的网络统计信息”)中,点击子域名
    2. Wolfram - Subdomains button

      1. 在“子域”部分中,点击更多
      2. Wolfram - More subdomains button

        您将能够在那里看到子域列表。虽然我怀疑它没有显示所有子域。

答案 2 :(得分:37)

您可以使用:

$ host -l domain.com

在幕后,这将使用上面提到的AXFR查询。但是你可能不被允许这样做。在这种情况下,您将收到transfer failed消息。

答案 3 :(得分:25)

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

答案 4 :(得分:7)

在Windows nslookup中,命令为

ls -d somedomain.com > outfile.txt

将子域列表存储在outfile.txt

现在很少有域允许这个

答案 5 :(得分:7)

免费的robotex工具可以让你这样做但是它们会让你先进入域名的ip:

  1. 找出ip(有一个很好的ff插件可以做到这一点,但我不能发布链接这是我的第一篇文章!)
  2. 在robotex上进行ip搜索:http://www.robtex.com/ip/
  3. 在随后的结果页面中点击您感兴趣的域>
  4. 您将进入一个列出所有子域名的页面+一系列其他信息,例如邮件服务器信息

答案 6 :(得分:6)

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

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

例如:

#nslookup

>ls domain.com

注意:因为nslookup已被弃用于dig和其他newere工具,因此某些版本的nslookup不支持“ls”,最明显的是Mac OS X的捆绑版本。

答案 7 :(得分:5)

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

此工具将尝试区域传输,并查询搜索引擎以查找子域列表。

答案 8 :(得分:4)

如果DNS服务器配置正确,您将无法获得整个域。如果出于某种原因允许从任何主机进行区域传输,则必须向其发送正确的数据包以发出该请求。我怀疑你所包含的挖掘声明是什么。