2010-01-10

[windows] 付属の nslookup をもっと活用してみる

現状
Windowsに付属している唯一のDNSトラブルシューティングツールnslookup.exeは、ドキュメントが不足しているせいで、本来あるべき姿に比べてあまりにも活用されていない状況です。

この記事では、いちいちうざったい対話的インターフェースじゃなくて、コマンドラインインターフェイスの方について使用例を書きます。

基本編
8.8.8.8はGoogleの提供するDNSサーバーなので、必要に応じてISPのDNSサーバーや、DNSコンテンツサーバー(権威サーバー)などに読み替えてください。
nslookup example.com
サーバーを指定しなければ、既定のDNSサーバーに問い合わせをする。
nslookup example.com 8.8.8.8
DNSサーバーをGoogle Public DNS: 8.8.8.8に指定する。デフォルトではAレコードを取得。
nslookup -type=ns example.com 8.8.8.8
必要に応じて-typeで指定する。
nslookup -type=mx example.com 8.8.8.8
MXレコードを確認してメールの配信先を確認する。
nslookup -type=soa example.com 8.8.8.8
SOAシリアルできちんと最新版になっているかを確認する。
nslookup -type=txt example.com 8.8.8.8
TXTレコードを引いて迷惑メール対策用のSPF認証レコードなどを調べる。

応用編
nslookup -debug example.com 8.8.8.8
-debugを付けると詳細情報を表示。TTLなどが分かる。一つ目のGot answerは関係のない逆引きクエリについてなので注意。
nslookup -timeout=10 -type=txt porttest.dns-oarc.net
DNS-OARCのソースポートのランダム性チェックは標準のタイムアウト2秒だと間に合わないので少し延長する。
nslookup -type=ns example.com a.root-servers.net
nslookup -type=ns example.com a.gtld-servers.net
Rootサーバーから手動で再帰的問い合わせをして、委譲状況を確認する。
nslookup -type=txt twitter.wp.dg.cx
WikipediaのDNSインターフェース(笑)で、"twitter" について調べる。

備考
-typeは-qでもOK