是否可以找到给定域名的所有DNS子域名?

时间:2008-11-20 14:44:49

标签: dns

  

这个问题的存在是因为它有   历史意义,但事实并非如此   被认为是一个很好的主题问题   对于这个网站,所以请不要使用它   作为你可以问类似的证据   这里有问题。

     

更多信息:https://stackoverflow.com/faq

任何人都知道是否可以找到为域名配置的所有A记录,CNAME或子区域记录?

例如,domain.com:

www IN CNAME domain.com.
subdomain1 IN CNAME domain.com.
subdomain2 IN CNAME domain.com. 

subdomain1 IN A 123.4.56.78.
subdomain2 IN A 123.4.56.79. 

我希望将子域保密,我将运行管理应用程序(它将受密码保护并在特殊端口上,但我希望尽可能将其保密)。

5 个答案:

答案 0 :(得分:4)

使用区域转移,即: (在nslookup中)

ls -d google.com

如果您有自己的DNS服务器,则会有区域传输安全设置(通常通过IP)。否则,只需尝试一下,看看它是否有效。

答案 1 :(得分:4)

像其他人所说,你想要的是所谓的区域转移。如果它是您自己的域,您可以配置DNS服务器以将其提供给您。如果它适用于其他某些域,您可能无法获得它,因为大多数DNS管理员认为它是安全威胁。

即使单个记录不是问题(因此DNS也是如此),如果一个邪恶的人获得所有记录的列表,它可能是一个问题:它可以简化攻击。

答案 2 :(得分:1)

以前可以使用:

host -a -l domain.com

答案 3 :(得分:1)

防止区域传输是服务器管理的一个功能,而且正如其他人所说的那样,出于安全原因,这些天通常会被禁用。

当需要添加DNSSEC时,请确保使用新的NSEC3格式记录(来自RFC 5155)而不是原始的NSEC格式,因为后者允许进行区域枚举。

请注意,阻止区域枚举实际上只是安全隐患。如果有人找到您的子域,您仍然需要在应用层获得额外的安全性。

至于您的示例记录:

www IN CNAME domain.com.
subdomain1 IN CNAME domain.com.
subdomain2 IN CNAME domain.com. 
subdomain1 IN A 123.4.56.78.
subdomain2 IN A 123.4.56.79.
  1. 您不能在同一实体中混合CNAME记录和其他RRtypes
  2. A记录中的尾随点无效
  3. 最好不要将CNAME用于WWW记录的域名
  4. 你需要:

    $ORIGIN domain.com
    @      IN SOA ...
           IN A   123.4.56.78
    www    IN A   123.4.56.78
    sub1   IN A   123.4.56.79
    

    (其中sub1.domain.com是隐藏的网站)

答案 4 :(得分:0)

如果名称服务器允许区域传输,您可以使用此页面http://www.magic-net.info/dns-lookup.dnslookup查找给定区域中的所有子域。

15 oct。我已经修改了我的工具。现在它检查前6个名称服务器是否有区域传输,如果没有人允许区域传输,则使用搜索引用Reverse lookup and subdomains search