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
教科書は間違っているか、古くなっていますか?
Dig -xは、後でプログラムに追加された「構文糖」の形式です。
IPv4アドレスの逆引きDNSレコード、つまりPTRレコードは、回答に表示される逆形式でDNSに格納されます。以前は、IPアドレスに関連付けられている名前を確認したい場合(例:1.2.3.4)、オクテットの順序を逆にし、特別なサフィックスin-addr。 arpa。そして、デフォルトのAレコードの代わりにレコードタイプPTRのルックアップを行うようにDigに指示します。したがって、IPアドレス1.2.3.4に関連付けられた名前を検索するには、Dig ptr 4.3.2.1.in-addr.arpa.
と入力する必要があります。さて、Digコードに取り組んでいる誰かが、コマンドラインスイッチを私たちのためにプログラムで仕事をするので、Dig -x 1.2.3.4
が生まれました。