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

Dns 如何获取域的所有子域的列表?,dns,subdomain,dig,nameservers,Dns,Subdomain,Dig,Nameservers,我想找出给定域的所有子域。我发现一个提示,提示我使用以下选项挖掘权威名称服务器: dig @ns1.foo.bar some_domain.com axfr 但这永远不会奏效。如果DNS服务器配置正确,您将无法获取整个域。如果出于某种原因,is允许从任何主机进行区域传输,则必须向其发送正确的数据包以发出该请求。我怀疑您包含的dig语句就是这样做的。在Windowsnslookup中,命令是 ls -d somedomain.com > outfile.txt 它将子域列表存储在outf

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

dig @ns1.foo.bar some_domain.com axfr

但这永远不会奏效。如果DNS服务器配置正确,您将无法获取整个域。如果出于某种原因,is允许从任何主机进行区域传输,则必须向其发送正确的数据包以发出该请求。我怀疑您包含的dig语句就是这样做的。

在Windows
nslookup
中,命令是

ls -d somedomain.com > outfile.txt
它将子域列表存储在outfile.txt中

现在很少有域允许此操作

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


基本上,如果不允许使用axfr,就没有简单的方法可以做到这一点。这是故意的,所以唯一的解决办法就是使用暴力(即,
dig a.some_domain.com
dig b.some_domain.com
,…),我不推荐使用暴力,因为这可能被视为拒绝服务攻击。

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

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

例如:

#nslookup

>ls domain.com
注意:由于dig和其他newere工具不推荐使用nslookup,一些版本的nslookup不支持“ls”,最明显的是Mac OS X的捆绑版本

  • dig somedomain.com soa
  • dig@ns.SOA.com somedomain.com axfr

  • 免费的robotex工具将允许您这样做,但它们会让您首先进入域的ip:

  • 找出ip(有一个很好的ff插件可以做到这一点,但我不能发布链接,因为这是我第一次在这里发布!)
  • 在robotex上执行ip搜索:
  • 在随后的结果页面中,单击您感兴趣的域>
  • 您将进入一个页面,该页面列出了所有子域以及大量其他信息,如邮件服务器信息

  • 如果您无法从DNS获取此信息(例如,您未经授权),则可以使用另一种方法

  • 在搜索框中输入域并运行搜索。(例如)
  • 在顶部的第三部分(名为“所有stackexchange.com的Web统计信息”)中,单击子域
  • 在子域部分,单击更多
  • 您将能够在那里看到子域列表。尽管我怀疑它没有显示所有子域。

    您可以使用:

    $ host -l domain.com

    在引擎盖下,这将使用上面提到的
    AXFR
    查询。但你可能不被允许这样做。在这种情况下,您将收到一条
    传输失败
    消息。

    如果传输失败,您有什么建议吗?如果禁用axfr,这当然不起作用。这似乎不再起作用,至少不像描述的那样。这对我今天起到了作用,列出了我感兴趣的域的6个子域。它们的子域信息似乎来自Alexa.com,例如,或者你可以使用此网站:只需使用google“site:”搜索并添加已知域作为负匹配,直到它停止查找新域。例如,在对域
    realtimeredering.com
    应用此策略几次后,我的谷歌搜索结果如下:
    站点:realtimeredering.com-“www.realtimeredering.com”-“kesen.realtimeredering.com”-“erich.realtimeredering.com”-“advances.realtimeredering.com”
    另请参见此处,以获取更新的工具列表:site:*.meteor.com/-site:www.meteor.com我希望有一个堆栈交换,只是为了相互学习从互联网获取信息的最佳方式。谢谢@DipeshKc可能会帮到你。对于受ssl保护的子域。正确的命令应该是:dig@123.456.789.123 DOMAIN.COM-t axfrNetcraft解决方案:我尝试了此页面上的每个答案,但没有任何效果。这个问题是受保护的,因此我无法添加其他答案,但该网站上的工具是唯一对我有效的工具:@ACK_stoverflow-这告诉我我有4个子域,当我知道有100多个子域时,我们如何检查一个域是否支持AXFR请求?ls?这不是一个*nix命令吗?它不应该是nslookup-dsomedomain.com>outfile.txt“ls”是来自nslookup提示符的有效命令。在CMD提示符中,首先输入nslookup,然后可以输入ls-d。。。。。。根据建议,我在Windows 10 PowerShell上以管理员身份运行了
    nslookup
    ,然后
    ls-d somedomain.com>outfile.txt
    ,并获得了“无法识别的命令”。对于Windows用户,您可以尝试
    nslookup domain.com
    。(
    host
    is)