反向DNS查找

反向DNS查找,dns,nslookup,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确实有此记录(172.217.0.46),但这不是我希望从反向DNS查找中得到的。我想从IP地址获取youtube.com 有没有办法获取与IP地址关联的所有域名? 我正在寻找Linux系统的解决方案。你不能lga15

反向DNS查找如何工作

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

如果我使用这个IP进行反向dns查找,我得到

172.217.0.46 lga15s43-in-f14.1e100.net

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

有没有办法获取与IP地址关联的所有域名?
我正在寻找Linux系统的解决方案。

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

反向DNS查找如何工作

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

当您执行
dig-x172.217.0.46
时,实际上就像在addr.arpa中执行
dig PTR 46.0.217.172。所以您只是在查询DNS树的另一个分支,即使不知道它<地址中的code>arpa
早就作为IPv4 DNS授权的起点建立起来了。然后IP地址块被委托给IANA,并从IANA委托给现有的5个RIR,RIR本身使用相应的IP块将它们委托给LIR

它的工作方式与IPv6相同,但只是在另一个分支下

我想从IP地址获取youtube.com

你可能想要它,但为什么?两个“分支机构”(正向分支机构和反向分支机构)都没有保持同步的运营需求,事实上永远不会同步,因为它们由不同的公司管理

一切都从IANA开始,但是:

  • 对于名称(转发分支),TLD被委托给注册中心,然后注册中心将名称委托给注册中心为其域选择的任何名称服务器
  • 对于IP地址(反向分支),空间被委托给RIR,然后是LIR,有时为拥有自己IP块的公司或最终用户托管
想象一下一家相对中等的网络托管公司。它可能控制一个给定的IP地址块,但确实是共享虚拟主机:客户可以在那里托管他们的网站,托管公司对托管的所有网站使用多个IP。 同步PTR记录将是一项艰巨的任务,并且没有任何好处:没有电子邮件,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地址“属于”谷歌,但你不能从中得出什么网站运行在它上面

有没有办法获取与IP地址关联的所有域名?我正在寻找一个Linux系统的解决方案

是的,有一种方法,不同的公司在线为您提供这项服务,但通常不是免费的

他们是如何做到的:

  • 他们从域名/主机名列表开始:构建他们可以使用open ZoneFile(所有GTLD)、在搜索引擎中进行查询、解析电子邮件头、使用证书透明日志等
  • 它们解析这些名称,从而获得关联的IP地址
  • 它们存储这个映射
  • 一旦完成,在他们的数据库中执行相反的操作是“微不足道的”
因此,从技术上讲,操作起来很简单,只是繁琐和大量的数据。 除此之外,您需要记住,任何名称->IP映射都可以随时更改。因此,该数据库在创建时可能已过时,因此他们当然会定期重做正向解析