ホスト名(ドメイン名)からどのIPアドレスが使われているかを調べるための問い合わせを「正引き(せいひき)」と呼び、nslookupというコマンドによって、DNSサーバーへのIPアドレスの問い合わせを実行することができます。
ブラウザのURL欄やリンクなど、普段目にするドメイン名(このサイトでいうとfullstacklife.net)はDNSサーバーと呼ばれる名前解決の役割を担っているサーバーが、ホスト名(ドメイン)⇔IPアドレスの変換を行っています。
WindowsやLinuxではnslookupというコマンドで対象のホスト名(ドメイン)のIPアドレスを表示することができます。
Windowsでは「コマンドプロンプト」、Mac OSでは「ターミナル」を起動して下記の内容を打ち込みます。
> nslookup [ホスト(ドメイン名)]
そうすると、「Adress」と書かれた欄の横に正引きの結果のIPアドレスが表示されます。
この場合はfullstacklife.netというホスト名に対して正引きした結果150.95.172.242というIPアドレスが表示されています。
nslookupのモード
nslookupコマンドには2つのモードがありますので、用途に応じて使い分けるといいですが主に使うのは「非対話モード」が多いと思います。
1.非対話モード
「nslookup」の後にホスト名をつけてコマンドを実行することで、即時にホスト名に該当するIPアドレスを正引き表示します。
nslookup ホスト名
2.対話モード
コマンドプロンプトで 「nslookup」 のみを入力後エンターキーを押すと対話モードとなり、連続して問い合わせの内容を入力することにより正引きや逆引きを行うことができます。
> nslookup
既定のサーバー: UnKnown
Address: 192.168.3.1
> ホスト名
nslookup非対話モードのオプション
/help | ヘルプ表示 |
DNSサーバ名(末尾) | コマンドの最後にDNSサーバー名をつけることで DNSサーバーを指定してnslookupを実行します |
-type=[type] | 問い合わせるレコードのタイプ [type] にはA、NS、MX等を指定します |
-debug | nslookup問い合わせの詳細内容を表示 |
-d2 | debugよりさらに詳細な情報を表示 |
-norecurse | 再起問い合わせを無効化 |
-vc | TCPで問合せ |
nslookup非対話モードのコマンド実行例
ホスト名を指定して実行
> nslookup fullstacklife.net
サーバー: UnKnown
Address: 192.168.3.1
権限のない回答:
名前: fullstacklife.net
Address: 150.95.172.242
ホスト名の後にDNSサーバー名を指定して実行
> nslookup fullstacklife.net 01.dnsv.jp
サーバー: UnKnown
Address: 157.7.32.53
名前: fullstacklife.net
Address: 150.95.172.242
nslookup対話モードのコマンド実行例
help または ? | 対話モードのヘルプを表示 |
set all | オプションを表示 |
set domain=[NAME] | 規定のドメイン名を[NAME]に設定 |
set retry=[X] | 再試行の回数を X に設定します |
set timeout=[X] | 初期タイムアウト間隔を X 秒に設定します |
set type=[X] | クエリの種類を設定します (A、CNAME、MX等) |
server [NAME] | 既定のサーバーを NAMEに指定 |
ls [DOMAIN] | DOMAIN 内のアドレスを一覧表示します |
exit | 対話モードの終了 |
nslookup対話モードのコマンド実行例
> nslookup
既定のサーバー: UnKnown
Address: 192.168.3.1
> fullstacklife.net ← 対話モードの入力でホスト名を入力してエンター
サーバー: UnKnown
Address: 192.168.3.1
権限のない回答:
名前: fullstacklife.net
Address: 150.95.172.242
この記事では、DNSサーバーと通信して名前解決の正引きと逆引きができるネットワークコマンド「nslookup」の使い方を説明しました。
サーバー構築時にドメインの設定を行う場合は必ずといっていいほど使うコマンドなのでぜひ覚えておきましょう。