☆ dig や host を使えるようになろう!! ☆ 以下は, nslookup に代わる dig, host といったコマンドを 一通り使えるようになるためのメモ書きである. ■ dig や host で正引き (ドメイン→アドレス) $ dig www.hokudai.ac.jp : ;; ANSWER SECTION: www.hokudai.ac.jp. 69330 IN A 133.87.1.4 : $ host www.hokudai.ac.jp www.hokudai.ac.jp has address 133.87.1.4 ■ dig や host で逆引き (アドレス→ドメイン) $ dig -x 133.87.45.70 : ;; ANSWER SECTION: 70.45.87.133.in-addr.arpa. 70913 IN PTR yellow.ep.sci.hokudai.ac.jp. : $ host 133.87.45.70 70.45.87.133.in-addr.arpa domain name pointer yellow.ep.sci.hokudai.ac.jp. ■ dig で DNS の正引きゾーンファイルの中身を取り出そう!! 以下では, あるホストの周辺の DNS のホスト情報 を取り出すという作業を dig コマンドで行なってみる. ※ このコマンドを使うホストは, 目的の DNS サーバに対して ping が通らなければならないので注意すること. □ 目的のホストの情報を持つ DNS サーバを割り出す ここで, 目的のホストが www.hokudai.ac.jp だとすると, $ dig hokudai.ac.jp ns のように, ドメイン部である hokudai.ac.jp の ネームサーバ (ns) を聞く. すると : ;; ANSWER SECTION: hokudai.ac.jp. 48770 IN NS nameserv.sys.hokudai.ac.jp. : のようにネームサーバが表示される. または, 以下のように普通に問い合わせるだけでも $ dig www.hokudai.ac.jp : ;; AUTHORITY SECTION: hokudai.ac.jp. 48209 IN NS nameserv.sys.hokudai.ac.jp. : のようにネームサーバが表示される. □ ネームサーバからリストを取り出す $ dig @nameserv.sys.hokudai.ac.jp hokudai.ac.jp axfr とすると, A レコードに関しては cyber.cims.hokudai.ac.jp. 86400 IN A 133.50.100.177 CNAME レコードに関しては ftp.hokudai.ac.jp. 86400 IN CNAME nameserv.sys.hokudai.ac.jp. NS レコードに関しては hokudai.ac.jp. 86400 IN NS nameserv.sys.hokudai.ac.jp. agr.hokudai.ac.jp. 86400 IN NS nameserv.sys.hokudai.ac.jp. MX レコードに関しては hokudai.ac.jp. 86400 IN MX 0 nameserv.sys.hokudai.ac.jp. agenv.hokudai.ac.jp. 86400 IN MX 10 phys.agr.hokudai.ac.jp. といった一通りの情報が取得できる. ■ host で DNS の正引きゾーンファイルの中身を取り出そう!! 以下では, あるホストの周辺の DNS のホスト情報 を取り出すという作業を host コマンドで行なってみる. ※ このコマンドを使うホストは, 目的の DNS サーバに対して ping が通らなければならないので注意すること. □ 目的のホストの情報を持つ DNS サーバを割り出す ここで, 目的のホストが www.hokudai.ac.jp だとすると, $ host -l -t ns hokudai.ac.jp のように, ドメイン部である hokudai.ac.jp の ネームサーバ (-t ns) を聞く. すると hokudai.ac.jp name server nameserv.sys.hokudai.ac.jp. のようにネームサーバが表示される. または, 以下のように冗長出力モードで問い合わせるだけでも $ host -v www.hokudai.ac.jp : ;; AUTHORITY SECTION: hokudai.ac.jp. 48209 IN NS nameserv.sys.hokudai.ac.jp. : のようにネームサーバが表示される. □ ネームサーバからリストを取り出す $ host -l hokudai.ac.jp nameserv.sys.hokudai.ac.jp とすると, A レコードに関しては cyber.cims.hokudai.ac.jp has address 133.50.100.177 CNAME レコードに関しては ftp.hokudai.ac.jp is an alias for nameserv.sys.hokudai.ac.jp. NS レコードに関しては hokudai.ac.jp name server nameserv.sys.hokudai.ac.jp. agr.hokudai.ac.jp name server nameserv.sys.hokudai.ac.jp. MX レコードに関しては hokudai.ac.jp mail is handled by 0 nameserv.sys.hokudai.ac.jp. agenv.hokudai.ac.jp mail is handled by 10 phys.agr.hokudai.ac.jp. といった一通りの情報が取得できる. ■ dig で DNS の逆引きゾーンファイルの中身を取り出そう!! 以下では, あるアドレスの周辺の DNS のアドレス情報 を取り出すという作業を dig コマンドで行なってみる. ※ このコマンドを使うホストは, 目的の DNS サーバに対して ping が通らなければならないので注意すること. □ 目的のホストの情報を持つ DNS サーバを割り出す ここで, 目的のホストが 133.50.160.50 だとすると, $ dig -x 133.50.160.50 ns のように, 133.50.160.50 を逆引きゾーンファイルに持つ ネームサーバ (ns) を聞く. すると : ;; AUTHORITY SECTION: 50.133.in-addr.arpa. 10730 IN SOA nameserv.sys.hokudai.ac.jp. postmaster.nameserv.sys.hokudai.ac.jp. 4000007119 3600 900 3600000 14400 : のようにネームサーバが表示される. または, 以下のように普通に問い合わせるだけでも $ dig -x 133.50.160.50 : ;; AUTHORITY SECTION: 50.133.in-addr.arpa. 74469 IN NS nameserv.sys.hokudai.ac.jp. 50.133.in-addr.arpa. 74469 IN NS nameserv2.sys.hokudai.ac.jp. 50.133.in-addr.arpa. 74469 IN NS nameserv2-hines.sys.hokudai.ac.jp. : のようにネームサーバが表示される. □ ネームサーバからリストを取り出す 上記で, 「50.133.in-addr.arpa.」と表示されたことから, 逆引きゾーンファイルは 133.50 以下を一括で管理していることが分かる. よって, 以下のように問い合わせる $ dig @nameserv.sys.hokudai.ac.jp -x 133.50 axfr とすると, PTR レコードに関して 91.156.50.133.in-addr.arpa. 86400 IN PTR photochem.ep.sci.hokudai.ac.jp. 92.156.50.133.in-addr.arpa. 86400 IN PTR geomac-strawbery.ep.sci.hokudai. というように情報が取得できる. ■ 色々余談 □ dig で DNS サーバのバージョンを探ろう!!! 例えば nameserv.sys.hokudai.ac.jp の DNS サーバの バージョンを知ろうと思ったら以下のようにコマンドする. $ dig @nameserv.sys.hokudai.ac.jp chaos txt version.bind その際に表示される ;; ANSWER SECTION: version.bind. 0 CH TXT "9.2.2rc1" の「9.2.2rc1」がバージョンである. ◆ 参考資料 @IT: DNS Tips:BIND のバージョンを調べる方法とは http://www.atmarkit.co.jp/fnetwork/dnstips/019.html