如何查找 IP 地址的 DNS 条目

如何查找 IP 地址的 DNS 条目

我正在尝试进行反向 DNS 查找(查找特定 IP 地址的 DNS 条目)。搜索后我发现可以使用dignslookup,但这些工具对我不起作用。例如,我 ping superuser.com,但没有一个命令能给我 dnsname。我该如何实现?

$ ping superuser.com -c 1
PING superuser.com (151.101.65.69) 56(84) bytes of data.
64 bytes from 151.101.65.69 (151.101.65.69): icmp_seq=1 ttl=58 time=20.5 ms

--- superuser.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 20.492/20.492/20.492/0.000 ms
$ dig 151.101.65.69

; <<>> DiG 9.11.26-RedHat-9.11.26-4.el8_4 <<>> 151.101.65.69
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 6817
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;151.101.65.69.         IN  A

;; AUTHORITY SECTION:
.           3007    IN  SOA a.root-servers.net. nstld.verisign-grs.com. 2021092000 1800 900 604800 86400

;; Query time: 0 msec
;; SERVER: 213.133.98.98#53(213.133.98.98)
;; WHEN: Mon Sep 20 19:14:32 CEST 2021
;; MSG SIZE  rcvd: 117

$ nslookup 151.101.65.69
** server can't find 69.65.101.151.in-addr.arpa: NXDOMAIN

$ host 151.101.65.69
Host 69.65.101.151.in-addr.arpa. not found: 3(NXDOMAIN)
$ dig -x 151.101.65.69

; <<>> DiG 9.11.26-RedHat-9.11.26-4.el8_4 <<>> -x 151.101.65.69
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 1600
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;69.65.101.151.in-addr.arpa.    IN  PTR

;; AUTHORITY SECTION:
151.in-addr.arpa.   2244    IN  SOA pri.authdns.ripe.net. dns.ripe.net. 1632153065 3600 600 864000 3600

;; Query time: 0 msec
;; SERVER: 213.133.98.98#53(213.133.98.98)
;; WHEN: Mon Sep 20 19:14:49 CEST 2021
;; MSG SIZE  rcvd: 115

答案1

当负责任的 ISP 没有做好充分准备时,您无法实现这一目标。

正向域和反向“in-addr.arpa”域之间存在差异。

  • 第一种情况是,域名解析为 IP 地址。这由域名所有者控制。
  • 在第二种情况下,IP 地址被解析为名称。这由 IP 地址所有者(通常是 ISP)控制,可以委托给客户,但这是 IP 地址所有者的特权。

如果你再举一个例子dns.google.com. 在这个例子中,域google.com和反向域8.8.8.8.in-地址.arpa有相同的名字。

ping dns.google.com -4
PING dns.google.com (8.8.8.8) 56(84) bytes of data.
64 bytes from dns.google (8.8.8.8): icmp_seq=1 ttl=59 time=3.01 ms

然后尝试使用 nslookup:

nslookup 8.8.8.8
8.8.8.8.in-addr.arpa    name = dns.google.

更常见的是域名(随机示例)e-opt.com无法控制3.97.36.24 24.36.97.3.in-addr.arpa 名称

ping www.e-opt.com
PING www.e-opt.com (3.97.36.24) 56(84) bytes of data.

然后尝试使用 nslookup:

nslookup 3.97.36.24
24.36.97.3.in-addr.arpa name = ec2-3-97-36-24.ca-central-1.compute.amazonaws.com.

答案2

你问的是怎么做 反向 DNS 查找

反向 DNS 查找或反向 DNS 解析 (rDNS) 是域名系统 (DNS) 的查询技术,用于确定与 IP 地址相关联的域名 - 与从域名进行 IP 地址的通常“正向”D​​NS 查找相反。[1] 反向解析 IP 地址的过程使用 PTR 记录。rDNS 涉及搜索域名注册局和注册商表。

下一个问题是:你会在哪里搜索这些信息。有很多 域名注册商,每个注册商都保存着自己的域名和分配的 IP 列表。存在一些高级注册商,但它们并不包含下级注册商的所有数据。真正的数据保存在 DNS 服务器中。

这些工具通常只搜索这些高级注册商或 DNS 服务器,而大多数域名都无法在这些服务器中找到。没有一个数据库包含全世界的所有域名和所有 IP。

相反 DNS将域名转换为 IP,通过反复下降注册商级别直到找到名称来工作。

将 IP 转换为域名的请求需要查询地球上的所有注册商和 DNS 服务器,这在物理上是不可能的。此搜索称为“whois”,并且很少能够精确定位域名。

相关内容