nslookupコマンドの使い方、初心者に必要なことだけを説明する

6 min 180,879 views

この記事では、DNSサーバーと通信して名前解決の正引きと逆引きができるネットワークコマンド「nslookup」の使い方を説明します。

「nslookup」は「エヌエスルックアップ」と読みます。

「nslookup」を使うと、「yahoo.co.jp」の様なドメイン名からIPアドレスを調べることができます。(正引き)

また、その逆でIPアドレスからドメイン名を調べることもできます。(逆引き)

この様に、ドメイン名とIPアドレスの関連づけを調べることを名前解決といいます。

この記事では、Windowsのコマンドプロンプトでネットワークコマンド「nslookup」を使います。

コマンドプロンプトの基本操作についてはこちらの記事にまとめていますので、必要な方はご参照下さい。

「nslookup」はDNSサーバーと通信して名前解決の正引きと逆引きができる

「nslookup」を使うと、「yahoo.co.jp」の様なドメイン名からIPアドレスを調べることができます。(正引き)

また、その逆でIPアドレスからドメイン名を調べることもできます。(逆引き)

コマンドプロンプトで「nslookup」を実行して「yahoo.co.jp」のIPアドレスを調べた結果が次の画像です。

コマンドプロンプトで「nslookup yahoo.co.jp」を実行した画面。サーバー名はUnKnown、DNSサーバーのアドレスは伏せてある。権限のない回答としてyahoo.co.jpのIPアドレス183.79.135.206と182.22.59.229が表示されている

DNSサーバーの設定が間違っていて通信できない時などは、この「nslookup」を使えば原因に気づくことができます。

Webブラウザでサイトにアクセスする時は、通常ドメイン名(yahoo.co.jpなど)で指定します。

この時、ドメインのIPアドレスを知るために、OSが裏で、ドメイン名を管理するDNSサーバーに問い合わせを行いIPアドレスを教えてもらっているのです。

この「名前からIPアドレスを調べるしくみ」そのものについては、別の記事でまとめています。そもそもDNSとは何かから知りたい方は、先にこちらを読むと分かりやすくなります。

「nslookup」は、DNSサーバーに問い合わせができるコマンドなのです。

Microsoft の公式リファレンスでも「ドメイン ネーム システム (DNS) インフラストラクチャの診断に使用できる情報を表示します」と説明されています。名前とIPアドレスの対応がおかしいときに、その場で確かめるための道具だと考えてください。

ノンネットワークエンジニアには少し難しいですが、なんとなくこんなことができるんだなと頭の片隅に覚えておきましょう。

「nslookup」コマンドの使い方

「nslookup」の使い方について説明していきます。

ノンネットワークエンジニアの方は、次の項目だけ読んでおけば十分です。

  • よく使う書式
  • 実行結果の見方(ポイントのみ)

もう少し詳しく知りたい方は、その先を読み進めていって下さい。

よく使う書式

ノンネットワークエンジニアが「nslookup」を使うなら、次の書式だけ覚えておきましょう。

この書式だけ覚えよう
nslookup

「nslookup」を実行すると対話型モードになります。

ノンネットワークエンジニアの方は、対話型モードがおすすめです。

対話モードでの簡単な使い方を説明します。

対話型モードに入る

コマンドプロンプトで「nslookup」だけを実行し、対話型モードに入った画面。既定のサーバーがUnKnown、アドレスは伏せてあり、最後に入力待ちの「>」が表示されている

最初に「nslookup」を実行し対話モードに入ります。

「既定のサーバー」にはDNSサーバーのドメイン名が表示されます。

ドメイン名が不明な場合は「UnKnown」が表示されます。

対話モードに入ると「>」が表示されます。

IPアドレスを問い合わせる

nslookupの対話型モードで「yahoo.co.jp」と入力し、IPアドレス183.79.135.206と182.22.59.229が返ってきた画面

IPアドレスを問い合わせるには、ドメイン名を入力します。

例えば「yahoo.co.jp」を入力すると、IPアドレスを表示してくれます。

ドメイン名を問い合わせる

nslookupの対話型モードで「183.79.135.206」と入力し、ドメイン名f1.top.vip.kks.yahoo.co.jpが返ってきた画面

ドメイン名を問い合わせるには、IPアドレスを入力します。

例えば「183.79.135.206」と入力すると、該当するドメイン名を表示してくれます。

対話型モードを抜ける

nslookupの対話型モードで「exit」と入力して抜け、通常のコマンドプロンプトに戻った画面

対話型モードを抜けるには「exit」と入力します。

打つ前に確認したいときは、やりたいことを選ぶだけでコマンドを組み立てられる道具もあります。「ドメイン名からIPを引きたい」を選ぶと、この対話型モードに入る書式が出ます。ネットワークコマンドを作る

実行結果の見方(ポイントのみ)

nslookupの実行結果に2つの枠が付いた図。枠1は問い合わせに使ったDNSサーバーの情報、枠2は「権限のない回答」として返ってきたドメイン名とIPアドレスを指している
  1. 検索に使ったDNSサーバの情報が表示されます。
  2. 検索結果の情報が表示されます。

上の画面を文字にすると、次のようになっています。

「nslookup」で yahoo.co.jp を調べた結果
> yahoo.co.jp
サーバー:  UnKnown        ← ① どのDNSサーバーに聞いたか
Address:  (DNSサーバーのIPアドレス)

権限のない回答:
名前:    yahoo.co.jp      ← ② 聞いた答え
Addresses:  183.79.135.206
            182.22.59.229

見るのは②だけで十分です。①は「どのDNSサーバーに聞いたか」なので、調べたい答えは②の「名前」と「Addresses」に出ます。

①のサーバー名が「UnKnown」でも異常ではありません。聞き先のDNSサーバーに名前が付いていなかった、というだけです。答えは②に出ているので、そのまま読み進めて構いません。

「権限のない回答」と出ても失敗ではありません。そのドメイン名を管理している大元のDNSサーバー以外から返ってきた答え(多くは途中のDNSサーバーが覚えていたもの)という意味です。ふだんはこちらが普通なので、気にしなくて構いません。

英語で表示されることもあります

この記事の画面は日本語で表示されていますが、環境によっては同じ内容が英語で出ます。実際、私が2026年8月にWindows 11で試したときは英語でした。

どちらで出ても、見る場所と意味は同じです。並びも変わりません。

日本語のとき英語のとき意味
既定のサーバーDefault Server対話型モードに入ったときに出る、聞き先のDNSサーバー
サーバーServerどのDNSサーバーに聞いたか
権限のない回答Non-authoritative answer大元ではなく途中のDNSサーバーが覚えていた答え
名前Name調べたドメイン名(ここが答え)
AddressesAddressesそのドメイン名のIPアドレス

どういうときに英語になるのかは、はっきりした条件が分かっていないため書きません。自分の画面がどちらでも、上の表で読み替えれば同じように使えます。ヘルプ(対話型モードで「?」)の表示も、環境によって英語になります。

ヘルプで全てのオプションを表示する

「nslookup」の対話モードにはコマンドがたくさん用意されています。

しかし、ノンネットワークエンジニアの方には、これらのコマンドはほとんど必要ありません。

ここでは、「nslookup」のコマンドを一覧表示する方法だけ説明します。

「nslookup」のコマンドを一覧表示するには、対話モードに入った後、次のように入力します。

オプションの表示

?

と入力します。

実行すると、次の様に全オプションと説明が表示されます。

C:\>nslookup
既定のサーバー: UnKnown
Address: (DNSサーバーのIPアドレス)

> ?
コマンド: (識別子は大文字で示され、[] はオプションを意味します)
NAME – 既定のサーバーを使用するホスト/ドメイン名に関する情報を
印刷します
NAME1 NAME2 – 上記と同様ですが、NAME2 をサーバーとして使用します
help または ? – 一般的なコマンドに関する情報を印刷します
set OPTION – オプションを設定します
all – オプション、現在のサーバー、およびホストを印刷します
[no]debug – デバッグ情報を印刷します
[no]d2 – 完全なデバッグ情報を印刷します
[no]defname – 各クエリにドメイン名を付加します
[no]recurse – クエリへの再帰回答を要求します
[no]search – ドメイン検索一覧を使用します
[no]vc – 常に仮想回線を使用します
domain=NAME – 既定のドメイン名を NAME に設定します
srchlist=N1[/N2/…/N6] – ドメインを N1 に設定し、検索一覧を N1、N2 などに
設定します
root=NAME – ルート サーバーを NAME に設定します
retry=X – 再試行の回数を X に設定します
timeout=X – 初期タイムアウト間隔を X 秒に設定します
type=X – クエリの種類を設定します (A、AAAA、A+AAAA、ANY、
CNAME、MX、NS、PTR、SOA、SRV など)
querytype=X – type と同じです
class=X – クエリのクラスを設定します (IN (Internet)、ANY など)
[no]msxfr – MS 高速ゾーン転送を使用します
ixfrver=X – IXFR 転送要求で使用される現在のバージョンです
server NAME – 現在の既定のサーバーを使用して、既定のサーバーを NAME に
設定します
lserver NAME – 初期サーバーを使用して、既定のサーバーを NAME に設定します
root – 現在の既定のサーバーを root に設定します
ls [opt] DOMAIN [> FILE] – DOMAIN 内のアドレスを一覧表示します (オプションとして
FILE に出力します)
-a – 正規名とエイリアスを一覧表示します
-d – すべてのレコードを一覧表示します
-t TYPE – 指定の RFC レコードの種類のレコードを一覧表示します
(A、CNAME、MX、NS、PTR など)
view FILE – ‘ls’ 出力ファイルを並べ替えて、pg で表示します
exit – プログラムを終了します

もし必要になることがあれば「?」で確認して下さい。

「nslookup」でうまく調べられないときの表示

調べたい名前が返ってこないとき、「nslookup」は理由によって違うメッセージを出します。ここを読み分けられると、原因が自分の側にあるのか、相手の名前が存在しないのかを切り分けられます。

Microsoft は、次のメッセージが返る場合があると説明しています(nslookup のリファレンス)。ノンネットワークエンジニアの方がよく出会うものだけを抜き出しました。左の列は画面に出る文字、真ん中はMicrosoftの説明です。

左の列は英語表示のときの文字です。日本語で表示される環境では、同じ意味の日本語が出ることがあります(たとえば「サーバーから応答がありません」)。どの環境でどちらになるかは分かっていないため、ここでは確認できた英語の表記を載せています。見分けるときは、真ん中の説明と右の「まず疑うこと」で読み替えてください。

表示Microsoftの説明まず疑うこと
Non-existent domain「コンピューターまたは DNS ドメイン名が存在しません。」打ち間違い。名前そのものが無い状態なので、DNSは正常に動いている
timed out「サーバーが、一定の時間と一定回数の再試行の後に要求に応答しませんでした。」DNSサーバーまで届いていない。ネットワーク側の問題を疑う
No response from server
(サーバーから応答がありません)
「サーバー コンピューターで DNS ネーム サーバーが実行されていません。」聞き先のDNSサーバーが動いていない
No records「DNS ネーム サーバーに、コンピューターの現在のクエリの種類のリソース レコードが存在しませんが、コンピューター名は有効です。」名前はあるが、探した種類の情報が無いだけ

大事なのは、最初の2つが正反対だということです。「存在しないドメイン」はDNSが正常に働いた結果(そんな名前は無い、と答えが返ってきた)で、「timed out」はDNSに聞けていない状態です。

前者なら打ち間違いを疑い、後者ならネットワークのつながりを疑う、という順番になります。つながりの確認には ping が使えます。

「nslookup」のまとめ

この記事では、DNSサーバーと通信して名前解決の正引きと逆引きができるネットワークコマンド「nslookup」の使い方を説明しました。

「nslookup」を使うと「yahoo.co.jp」の様なドメイン名から、IPアドレスを調べることができます。(正引き)

また、逆にIPアドレスからドメイン名を調べることもできます。(逆引き)

ノンネットワークエンジニアは次の書式だけ覚えておきましょう。

この書式だけ覚えよう
nslookup

コマンドを実行すると対話モードに入ります。

対話モードでは、IPアドレスを調べたい「ドメイン名」、又はドメイン名を調べたい「IPアドレス」を入力すると、結果が表示されます。

「この症状のときは、どのコマンドを使えばいいのか」を一覧で確かめたい方は、次の記事にまとめてあります。

関連記事