nslookup(ネームサーバールックアップ)は、ドメイン名とIPアドレスの対応関係を調べる DNS 問い合わせコマンドです。
Aレコード(正引き)・PTRレコード(逆引き)・MXレコードなど、あらゆる DNS レコードを確認でき、ネットワークのトラブルシューティングに広く使われています。
nslookupとは
nslookup は「Name Server Lookup」の略で、DNS サーバーに対して対話的・非対話的に問い合わせを行うコマンドラインツールです。主に以下のような用途で使われます。
- ドメイン名から IP アドレスを調べる(正引き)
- IP アドレスからホスト名を調べる(逆引き)
- メールサーバー(MX レコード)を確認する
- ネームサーバー(NS レコード)を調べる
- DNS の設定変更が正しく反映されているか確認する
Windows・Linux・macOS のすべてで標準搭載されており、インストール不要でどこでも使えます。
Linuxでnslookupを使う前に確認すること
Linux ディストリビューションでは nslookup がデフォルトで入っていない場合があります。まず以下のコマンドでインストール済みか確認しましょう。
which nslookup
何も表示されない場合は、ディストリビューションに応じて以下のパッケージをインストールします。
# Debian / Ubuntu
sudo apt install dnsutils
# RHEL / CentOS / Rocky Linux / Fedora
sudo dnf install bind-utils
# Arch Linux
sudo pacman -S bind
問い合わせ先DNSサーバーは/etc/resolv.confで決まる
Linux で DNS サーバーを指定せずに nslookup を実行すると、/etc/resolv.conf に書かれた nameserver の値が使われます。想定と違う結果が返る場合は、まずこのファイルの中身を確認してください。
cat /etc/resolv.conf
Ubuntu などの systemd-resolved 環境では /etc/resolv.conf がスタブリゾルバー(127.0.0.53 など)を指しており、実際の DNS サーバーは resolvectl status で確認できます。
resolvectl status
基本的な使い方
構文(Syntax)
nslookup [オプション] [NAME | IP] [DNS_SERVER]
NAME:照会したいホスト名・ドメイン名IP:逆引きしたい IP アドレスDNS_SERVER:問い合わせ先 DNS サーバー(省略するとシステムのデフォルト)
ドメイン名から IP アドレスを調べる(正引き)
nslookup example.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: example.com
Address: 93.184.216.34
「Non-authoritative answer」は、権威 DNS サーバーではなくキャッシュ DNS サーバーからの回答であることを意味します。
IP アドレスからホスト名を調べる(逆引き)
nslookup 8.8.8.8
8.8.8.8.in-addr.arpa name = dns.google
特定の DNS サーバーに問い合わせる
nslookup example.com 1.1.1.1
第 2 引数に DNS サーバーの IP を指定します。上記は Cloudflare の DNS(1.1.1.1)に問い合わせる例です。Google DNS(8.8.8.8)や自社 DNS への切り替えに使います。
オプション解説
よく使うオプション一覧
-type=A:IPv4 アドレス(A レコード)を取得する-type=AAAA:IPv6 アドレス(AAAA レコード)を取得する-type=MX:メールサーバー(MX レコード)を取得する-type=NS:ネームサーバー(NS レコード)を取得する-type=TXT:SPF・DKIM などのテキストレコードを取得する-type=CNAME:正規名(CNAME レコード)を取得する-type=SOA:ゾーンの管理情報(SOA レコード)を取得する-type=ANY:すべての DNS レコードを取得する-debug:詳細なデバッグ情報を表示する-port=NUM:ポート番号を指定する(デフォルトは 53)-timeout=NUM:タイムアウトの秒数を指定する-recurse:再帰問い合わせを有効にする(デフォルトで ON)
MX レコードを調べる
nslookup -type=MX example.com
example.com mail exchanger = 10 mail.example.com.
NS レコードを調べる
nslookup -type=NS example.com
example.com nameserver = a.iana-servers.net.
example.com nameserver = b.iana-servers.net.
TXT レコード(SPF・DKIM)を調べる
nslookup -type=TXT example.com
example.com text = "v=spf1 -all"
対話モードで利用する
引数なしで nslookup を実行すると対話モードに入ります。複数のドメインを続けて調べる際に便利です。
nslookup
> set type=MX
> example.com
example.com mail exchanger = 10 mail.example.com.
> set type=NS
> example.com
example.com nameserver = a.iana-servers.net.
> exit
よくある使用例
DNS 変更が反映されているか確認する
DNS 設定変更後の反映確認には、権威 DNS サーバーと一般の DNS(8.8.8.8 など)の両方に問い合わせて比較します。
# Google DNS で確認
nslookup example.com 8.8.8.8
# Cloudflare DNS で確認
nslookup example.com 1.1.1.1
メール送信エラーを調査する
# MX レコードの確認
nslookup -type=MX example.com
# SPF レコードの確認
nslookup -type=TXT example.com
FAQ
nslookup と dig の違いは何ですか?
dig はより詳細な情報(TTL・フラグ・クエリ時間など)を表示し、スクリプトでの利用にも向いています。nslookup は対話モードを持ち、Windows でも標準搭載されているため手軽に使えます。基本的な DNS 確認なら nslookup、詳細調査には dig が適しています。
「Non-authoritative answer」とは何ですか?
権威 DNS サーバーではなく、キャッシュ DNS サーバーから返された回答です。最新の DNS 変更がまだキャッシュに反映されていない場合があります。権威サーバーから直接確認するには -type=SOA で権威サーバーを調べてから指定します。
nslookup で「can’t find」と表示される場合は?
DNS レコードが存在しないか、問い合わせた DNS サーバーに情報がない状態です。別の DNS サーバー(8.8.8.8 や 1.1.1.1)に問い合わせて確認してみてください。
nslookup example.com 8.8.8.8
Windows で nslookup を使うには?
Windows には標準でインストールされています。コマンドプロンプト(cmd)または PowerShell を開き、nslookup と入力するだけで使用できます。Linux・macOS でも同じコマンドが動作します。
Linux で nslookup が使えない場合は?
パッケージをインストールしてください。
# Debian / Ubuntu
sudo apt install dnsutils
# RHEL / CentOS / Rocky Linux
sudo dnf install bind-utils
関連コマンド
dig:詳細かつ柔軟な DNS 問い合わせツール。スクリプト向き。host:シンプルな DNS 問い合わせ用コマンド。出力が簡潔。ping:ドメイン名解決後に疎通確認を行う。whois:ドメインの登録情報を調べる。
備考
nslookupは古くから使われているツールですが、非推奨(deprecated)扱いとされることがあります。- 現在は
digやhostが推奨されるケースが多いですが、簡易調査や古い環境・Windows 環境ではnslookupが便利です。 - Linux では
bind-utils(RedHat 系)やdnsutils(Debian 系)パッケージに含まれています。
参考
- manページ: man7.org – nslookup(1)
- ISC BIND: https://www.isc.org/bind/

コメント