如何获取域的所有子域的列表?[关闭]


233

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

dig @ns1.foo.bar some_domain.com axfr

但这是行不通的。有谁有更好的主意/方法


10
另请参阅此处以获取更新的工具列表:security.stackexchange.com/q/35078/18541
NULLZ

2
你甚至可以问谷歌
F. Hauri 2014年

14
site:*。meteor.com/ -site:www.meteor.com
Dipesh KC

6
我希望能进行一次堆栈交换,以便彼此学习从Internet上获取信息的最佳方法。谢谢@DipeshKc
Jason D.

Answers:


144

提示(使用axfr)仅在您要查询的NS(示例中为ns1.foo.bar)配置为允许来自所使用IP的AXFR请求时有效;除非将您的IP配置为该域的辅助域,否则这不太可能。

基本上,如果不允许使用axfr,就没有简单的方法。这是有意的,因此解决该问题的唯一方法是通过蛮力(即dig a.some_domain.comdig b.some_domain.com...),我不建议这样做,因为它可能被视为拒绝服务攻击。


8
@TimB我很确定域名中也不允许使用下划线,尽管它当然只是占位符名称。
阿诺罗夫

2
正确的命令应该是:dig @ 123.456.789.123 DOMAIN.COM -t axfr
Superbiji 2014年

7
Netcraft解决方案:searchdns.netcraft.com/…– warfish
2014年

20
我尝试了此页面上的所有答案,但没有任何效果。这个问题受到保护,所以我无法添加其他答案,但是此网站上的工具对我唯一
有用

2
@ACK_stoverflow-这告诉我我有4个子域,当我知道有超过100个时
Tom Stickel 17-4-25

106

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

  1. 在搜索框中输入域,然后运行搜索。(例如stackexchange.com

Wolfram-主页

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

Wolfram-子域按钮

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

Wolfram-更多子域按钮

您将能够在此处看到子域列表。尽管我怀疑它不会显示所有子域。


32
看来这不再起作用了,至少没有描述。
尼古拉斯·皮克林

4
今天,这对我有用,列出了我感兴趣的域的6个子域
。– Liam,

9
他们的子域信息似乎来自Alexa.com,例如alexa.com/siteinfo/stackoverflow.com
Rob W


18
只需使用Google“站点:”搜索并将已知域添加为否定匹配项,直到它停止查找新域即可。例如,在对域应用此策略几次后realtimerendering.com,我的Google搜索如下所示: site:realtimerendering.com -"www.realtimerendering.com" -"kesen.realtimerendering.com" -"erich.realtimerendering.com" -"advances.realtimerendering.com"
ahcox 2015年

39

您可以使用:

$ host -l domain.com

在后台,这使用AXFR上面提到的查询。不过,您可能不被允许这样做。在这种情况下,您会收到一条transfer failed消息。


对于Windows用户,您可以尝试nslookup domain.com。(host不是适用于Windows
Stevoisiak


8

免费的robotex工具可让您执行此操作,但是它们使您首先输入域的ip:

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

7

在Windows中nslookup,命令为

ls -d somedomain.com > outfile.txt

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

这些天很少有域名允许


6
ls?这不是* nix命令吗?不应该是nslookup -d somedomain.com> outfile.txt
Alex KeySmith 2015年

12
“ ls”是来自nslookup提示符的有效命令。在CMD提示符下,首先输入nslookup,然后按照建议输入ls -d ......
Paul Walker 2016年

nslookup在Windows 10 PowerShell上以Admin身份运行,然后ls -d somedomain.com > outfile.txt得到“无法识别的命令”。
瑞安

6

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

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

例如:

#nslookup

>ls domain.com

注:由于dig和其他较新版本的工具不建议使用nslookup,因此nslookup的某些版本不支持“ ls”,尤其是Mac OS X的捆绑版本。


5

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

该工具将尝试进行区域传输,并向搜索引擎查询子域列表。


7
无法正常运作....

4

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.