📜  反向 DNS 查找 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:22:51.970000             🧑  作者: Mango

反向 DNS 查找 - Shell-Bash

反向 DNS 查找是一种通过 IP 地址查找对应的域名的方法。通常情况下,我们通过域名获取 IP 地址来访问网站,但有时候需要查找某个 IP 地址对应的域名,这就需要使用反向 DNS 查找。在 Shell-Bash 中也提供了相应的命令和工具来实现反向 DNS 查找。

nslookup

nslookup 是一个常用的命令行工具,它提供了查询 DNS 相关信息的功能(包括正向和反向 DNS 查找)。使用 nslookup 进行反向 DNS 查找时,需要将 IP 地址作为参数传递给 nslookup 命令。具体用法如下:

$ nslookup <IP 地址>

例如,查询 IP 地址为 8.8.8.8 对应的域名:

$ nslookup 8.8.8.8
Server:         192.168.1.1
Address:        192.168.1.1#53

Non-authoritative answer:
8.8.8.8.in-addr.arpa     name = dns.google.

Authoritative answers can be found from:

上述结果显示,IP 地址为 8.8.8.8 对应的域名是 dns.google。其中,8.8.8.8.in-addr.arpa 是一个特殊的 DNS 域名,它用于表示反向 DNS 查找中 IP 地址的格式。

host

host 命令也是一个用于查询 DNS 相关信息的工具。相对于 nslookup,host 更加简单易用。使用 host 进行反向 DNS 查找时,同样需要将 IP 地址作为参数传递给 host 命令。具体用法如下:

$ host <IP 地址>

例如,查询 IP 地址为 8.8.8.8 对应的域名:

$ host 8.8.8.8
8.8.8.8.in-addr.arpa domain name pointer dns.google.

上述结果与 nslookup 的结果相同,都显示了 IP 地址为 8.8.8.8 对应的域名是 dns.google。

dig

dig 是一个基于命令行的 DNS 工具,它可以用于查询各种 DNS 记录,包括正向和反向 DNS 查找。相对于 nslookup 和 host,dig 可以提供更详细的信息。使用 dig 进行反向 DNS 查找时,需要将 IP 地址作为参数传递给 dig 命令,同时指定需要查询的 DNS 记录类型(通常为 PTR)。具体用法如下:

$ dig -x <IP 地址> PTR

例如,查询 IP 地址为 8.8.8.8 对应的域名:

$ dig -x 8.8.8.8 PTR

; <<>> DiG 9.10.6 <<>> -x 8.8.8.8 PTR
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3049
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
8.8.8.8.in-addr.arpa.   3474    IN      PTR     dns.google.

;; Query time: 2 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Wed Sep 15 16:53:13 CST 2021
;; MSG SIZE  rcvd: 81

上述结果显示,IP 地址为 8.8.8.8 对应的域名也是 dns.google。除此之外,还显示了其他一些详细的信息,如查询时间、查询状态等。