反向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系统的解决方案。
答案 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,但随后:
想象一下一个相对的中间虚拟主机公司。它可以控制给定的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系统的解决方案。
是的,有一种方法,各种公司都可以在线为您提供此服务,但通常不是免费的。
他们如何做:
因此,从技术上讲,它很容易操作,仅乏味且需要处理大量数据。 最重要的是,您需要记住,任何名称-> IP映射都可以随时更改。因此,该数据库在创建时可能已过时,因此它们当然会定期重做前向分辨率。
答案 1 :(得分:0)
不能。 lga15s43-in-f14.1e100.net
是与该IP地址关联的PTR记录,DNS会告诉您所有这些。毕竟,如果我现在要购买一个新的随机域,并将它的某个随机子域指向IP 172.217.0.46,就不会期望立即得知我的新创建。