書式
digのhelpを参照すると以下のオプションがいっぱいあるらしい。
dig [@global-server] [domain] [q-type] [q-class] {q-opt} {global-d-opt} host [@local-server] {local-d-opt} [ host [@local-server] {local-d-opt} [...]]
実際によく利用するのは以下のものだけでしょう。
dig [@global-server] [domain] [q-type]
(1) @global-server
利用するネームサーバ(省略時は、サーバに設定の/etc/resolv.confのルールに従います)
(2) domain
調べるドメイン名
(3) q-type
情報のタイプ
●A
Aレコード
●NS
NSレコード
●MX
MXレコード
●SOA
SOA情報
●AXFR
ゾーン転送
●ANY
知っているすべての情報
使用例
実際に使用例をあげます。
● www.example.comの情報を調べる(正引き)
$ dig www.example.com A (1)
$ dig @ns.example.com www.example.com A (2)
$ dig example.com MX (3)
$ dig www.example.com NS (4)
$ dig example.com SOA (5)
$ dig example.com ANY (6)
$ dig @ns.example.com example.com AXFR (7)
(1) 自サーバの/etc/resolv.confのルールに従いwww.example.comのAレコードを調べます。
最後のオプションのAは省略可能です。
(2) ネームサーバにns.example.comを指定してwww.example.comのAレコードを調べます。
(3) 自サーバの/etc/resolv.confのルールに従いexample.comのMXレコードを調べます。
(4) 自サーバの/etc/resolv.confのルールに従いwww.example.comのNSレコードを調べます。
(5) 自サーバの/etc/resolv.confのルールに従いexample.comのSOAレコードを調べます。
(6) 自サーバの/etc/resolv.confのルールに従いexample.comの取り出せるすべてのレコードを出力します。
(7) ns.example.comのネームサーバでZone転送を受け取ります。
ns.example.comがZone転送を許可していないと駄目です。
● 逆引き
頭に-xオプションをつけることで逆引きが可能です。
$ dig -x 61.xxx.xxx.xxx (8)
$ dig -x @ns.example.com 61.xxx.xxx.xxx (9)
(8) 自サーバの/etc/resolv.confのルールに従い指定したIPアドレスの逆引きを調べます。
(9) ネームサーバにns.example.comを指定してIPアドレスの逆引きを調べます。
● BINDのバージョン情報を調べる
$ dig @ns.example.com chaos txt version.bind
ns.example.comのバージョン情報の問い合わせができます。
通常、セキュリティのためバージョンはオリジナルのものが出力されるように設定します。
BIND9設定方法 はこちら
出力結果
以下がwww.example.comの出力結果です。
; <<>> DiG 9.x.x <<>> www.example.com ANY
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25910
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
;; QUESTION SECTION:
;www.example.com. IN ANY
;; ANSWER SECTION:
www.example.com. 172753 IN A 192.0.34.166
;; AUTHORITY SECTION:
example.com. 21553 IN NS a.iana-servers.net.
example.com. 21553 IN NS b.iana-servers.net.
;; ADDITIONAL SECTION:
b.iana-servers.net. 18254 IN A 193.0.0.236
;; Query time: 1 msec
;; SERVER: xx.xx.xx.xx#53(xx.xx.xx.xx)
;; WHEN: Tue Apr 6 01:12:38 2004
;; MSG SIZE rcvd: 113
BINDで定義するZone情報のような結果が表示されます。
nslookupより便利ですね。この機会にdigコマンドへ移行しましょう。