我知道我们可以dig -x用来执行反向 DNS 查询。
我面前有一本教科书,上面说dig ptr和dig -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
Run Code Online (Sandbox Code Playgroud)
教科书是错误的还是过时的?
小智 55
dig -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 -x 1.2.3.4诞生了。