DNSサーバーに対して問い合わせを行い、その応答を各セクションごとに詳しく表示するdigコマンドとdrillコマンドの使い方を解説する。
digコマンドやdrillコマンドは、DNSサーバーに対して問い合わせを行い、その応答を各セクションごとに詳しく表示するためのコマンドである。digコマンドはBINDの開発元であるISC(Internet Systems Consortium, Inc.)が提供しており、drillコマンドはNSD/Unboundの開発元であるNLnet Labsが提供している。
digコマンドとdrillコマンドでは、出力フォーマットやコマンド引数に異なる点があるが、得られる情報はほぼ同等である。drillコマンドはdigコマンドを参考にして作られたため、それぞれのコマンドの使い方は似ている。基本的な使い方を以下に示す。
dig @server domain query-type +query-option
drill query-option domain @server query-type
指定 | 意味 |
---|---|
server | 利用するネームサーバーホスト名またはIPアドレス |
domain | 情報を知りたいドメイン名 |
query-type | 知りたい情報のタイプ |
表1 指定する内容 |
query-type | 意味 |
---|---|
A | IPv4アドレス |
NS | ネームサーバー |
MX | メールサーバーの情報 |
SOA | 権威の情報 |
ANY | 知っている全ての情報 |
表2 query-type例 |
digコマンドとdrillコマンドの出力は、それぞれ以下のようになる。バージョン情報の出力有無や、空行によるセクション区切りの有無の差があるが、基本的に同様のフォーマットとなっている。なお、下記の例では権威DNSサーバーの設定状況を直接確認しているため、非再帰検索を示す“+norec”(digコマンドの場合)や“-o rd”(drillコマンドの場合)オプションを付けていることに注意されたい。
% dig +norec @ns1.jprs.co.jpjprs.co.jp mx
; <<>> DiG 9.10.1 <<>> +norec @ns1.jprs.co.jpjprs.co.jp mx
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21604
;; flags: qr aa; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 10
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;jprs.co.jp. IN MX
;; ANSWER SECTION:
jprs.co.jp. 10800 IN MX 10 off-mx01.tyo.jprs.co.jp.
jprs.co.jp. 10800 IN MX 20 off-mx02.tyo.jprs.co.jp.
;; AUTHORITY SECTION:
jprs.co.jp. 86400 IN NS ns1.jprs.co.jp.
jprs.co.jp. 86400 IN NS ns3.jprs.co.jp.
jprs.co.jp. 86400 IN NS ns2.jprs.co.jp.
;; ADDITIONAL SECTION:
off-mx01.tyo.jprs.co.jp. 86400 IN A 202.11.16.214
off-mx01.tyo.jprs.co.jp. 86400 IN AAAA 2001:df0:8:18::30
off-mx02.tyo.jprs.co.jp. 86400 IN A 202.11.16.215
off-mx02.tyo.jprs.co.jp. 86400 IN AAAA 2001:df0:8:18::40
ns1.jprs.co.jp. 86400 IN A 202.11.16.49
ns1.jprs.co.jp. 86400 IN AAAA 2001:df0:8::a153
ns2.jprs.co.jp. 86400 IN A 202.11.16.59
ns2.jprs.co.jp. 86400 IN AAAA 2001:df0:8::a253
ns3.jprs.co.jp. 86400 IN A 61.200.83.204
;; Query time: 5 msec
;; SERVER: 2001:df0:8::a153#53(2001:df0:8::a153)
;; WHEN: Tue Nov 18 20:20:20 JST 2014
;; MSG SIZE rcvd: 339
% drill -o rd @ns1.jprs.co.jpjprs.co.jp mx
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 10805
;; flags: qr aa ; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 9
;; QUESTION SECTION:
;; jprs.co.jp. IN MX
;; ANSWER SECTION:
jprs.co.jp. 10800 IN MX 10 off-mx01.tyo.jprs.co.jp.
jprs.co.jp. 10800 IN MX 20 off-mx02.tyo.jprs.co.jp.
;; AUTHORITY SECTION:
jprs.co.jp. 86400 IN NS ns2.jprs.co.jp.
jprs.co.jp. 86400 IN NS ns1.jprs.co.jp.
jprs.co.jp. 86400 IN NS ns3.jprs.co.jp.
;; ADDITIONAL SECTION:
off-mx01.tyo.jprs.co.jp. 86400 IN A 202.11.16.214
off-mx01.tyo.jprs.co.jp. 86400 IN AAAA 2001:df0:8:18::30
off-mx02.tyo.jprs.co.jp. 86400 IN A 202.11.16.215
off-mx02.tyo.jprs.co.jp. 86400 IN AAAA 2001:df0:8:18::40
ns1.jprs.co.jp. 86400 IN A 202.11.16.49
ns1.jprs.co.jp. 86400 IN AAAA 2001:df0:8::a153
ns2.jprs.co.jp. 86400 IN A 202.11.16.59
ns2.jprs.co.jp. 86400 IN AAAA 2001:df0:8::a253
ns3.jprs.co.jp. 86400 IN A 61.200.83.204
;; Query time: 2 msec
;; SERVER: 202.11.16.49
;; WHEN: Tue Nov 18 20:20:20 2014
;; MSG SIZE rcvd: 328
digコマンド、drillコマンドを用いる際には、キャッシュDNSサーバーと権威DNSサーバーのどちらに対して調査を行うのかを常に意識する必要がある。これは、問い合わせを行う際に
という2つのケースがあるためである。それぞれのケースでは、再帰検索要求が有効かどうかが異なる。
対象 | 再帰検索要求 |
---|---|
キャッシュDNSサーバー | 有効 |
権威DNSサーバー | 無効 |
表3 問い合わせの際の再帰検索 |
digコマンドもdrillコマンドも、どちらもデフォルトで再帰検索要求が有効になっている。権威DNSサーバーへの問い合わせの場合、再帰検索要求を無効にする場合には、“+norec”オプション(digコマンドの場合)や“-o rd”オプション(drillコマンドの場合)を次のように指定してコマンドを実行する。
dig +norec @ns1.jprs.co.jpjprs.co.jp
drill -o rd @ns1.jprs.co.jpjprs.co.jp
これにより、再帰検索要求が無効となり、キャッシュDNSサーバーが権威DNSサーバーに向けて送る問い合わせと同等のものとなる。
Copyright © ITmedia, Inc. All Rights Reserved.