`dig ptr` 是执行反向 DNS 查询的有效方法吗?

`dig ptr` 是执行反向 DNS 查询的有效方法吗?

我知道我们可以用来dig -x执行反向 DNS 查询。

我面前有一本教科书,上面说dig ptrdig -x都是有效的语法。

dig -x绝对适合我,但我没有得到答案dig ptr

~ $ dig ptr 216.239.34.10

; <<>> DiG 9.8.3-P1 <<>> ptr 216.239.34.10
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 41447
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;216.239.34.10.         IN  PTR

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

;; Query time: 325 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Wed Nov 30 20:17:10 2016
;; MSG SIZE  rcvd: 106

~ $ dig -x 216.239.34.10

; <<>> DiG 9.8.3-P1 <<>> -x 216.239.34.10
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13022
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;10.34.239.216.in-addr.arpa.    IN  PTR

;; ANSWER SECTION:
10.34.239.216.in-addr.arpa. 86400 IN    PTR ns2.google.com.

;; AUTHORITY SECTION:
34.239.216.in-addr.arpa. 83894  IN  NS  ns1.google.com.
34.239.216.in-addr.arpa. 83894  IN  NS  ns4.google.com.
34.239.216.in-addr.arpa. 83894  IN  NS  ns2.google.com.
34.239.216.in-addr.arpa. 83894  IN  NS  ns3.google.com.

;; ADDITIONAL SECTION:
ns1.google.com.     327096  IN  A   216.239.32.10
ns2.google.com.     327096  IN  A   216.239.34.10
ns3.google.com.     327096  IN  A   216.239.36.10
ns4.google.com.     327096  IN  A   216.239.38.10

;; Query time: 17 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Wed Nov 30 20:17:18 2016
;; MSG SIZE  rcvd: 204

教科书是错误的还是过时的?

答案1

挖掘-x是后来添加到程序中的一种“语法糖”形式。

IPv4 地址的反向 DNS 记录或 PTR 记录以您在答案中看到的反向格式存储在 DNS 中。过去,当我们想要查看与 IP 地址关联的名称时(例如:1.2.3.4),我们必须颠倒八位字节的顺序,附加特殊后缀in-addr.arpa。然后告诉 dig 查找记录类型 PTR 而不是默认的 A 记录。因此,要查找与 IP 地址 1.2.3.4 关联的名称,我们必须键入dig ptr 4.3.2.1.in-addr.arpa.嗯,从事 dig 代码工作的人意识到,通过添加命令行开关来完成工作,可以为我们省去很多麻烦。我们的计划就这样dig -x 1.2.3.4诞生了。

相关内容