我知道我们可以用来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
教科书是错误的还是过时的?
答案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
诞生了。