nslookupコマンド入門
ドメイン名からIPアドレスを調べる
nslookupはDNSサーバーに問い合わせを行い、ドメイン名とIPアドレスの相互変換やDNSレコードの詳細情報を取得するコマンドです。
こんな人向けの記事です
- ドメイン名からIPアドレスを調べたい人
- DNS設定の問題を診断したい人
- MXレコードやTXTレコードなどDNS情報を確認したい人
Step 1nslookupとは
nslookup(Name Server Lookup)は、DNSクエリを実行してドメイン名とIPアドレスの相互変換やDNSレコードの詳細情報を取得するコマンドラインツールです。Windows、macOS、Linuxなど、ほとんどのOSに標準で搭載されています。
ポイント: nslookupは古いコマンドですが使いやすさから広く使われています。より高度な機能が必要な場合は「dig」(Linux/macOS)や「Resolve-DnsName」(Windows PowerShell)も検討してください。
Step 2基本的な使い方
正引き(ドメイン名 → IPアドレス):
nslookup example.com
結果の例:
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: example.com
Address: 93.184.216.34
逆引き(IPアドレス → ドメイン名):
nslookup 93.184.216.34
| 出力項目 | 意味 |
|---|---|
| Server / Address | クエリに使用されたDNSサーバー |
| Non-authoritative answer | キャッシュからの回答(公式DNSサーバーからではない) |
| Name | 照会されたドメイン名 |
| Address | 対応するIPアドレス |
Step 3DNSレコードタイプ別の照会
特定のレコードタイプを指定して照会できます:
nslookup -type=レコードタイプ ドメイン名
| レコードタイプ | 説明 | 使用例 |
|---|---|---|
| A | IPv4アドレス | nslookup -type=a example.com |
| AAAA | IPv6アドレス | nslookup -type=aaaa example.com |
| MX | メールサーバー | nslookup -type=mx example.com |
| NS | ネームサーバー | nslookup -type=ns example.com |
| TXT | テキスト情報(SPF等) | nslookup -type=txt example.com |
| CNAME | 正規名(別名の参照先) | nslookup -type=cname www.example.com |
| SOA | 権威の開始(ゾーン情報) | nslookup -type=soa example.com |
Step 4DNSサーバーを指定して照会
デフォルトのDNSサーバー以外を指定してクエリを実行できます:
# Google Public DNS を使用
nslookup example.com 8.8.8.8
# Cloudflare DNS を使用してMXレコードを照会
nslookup -type=mx example.com 1.1.1.1
ポイント: DNSの変更が伝播しているか確認するには、複数のDNSサーバー(8.8.8.8、1.1.1.1、9.9.9.9)で同じクエリを実行し、結果が一致するか確認します。
Step 5実践的な使用例
メールサーバーの確認:
nslookup -type=mx example.com
結果の数字(10、20等)は優先度で、値が小さいほど優先されます。
SPFレコードの確認(なりすましメール防止):
nslookup -type=txt example.com
CNAMEの確認(サブドメインの参照先):
nslookup -type=cname blog.example.com
DNSプロパゲーションの確認:
nslookup example.com 8.8.8.8 # Google DNS
nslookup example.com 1.1.1.1 # Cloudflare DNS
nslookup example.com 9.9.9.9 # Quad9 DNS
Step 6DNSトラブルシューティング
1. ローカルDNSサーバーの確認:
nslookup www.google.com
2. 公共DNSサーバーとの比較:
nslookup www.google.com 8.8.8.8
Google DNSで成功しローカルDNSで失敗する場合、ローカルDNSサーバーに問題があります。
3. 権威サーバーの確認:
nslookup -type=ns example.com
注意: nslookupは基本的なDNS診断には十分ですが、高度なDNSレコード(CAA、TLSA等)のサポートが限定的です。より詳細なDNS診断にはdigコマンドの使用を検討してください。