digとはdomain information groperの略で、ネームサーバーに問い合わせを行い、その応答結果を表示するコマンドです。
digとよく似た機能を提供するコマンドにnslookupがあります。その違いは、nslookupがネームサーバーからの応答を見やすいように加工して表示する(そのため、ときに意図しない結果に見える)のに対して、digはほぼそのまま表示するという点です。また、nslookupはフルサービスリゾルバ*1の挙動を前提にしている部分があり、コンテンツサーバーの挙動を知りたいときには向いていません。nslookupはBIND 4/8のコマンドで、BIND 9以降ではdigの使用が推奨されています。
# dig www.google.co.jp
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 <<>> www.google.co.jp
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54701
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;www.google.co.jp. IN A
;; ANSWER SECTION:
www.google.co.jp. 345600 IN CNAME www.google.com.
www.google.com. 604800 IN CNAME www.l.google.com.
www.l.google.com. 300 IN A 72.14.203.104
www.l.google.com. 300 IN A 72.14.203.105
www.l.google.com. 300 IN A 72.14.203.106
www.l.google.com. 300 IN A 72.14.203.147
www.l.google.com. 300 IN A 72.14.203.99
www.l.google.com. 300 IN A 72.14.203.103
;; AUTHORITY SECTION:
google.com. 172799 IN NS ns3.google.com.
google.com. 172799 IN NS ns4.google.com.
google.com. 172799 IN NS ns1.google.com.
google.com. 172799 IN NS ns2.google.com.
;; ADDITIONAL SECTION:
ns1.google.com. 345599 IN A 216.239.32.10
ns2.google.com. 345599 IN A 216.239.34.10
ns3.google.com. 345600 IN A 216.239.36.10
ns4.google.com. 345599 IN A 216.239.38.10
;; Query time: 718 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Feb 10 20:46:31 2011
;; MSG SIZE rcvd: 314
digコマンドを使ってGoogle先生のドメイン名を問い合わせてみました。応答結果がほぼそのまま表示されています。
# nslookup www.google.co.jp
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
www.google.co.jp canonical name = www.google.com.
www.google.com canonical name = www.l.google.com.
Name: www.l.google.com
Address: 72.14.203.103
Name: www.l.google.com
Address: 72.14.203.104
Name: www.l.google.com
Address: 72.14.203.105
Name: www.l.google.com
Address: 72.14.203.106
Name: www.l.google.com
Address: 72.14.203.147
Name: www.l.google.com
Address: 72.14.203.99
nslookupコマンドを使って同じドメイン名を問い合わせてみました。応答結果が加工されて、一部の情報は表示されていません。
ネットワーク関係のトラブルシューティングには、生の応答結果を確認できるdigコマンドの方が向いています。