Linux / コマンド / nslookup - DNS 名とレコードの照会

nslookupはDNS(Domain Name System)サーバーへ名前やIPアドレスを問い合わせるツールです。コマンド一回で結果を表示する方法と、起動後に続けて問い合わせる対話モードを使えます。

名前を指定すると非対話型、引数なしなら対話型で実行します。既定の問い合わせ先はシステム設定に従い、別のサーバーは最後の引数で指定します。Non-authoritative answerは非権威応答を表し、キャッシュを持つ再帰DNSサーバーなどから回答を得た際にも表示されます。この表示自体は、回答が誤っている、または問い合わせに失敗したという意味ではありません。

基本的な文法

nslookup [オプション] [名前|IP] [DNSサーバー]

インストールされている実装とオプションは、配布版によって異なる場合があります。man nslookupで現在のシステムの説明を確認してください。

使用例

ドメインアドレスの照会

設定されたDNSサーバーでアドレスを問い合わせます。

nslookup example.com

レコード種類の指定

メールサーバーを表すMXレコードを確認します。

nslookup -type=MX example.com

逆引きDNS照会

逆引き用のPTRレコードがあるか調べます。192.0.2.1は文書用アドレスなので、実際には調べたいIPアドレスへ置き換えます。

nslookup 192.0.2.1

どのDNSサーバーが応答したか確認する

nslookupは、デフォルトのDNSサーバーに名前を問い合わせます。結果には使用したサーバーと応答アドレスが一緒に表示される場合があります。

nslookup example.com

出力構造の抜粋(アドレスは説明用の値です):

Server:  192.0.2.53
Name:    example.com
Address: 192.0.2.10

Serverは問い合わせたDNSサーバー、Nameとともに表示される回答側のAddressは検索対象のアドレスです。実際の表示ではDNSサーバー側にもAddress欄があるため、どの欄に属する値か確認してください。回答は問い合わせ先やキャッシュ、時点で変わる場合があります。TTL(キャッシュしてよい時間)などを詳しく比べる方法は、digによる応答フィールドの確認で説明しています。

主なオプションと形式

オプション・形式 説明
-type=形式 AはIPv4、AAAAはIPv6、MXはメール配送先、TXTはテキスト情報のレコードを選択します。
-query=形式 問い合わせレコード形式を指定する別名です。
-timeout=秒 応答を待つ初期タイムアウトを秒単位で設定します。再試行を含めた全実行時間の上限ではありません。
末尾のサーバー引数 デフォルトではなく特定のDNSサーバーに問い合わせます。
引数 なし 対話モードに入ります。

使用する際の注意点

DNS応答がないからといってネットワーク接続まで失敗したと断定しないでください。使用しているサーバーやレコード形式、キャッシュ状態を確認してください。nslookupはシステムの/etc/hosts処理やアプリケーションのすべての名前解決経路をそのまま再現するわけではありません。システムの名前サービスを調べる方法は、getentによる名前サービス情報の確認も参照してください。

よくある質問

nslookupで対話モードを終了するには?

プロンプトで exit を入力するか、Ctrl+Dで終了できます。

公式ドキュメント

オプションの正確な動作と実装ごとの違いは、nslookupに関する公式ドキュメントで確認できます。