反向DNS查找

时间:2019-09-22 20:35:42

标签: dns nslookup

反向DNS查找如何工作?

例如我运行dig youtube.com并得到一条记录:172.217.0.46

如果我使用此IP反向查找DNS,我会得到

  

172.217.0.46 lga15s43-in-f14.1e100.net

lga15s43-in-f14.1e100.net确实有此A记录(172.217.0.46),但这不是我希望从反向DNS查找中得到的。我想从IP地址获取youtube.com

是否可以获取与IP地址关联的所有域名? 我正在寻找Linux系统的解决方案。

2 个答案:

答案 0 :(得分:1)

  

反向DNS查找如何工作?

与转发DNS相同,但使用不同的记录类型。

实际上,当您进行dig -x 172.217.0.46时,就像在做dig PTR 46.0.217.172.in-addr.arpa一样,因此您只是在查询DNS树的另一个分支(即使不知道)。 in-addr.arpa成立于很早以前,是IPv4 DNS委托的起点。然后,将IP地址块委派给IANA,并从那里委派给现有的5个RIR,RIR会使用相应的IP块将它们分别委派给LIR。

对于IPv6,它的工作方式相同,但在另一个分支下。

  

我想从IP地址获取youtube.com。

您可能想要它,但是为什么呢?这两个“分支”(前向分支和反向分支)都没有保持同步的操作需求,实际上永远不会因为它们是由不同公司管理而来。

一切都始于IANA,但随后:

  • 对于名称(转发分支),TLD被委派给注册管理机构,然后注册管理机构将名称委派给注册人为其域名选择的任何名称服务器
  • 对于IP地址(反向分支),将空间委派给RIR,然后再委派给LIR,然后有时将托管公司或最终用户的主机分配给拥有自己IP块的人。

想象一下一个相对的中间虚拟主机公司。它可以控制给定的IP地址块,但可以共享虚拟主机:客户端可以在此处托管他们的网站,托管公司对所有托管的网站使用多个IP。 同步PTR记录将是一项艰巨的任务,并且有0个好处:从电子邮件中来看,PTR记录使用得很少。同样,即使在技术上可行,一个PTR记录为给定IP地址指定多个名称的情况也可能不会被许多应用程序正确处理。

RIR数据是公开的。您可以下载每个IPv4和IPv6块的所有者(LIR)列表并在其中进行搜索。它可能无法完全给您提供您要使用的名称。您还可以使用whois协议(不使用DNS,但使用相同的权威来源)以交互方式查询数据。

如果我们再次以您的IP地址为例:

$ whois 172.217.0.46

#
# ARIN WHOIS data and services are subject to the Terms of Use
# available at: https://www.arin.net/resources/registry/whois/tou/
#
# If you see inaccuracies in the results, please report at
# https://www.arin.net/resources/registry/whois/inaccuracy_reporting/
#
# Copyright 1997-2019, American Registry for Internet Numbers, Ltd.
#


NetRange:       172.217.0.0 - 172.217.255.255
CIDR:           172.217.0.0/16
NetName:        GOOGLE
NetHandle:      NET-172-217-0-0-1
Parent:         NET172 (NET-172-0-0-0-0)
NetType:        Direct Allocation
OriginAS:       AS15169
Organization:   Google LLC (GOGL)
RegDate:        2012-04-16
Updated:        2012-04-16
Ref:            https://rdap.arin.net/registry/ip/172.217.0.0



OrgName:        Google LLC
OrgId:          GOGL
Address:        1600 Amphitheatre Parkway
City:           Mountain View
StateProv:      CA
PostalCode:     94043
Country:        US
RegDate:        2000-03-30
Updated:        2018-10-24

因此您可以看到此IP地址“属于” Google,但您不能从中得出在其上运行的网站。

  

是否可以获取与IP地址关联的所有域名?我正在寻找Linux系统的解决方案。

是的,有一种方法,各种公司都可以在线为您提供此服务,但通常不是免费的。

他们如何做:

  • 它们从域名/主机名列表开始:要建立它们可以使用开放的区域文件(所有gTLD),在搜索引擎中进行查询,解析电子邮件标头,使用证书透明日志等。
  • 他们解析这些名称,因此它们获得了关联的IP地址
  • 他们存储此映射
  • 一旦完成,在他们的数据库中进行反向操作是“简单的”。

因此,从技术上讲,它很容易操作,仅乏味且需要处理大量数据。 最重要的是,您需要记住,任何名称-> IP映射都可以随时更改。因此,该数据库在创建时可能已过时,因此它们当然会定期重做前向分辨率。

答案 1 :(得分:0)

不能。 lga15s43-in-f14.1e100.net是与该IP地址关联的PTR记录,DNS会告诉您所有这些。毕竟,如果我现在要购买一个新的随机域,并将它的某个随机子域指向IP 172.217.0.46,就不会期望立即得知我的新创建。