(最終更新月:2023年2月)
✔このような方へ向けて書かれた記事となります
「nslookupコマンドでは何ができるのだろうか?」
「nslookupコマンドの使い方が知りたい」
「nslookupコマンドの実例が見てみたい」
✔当記事を通じてお伝えすること
- nslookupコマンドの基礎知識
- nslookupコマンドが使える場面
- nslookupコマンドのオプション一覧
当記事では、コマンドの基本や使い方だけでなく、筆者が実際に使っている コマンドの実例と活用方法も公開しています。
nslookupコマンドの基礎知識
nslookupコマンドの基礎知識をお伝えします。
実例を理解し、使いこなすには、基本が大切です。
- nslookupコマンドとは?
- nslookupコマンドの構成
- nslookupコマンドの使用例
nslookupコマンドとは?
nslookupコマンドとは、DNS(Domain Name System)に関する情報を取得できるLinuxコマンドです。
具体的には、このコマンドを使用することで、ドメイン名からIPアドレスがわかったり、IPアドレスからドメイン名を調べる逆引きができたりします。
例えば、nslookup itc.tokyoと入力すると、そのドメイン名に関する情報が表示されます。
$ nslookup itc.tokyo
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: itc.tokyo
Address: 162.43.120.150
もし、そのドメイン名に対応するIPアドレスが存在しない場合には、エラーが表示されます。
$ nslookup non-existing-domain-i-guess.site
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find non-existing-domain-i-guess.site: NXDOMAIN
nslookupコマンドの構成
nslookupコマンドの構成は以下のとおり。
nslookup [-options] [hostname] [server]
パラメータはそれぞれ以下を指定します。
- options: nslookupコマンドのオプション
- hostname: DNSに問い合わせる対象のホスト名またはIPアドレス
- server: 問い合わせるDNSサーバーのIPアドレス
serverパラメータは、省略可能で、その場合はデフォルトのDNSサーバーが使用されます。
nslookupコマンドの使用例
ホスト名からIPアドレスを取得する
nslookup itc.tokyo
IPアドレスからホスト名を取得する
nslookup 8.8.8.8
IPアドレス「8.8.8.8」に対応するホスト名を取得します。
nslookupコマンドが使える場面別実例を紹介
nslookupは以下のような場面で使えます。
- DNSサーバーが正しく機能しているかを調べる
- DNSキャッシュを削除する
DNSサーバーが正しく機能しているかを調べる
nslookupコマンドは、DNSサーバーが正しく機能しているかどうかを確認するために使用できます。
なぜ正しく機能するかを調べる必要があるかというと、新しくドメインを設定した場合など、設定が失敗している可能性があり得るからです。
例えば、DNSサーバーが正しく機能している場合には、nslookup google.comと入力すると、GoogleのIPアドレスが表示されます。
DNSサーバーが正しく機能していない場合には、エラーが表示されるのです。
DNSキャッシュを削除する
nslookupコマンドは、DNSキャッシュを削除するためにも使用できます。
なぜキャッシュを削除するのかと言うと、DNSキャッシュが古くなってしい、正しい情報が取得できなくなることがあるから。
DNSキャッシュが問い合わせに応じて取得し保存した情報を、定期的に削除する必要があるのです。
この場合には、以下のように入力すればキャッシュが削除できます。
nslookup -flushcache
nslookupコマンドのオプション一覧
こちらではnslookupコマンドで使えるオプションを解説します。
オプションを使いこなせば、できることが大幅に増えるのです。
- 指定したDNSリソースレコード情報を取得:query=type
- 応答待ち時間の指定:timeout
- デバッグ情報を表示:debug
- 問い合わせるDNSクラスを指定:class=type
- 問い合わせるDNSリソースレコードのタイプを指定:type=type
- コマンドのバージョンを表示:version
- ヘルプ情報を表示:h
指定したDNSリソースレコード情報を取得:query=type
queryオプションを使うと、指定したDNSのリソースレコードが取得できます。
typeには、DNSで指定する「A」「MX」「NS」「CNAME」「PTR」などが入ります。
nslookup -query=mx itc.tokyo
応答待ち時間の指定:timeout
timeoutオプションでDNSサーバーからの待ち時間を指定できます。
時間は秒数で指定。
nslookup -timeout=5 itc.tokyo
デバッグ情報を表示:debug
debugオプションでは、デバッグ情報を表示できます。
nslookup -debug itc.tokyo
問い合わせるDNSクラスを指定:class=type
classオプションを使うと、問い合わせるDNSクラスを指定できます。
typeには、IN(インターネット)やCH(Chaos)などが入ります。
nslookup -class=IN itc.tokyo
問い合わせるDNSリソースレコードのタイプを指定:type=type
typeオプションでは、問い合わせるDNSリソースレコードのタイプを指定します。
typeには、「A」「MX」「NS」「CNAME」「PTR」などが入ります。
nslookup -type=NS itc.tokyo
コマンドのバージョンを表示:version
コマンド自体のバージョン情報を表示します。
nslookup -version
ヘルプ情報を表示:h
コマンド自体のヘルプ情報を表示します。
nslookup -h
まとめ:nslookupはWebアプリ制作などでは重宝する
当記事の内容をまとめます。
- nslookupコマンドは、DNSサーバー情報を得るためのもの
- nslookupコマンドを使うことで、新しく設定したドメインを確かめられる
- nslookupコマンドのオプションを使いこなせば幅が広がる
nslookupコマンドはネットワーク関連の情報を取得するのにとても有効です。
ぜひ上手く使いこなして、ブログやWebアプリの構築の役に立てましょう。
AWSのDNSサービスなどでも使えるので重宝します。
✔Linuxの主要コマンド37選