nslookupとdigを使ってみた

先日、DNSのバージョンアップ作業に携わりました。

この手の作業は、未経験のド素人だったので、有識者とGoogle先生に教えてもらいながらの作業でした。

 

バージョンアップ後の動作検証で使用したのは、「nslookup」「dig」の2つ

のコマンドです。

 

2つともネームサーバに対して問い合わせを行い、その応答結果を表示するコマンドです。

両者の違いを簡単に言うと、以下です。

nslookupコマンドは、ネームサーバの応答結果を見やすいように加工して表示する

digコマンドは、ネームサーバの応答結果をほぼそのまま表示する

 

nslookupはさすがに知っていたが、digは恥ずかしながら知らなかったです。

digは、windowsは標準実装されていないから馴染みがなかったのかなぁと。

 

以下、実行例です。

お題:「www.yahoo.co.jp」というドメイン名の名前解決を実施。

実行環境は、linuxサーバ下。

図 1 nslookupの実行結果

■セクション1

DNSサーバのIPアドレス・ポート番号

■セクション2

「Non-authoritative answer」は、キャッシュDNSサーバ(権威DNSサーバでない)が回答したということ。

CNAMEは別名の定義で、「www.yahoo.co.jp」は、正式名「edge12.g.yimg.jp.」のIPアドレスを見てくださいということ。

続いて、digコマンド。

■HEADER

statusは、

・NOERROR:正しく情報を得られた場合。

・NXDOMAIN:ドメインが存在しない場合。

・REFUSED:何らかの理由でクエリを拒否された場合。

 

■QUESTION SECTION

DNSサーバへの問い合わせ内容。

 

■ANSWER SECTION

問い合わせ内容に対する返答。

 

■AUTHORITY SECTION

問い合わせ内容の権威を持っているDNSサーバ情報(NSレコード)。

 

■ADDITIONAL SECTION

追加情報(ここでは、回答されたNSレコード・ホストの情報)。

 

■最後のセクション

問い合わせにかかった時間、DNSサーバ、実施時間、メッセージサイズ。

 

以上が、「nslookup」と「dig」の一例です。

より詳しくデバッグしたい場合は、digの方が良いかと思いますが、両コマンドともオプションもいくつかあり、使いこなすといろいろできるかと思います。

(逆引き、DNSサーバ指定、再帰問い合わせしないなど)

 

今回をきっかけにもっと理解を深めていきたいと思います。