dig(Domain Information Groper) は、DNSサーバに直接問い合わせを行うためのコマンドです。
Linuxでは標準的なDNS調査ツールで、 “nslookup” よりも詳細な情報を得られます。
DNS
インターネット上で、データの送り先住所(IPアドレス)の問い合わせに答えてくれるシステム。
これを担当するDNSサーバーは、担当ドメイン内のドメイン名とIPアドレスの対応表を所持しています。
この問い合わせ作業は、ブラウザでサイトに接続する直前に必須の作業であり、DNSサーバーはインターネットの根幹を担当するサーバー群です。
ドメイン名→IPアドレスの変換作業のことを “名前解決” と呼びます。(他の日本語には見られない、独特な表現です)
DNSサーバーの種類
同じような ” DNS” がついた名前なのでややこしいのですが、DNSサーバーには①権威DNSサーバーと②DNSリゾルバの2つがあります。
単に “DNSサーバー” の呼称であれば上記の両者の総称を指す場合と、文脈によっては権威DNSサーバーのみを指す場合があります。
権威DNSサーバー
ドメイン管理者が管理するサーバー。ネームサーバーとも呼ばれます。
例えるとお役所の戸籍係で、戸籍の原本を所持・公開します。
自分のレベルのドメインの情報を持ち、問い合わせに対し自分の持つ情報を返します。
冗長化目的で複数のサーバー(プライマリDNS、セカンダリDNS)がありますが、サーバー間で単一の情報が同期されています。
DNSリゾルバ
リゾルバという名称の他に、キャッシュサーバー、再帰サーバーとも呼ばれます。
例えると、戸籍調査の民間代行業者です。(つまり興信所とか探偵事務所とか、そんな感じ)
サーバーは自分の手持ちの情報(キャッシュ)で答えられる問い合わせにはその場で答えます。
そして手元にない場合にはお役所(権威サーバー)に順に(再帰的に)問い合わせて正しい情報を取得してきて回答します。
対比表
| 権威サーバー | リゾルバ | |
|---|---|---|
| 名称・別名 | 権威(DNS)サーバー ネームサーバー (DNSサーバー:文脈による) | (DNS)リゾルバ キャッシュ(DNS)サーバー 再帰(DNS)サーバー |
| 例えると | 役所の戸籍係 | 戸籍調査の代行業者 |
| 種類 | プライマリDNS セカンダリDNS | 公開リゾルバ(オープンリゾルバ) 非公開のリゾルバ(内部からの問合せにのみ応答) |
| 管理者 | 担当ドメインの管理者 | 各ネットワーク管理者 |
| SOA | 所持 | 不所持 |
| フラグ(後述) | aa | ra |
| 再帰的名前解決 | なし | あり |
| サーバー側ソフト | BIND / NSD / Knot PowerDNS Authoritative | BIND / Unbound PowerDNS Recuesor |
公開リゾルバのうち優秀なものを見つけ出してくれるツールもあります。
基本構文
digコマンドの基本構文です
dig [@DNSサーバ] ドメイン名 [クエリタイプ] [オプション]
出力の解釈
下記は本サイトのドメインを問い合わせた結果です。

以下、これを順に解釈します。
ヘッダ部
; <<>> DiG 9.20.18-1-Debian <<>> 問合せ対象ドメイン
;; global options: +cmd
;; Got answer:
;; →>HEADER<← opcode: QUERY, status: NOERROR, id: xxxxx
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHRITY: 0, ADDITIONAL: 1
1行目
digのバージョン情報
2行目
digの内部デフォルト設定 (+cmd はヘッダ情報を表示するモード)
3行目
Got answer: DNSサーバから応答を受信したことを示す
4行目
HEADER セクション(重要)
opcode: QUERY 通常問い合わせ
status: NOERROR エラーなし
NXDOMAIN ドメイン不存在
SERVFAIL サーバ失敗
REFUSED 拒否
id: xxxxx トランザクションID
5行目
flags部とカウント部からなります。
🔹flags部
| フラグ | 意味 |
|---|---|
| qr | 応答(Query Response) |
| rd | 再帰要求(Recursion Desired) |
| ra | 再帰可能(Recursion Available) |
| aa | 権威応答(Authoritative Answer) |
| tc | パケット切断(Truncated) |
🔹カウント部
| 項目 | 意味 |
|---|---|
| QUERY | 質問数 |
| ANSWER | 回答数 |
| AUTHORITY | 権威情報数 |
| ADDITIONAL | 追加情報数 |
続く各セクション
以下の各セクションが並びます。(出力結果によっては表示されないセクションもあります)
| セクション | 意味 | 備考 |
|---|---|---|
| QUESTION | 何を問い合わせたか | 上記例では、ドメイン(joenoji325.com)に、IN(internet)で、A(IPv4)を問い合わせた(次項で詳述) |
| ANSWER | 直接の回答 | 次項で詳述 |
| AUTHORITY | 権威DNS情報 | SOA情報表示(後述)(上記例にはこのセクションはありません) |
| ADDITIONAL | 補助情報 | NSのIPなど(上記例にはこのセクションはありません) |
| Query time | 応答時間 | 上記例では40mSec |
| SERVER | 応答したDNSサーバ | 上記例では192.168.11.1(ポート53)であり、我が家のルータ(に付帯したDNSリゾルバ機能)が応答元です |
| WHEN | 問い合わせ日時 | 上記例では、2026/2/21 16:09:03 |
| MSG SIZE | DNSパケットサイズ | 上記例では59 |
ANSWER SECTION
“;; ANSWER SECTION:” の部分が問合わせの回答部分です。これについて解説します。
回答は下記の順に並んでいます
問合対象ドメイン名. 3600 IN A 回答を得たIPアドレス
- 問合対象ドメイン名:joenoji325.com.
- TTL:3600 (➡️下記参照)
- Class:IN (INは “internet class” の意味。通常はINになります)
- レコードタイプ:A (➡️下項参照)
- Data:回答されたIPアドレス
TTL(Time To Life)とは “DNS情報の賞味期限” であり、権威サーバーが発行する “リゾルバがキャッシュしても良い時間” です(単位:秒)
例では3600秒=1時間:1時間以内の再度の問合せにはこの情報を再利用するということ
レコードタイプ
上記問合せ例ではレコードタイプを何も指定していないので、デフォルトの “A” のレコードが返答がされています。
レコードタイプにはいくつかの種類があって他のレコードタイプを指定して問い合わせることも出来ます。
| レコードタイプ | 意味 |
|---|---|
| A | IPv4アドレス |
| AAAA | IPv6アドレス |
| MX | メールサーバ |
| NS | ネームサーバ |
| TXT | テキスト情報(SPF・DMARCなどの情報) |
| SOA | ゾーン管理情報 |
| CNAME | 別名 |
| PTR | 逆引き |
この中でも特にSOAが重要です。
SOA(Start of Authority)について
SOAレコードは、「このゾーンを誰がどう管理しているか」を定義するレコードであり、ゾーンごとに必ず1つ存在します。
SOAレコードを指定した問合せ
dig ドメイン名 SOA
下記例では、問合せ先を公開リゾルバ(8.8.8.8)に指定して問い合わせています。

出力の解釈(ANSWER SECTIONの部分)
ゾーン名 3600 IN SOA プライマリDNS 管理者メール パラメータ①〜⑤
- ゾーン名
- TTL:3600
- Class:IN
- レコードタイプ:SOA
- プライマリDNS(MNAME)
- 管理者メールアドレス(RNAME)
- 5つのパラメータ(別記・下表)
※ hostmaster.example.com は、hostmaster@example.com を意味(最初のドットが @に相当します)
ゾーンとドメインの違い
ゾーン = DNSサーバーが管理する範囲(運用単位):1ゾーンは1つのSOAを持つ
ドメイン = 名前空間(論理的なツリー構造)
小規模環境では同一範囲ですが、大規模ではサブドメインでゾーンが分割され、両者は一致しなくなります。
別記)5つのパラメータ
| パラメータ | 意味 |
|---|---|
| ① serial(ゾーンバージョン番号) | ゾーンファイルの「更新番号」:セカンダリDNSはこの番号で更新判断します。 |
| ② refresh(再取得間隔) | → セカンダリDNSが何秒ごとにプライマリへ確認するか |
| ③ retry(再試行間隔) | → refresh時に失敗した場合、どれくらいで再試行するか |
| ④ expire(有効期限) | → プライマリに長期間接続できなかった場合この秒数経過でゾーン無効 |
| ⑤ minimum(ネガティブTTL) | NXDOMAIN(ドメイン不存在)をキャッシュする時間 |
まとめ
普段はインターネットの道案内として裏方の仕事をしているDNSサーバーに対して、直接問合せを行うコマンド “dig” についてでした。
オプションなど、まだもう少し書き足りない事項もあるので、続編を投稿しようと思います。

コメント