以下では、ネットワーク調査やドメインの管理状況確認などで頻繁に使われる
whois コマンドと dig コマンドについて、実践的なブログ記事風に詳しく解説する。
権威 DNS や自宅サーバーを構築している人には非常に重要な基礎ツールである。
Whois コマンドと Dig コマンドを徹底解説
はじめに
ドメインを運用したり、DNS サーバーを構築したりするときに避けて通れないのが「名前解決まわりの調査」である。
その調査で最もよく使われるのが以下の 2 つのコマンドだ。
-
whois…… ドメインや IP アドレスの**登録情報(管理情報)**を調べる -
dig…… DNS サーバーから技術的なレコード情報を直接問い合わせる
両者はよく混同されがちだが、目的は全く違う。
簡単に言えば、whois は「誰のものか」を調べるツール、dig は「DNSとして何が返ってくるか」を調べるツールである。
1. whois コマンドとは
whois は、ドメイン名や IP アドレスの登録者情報・権限情報を取得するコマンドである。
TLD(トップレベルドメイン)のレジストラや RIR(地域インターネットレジストリ)のデータベースに問い合わせることで情報を取得する。
whois example.com
代表的な出力項目
Domain Name: EXAMPLE.COM
Registry Domain ID: 2336799_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.iana.org
Registrar URL: http://res-dom.iana.org
Updated Date: 2024-09-01T00:00:00Z
Creation Date: 1995-08-14T00:00:00Z
Registry Expiry Date: 2025-08-13T00:00:00Z
Registrar: Example Registrar, Inc.
Registrant Organization: Example Org
Name Server: NS1.EXAMPLE.COM
Name Server: NS2.EXAMPLE.COM
主なフィールドの意味
| フィールド | 意味 |
|---|---|
| Domain Name | 調査対象のドメイン名 |
| Registrar | 登録を管理しているレジストラ(業者) |
| Creation Date | ドメインの登録日 |
| Expiry Date | 有効期限 |
| Name Server | 権威 DNS サーバー |
| Registrant | 登録者情報(国や組織など) |
実用的な使い方
- 登録期限を確認してドメインの失効タイミングを把握する
- どのレジストラで管理されているかを調べる
- どの DNS サーバーが権威として登録されているかを確認する
- IP アドレスの場合はどのリージョンの割り当てかを調べる
IP アドレスを調べる場合
whois 8.8.8.8
出力例:
NetRange: 8.0.0.0 - 8.255.255.255
OrgName: Google LLC
Country: US
IP から組織情報や割り当て範囲が分かるため、不審なアクセスの解析やトラブル調査にも使える。
2. dig コマンドとは
dig(Domain Information Groper)は、DNS サーバーに対して直接クエリを送信し、
DNS レコードの中身を取得するためのツールである。
基本的な使い方
dig example.com
これはデフォルトで A レコード(IPv4 アドレス)を問い合わせる。
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 86400 IN A 93.184.216.34
3. dig の構文とオプション
dig の基本構文は以下の通り。
dig [@DNSサーバー] [ドメイン名] [レコードタイプ] [オプション]
| 要素 | 意味 |
|---|---|
@DNSサーバー |
どの DNS サーバーに問い合わせるか(省略時はシステムのデフォルト) |
ドメイン名 |
調査対象のドメイン |
レコードタイプ |
A / AAAA / NS / MX / TXT など |
オプション |
出力制御など |
4. 代表的なレコードタイプ
| レコード | 説明 | 例 |
|---|---|---|
| A | IPv4 アドレス | 93.184.216.34 |
| AAAA | IPv6 アドレス | 2001:db8::1 |
| NS | 権威ネームサーバー | ns1.example.com |
| MX | メールサーバー情報 | 10 mail.example.com |
| TXT | 任意のテキスト情報(SPF, DKIMなど) | "v=spf1 include:spf.example.com ~all" |
| SOA | ゾーン情報のヘッダ | ゾーンの管理情報 |
| CNAME | 別名 |
www → example.com.
|
5. 権威 DNS サーバーを指定して問い合わせる
dig @ns1.example.com example.com A +norecurse
-
@ns1.example.com→ 直接このサーバーに問い合わせ -
+norecurse→ 再帰問い合わせを無効化(権威応答を確認するために重要)
実運用では、権威 DNS が正しくレコードを返しているかを確認する際によく使う。
6. 便利なオプション
| オプション | 内容 |
|---|---|
+short |
答えだけ簡潔に表示 |
+norecurse |
再帰なしで問い合わせ |
+noall +answer |
ANSWER セクションのみ表示 |
+trace |
ルートから順番に辿って名前解決を追跡 |
ANY レコード |
すべてのレコードタイプを問い合わせ(制限あり) |
例:
dig example.com +short
93.184.216.34
dig example.com NS +noall +answer
example.com. 86400 IN NS a.iana-servers.net.
example.com. 86400 IN NS b.iana-servers.net.
dig example.com +trace
ルート DNS → TLD → 権威 DNS の順に問い合わせが行われる様子が見える。
自分の DNS サーバーがうまく解決できないときに原因を特定するのに非常に役立つ。
7. whois と dig の違い
| 項目 | whois | dig |
|---|---|---|
| 目的 | 登録者・管理情報 | 実際の DNS レコード |
| データの場所 | レジストラ・RIR | DNS サーバー |
| 情報の性質 | 静的(契約情報) | 動的(運用中のレコード) |
| 用途 | ドメイン所有者・有効期限確認 | 実際の名前解決・設定検証 |
8. 実用例:ドメイン調査の流れ
-
whois example.comでレジストラ・権威 DNS・有効期限を確認 -
dig example.com NSで権威サーバーを確認 -
dig @ns1.example.com example.com A +norecurseで正しい応答が返っているか確認 -
dig example.com +traceでルートからの名前解決経路を追跡
この一連の流れで、ドメインの管理情報と実際の解決情報をセットで把握できる。
まとめ
-
whoisは 登録情報(契約・管理) を調べるためのツール -
digは DNS サーバーから実際に返ってくるレコード を調べるツール - DNS やドメインに関するトラブルシューティングでは両方をセットで使うのが基本
- 特に
dig @権威DNS +norecurseは実運用の確認で非常に重要な手段 -
+traceでルートからの問い合わせ経路を確認できると、より深い調査が可能になる
参考コマンドまとめ
# 登録情報を調べる
whois example.com
# A レコードを調べる
dig example.com A
# 権威 DNS サーバーを指定して問い合わせ
dig @ns1.example.com example.com A +norecurse
# 権威 NS を調べる
dig example.com NS +noall +answer
# ルートからの名前解決経路を追跡
dig example.com +trace
# シンプルな結果
dig example.com +short
この2つのコマンドを使いこなすことで、DNS の基本的な調査・障害解析は一通りカバーできるようになる。
自宅サーバーの運用でも、権威 DNS の公開確認や TTL の反映確認などに頻繁に利用される非常に重要なツールである。