「dig コマンド」は、ネットワーク管理者やエンジニアにとって必須のDNS検索ツールです。
Linuxをはじめとする UNIX 系のシステムで広く使われるこのコマンドは、ドメイン名とIPアドレスの名前解決・DNSレコードの確認・ネットワーク障害の診断など、多くの場面で活躍します。
本記事では、dig コマンドの基本的な使い方から、各種オプション・実践的な活用法まで詳しく解説していきます。
dig コマンドとは?DNS 検索の基本を理解する
それではまず、dig コマンドの基本的な概念と役割について解説していきます。
dig は「Domain Information Groper(ドメイン情報収集ツール)」の略称で、DNS(Domain Name System)サーバーに対してクエリを送信し、その応答を表示するコマンドラインツールです。
nslookupの後継ツールとして位置づけられており、より詳細で柔軟なDNS情報の取得が可能となっています。
dig コマンドの主な用途
・ドメイン名のIPアドレス解決(Aレコード・AAAAレコードの確認)
・メールサーバー情報の確認(MXレコード)
・ドメインの権威DNSサーバー確認(NSレコード)
・DNSの設定確認・トラブルシューティング
・TTL(Time To Live)の確認
・逆引きDNS(PTRレコード)の確認
dig コマンドのインストール方法
dig コマンドは、多くのLinuxディストリビューションで「bind-utils」パッケージに含まれています。
インストールコマンド:
Ubuntu / Debian系:sudo apt install dnsutils
CentOS / RHEL系:sudo yum install bind-utils
macOS:macOS では標準インストール済み(追加インストール不要)
Windows:Windows Subsystem for Linux(WSL)または別途インストールが必要
dig コマンドの基本構文
dig コマンドの基本的な構文は以下の通りです。
基本構文:dig [オプション] [ドメイン名] [レコードタイプ] [@DNSサーバー]
最もシンプルな使い方:dig example.com
(example.com の A レコードを調べる)
dig の出力結果の読み方
dig コマンドの出力は複数のセクションに分かれており、それぞれに意味があります。
| セクション名 | 内容 |
|---|---|
| HEADER | クエリID・フラグ・質問数・回答数など |
| QUESTION SECTION | 送信したクエリの内容(ドメイン名・レコードタイプ) |
| ANSWER SECTION | DNSサーバーからの回答(IPアドレスなど) |
| AUTHORITY SECTION | 権威DNSサーバーの情報 |
| ADDITIONAL SECTION | 追加情報(権威サーバーのIPアドレスなど) |
| STATISTICS | クエリの実行時間・サーバー・日時 |
dig コマンドの主要オプションと使い方
続いては、dig コマンドの主要なオプションと実践的な使い方を確認していきます。
DNS レコードタイプ別の dig コマンド
各レコードタイプの検索コマンド:
Aレコード(IPv4アドレス):dig example.com A
AAAAレコード(IPv6アドレス):dig example.com AAAA
MXレコード(メールサーバー):dig example.com MX
NSレコード(ネームサーバー):dig example.com NS
TXTレコード(テキスト情報):dig example.com TXT
CNAMEレコード(エイリアス):dig example.com CNAME
全レコード確認:dig example.com ANY
特定の DNS サーバーを指定した dig の使い方
dig コマンドでは、クエリを送信するDNSサーバーを「@」記号で指定できます。
特定のDNSサーバーへのクエリ例:
Google Public DNS を使用:dig example.com @8.8.8.8
Cloudflare DNS を使用:dig example.com @1.1.1.1
権威DNSサーバーへの直接クエリ:dig example.com @ns1.example.com
特定のDNSサーバーを指定することで、DNSキャッシュの影響を排除した確認や、特定のサーバーの応答テストが可能になります。
dig の便利なオプション一覧
| オプション | 意味・効果 |
|---|---|
| +short | シンプルな出力(IPアドレスのみなど) |
| +noall +answer | ANSWERセクションのみ表示 |
| -x(逆引き) | IPアドレスからドメイン名を調べる |
| +trace | DNSの委任経路をトレースする |
| +dnssec | DNSSECの確認を行う |
| -p ポート番号 | 使用するポートを指定(デフォルトは53) |
dig コマンドの実践的な活用シーン
続いては、dig コマンドの実践的な活用シーンを確認していきます。
DNS トラブルシューティングでの dig の使い方
ネットワーク障害・DNS解決の問題が発生した際、dig コマンドは非常に有効なトラブルシューティングツールです。
トラブルシューティング手順例:
手順1:dig example.com(基本的な名前解決を確認)
手順2:dig example.com @8.8.8.8(外部DNSとの差異を確認)
手順3:dig +trace example.com(DNS委任経路の確認)
手順4:dig -x [IPアドレス](逆引きDNSの確認)
メール設定確認での dig の活用
メールサーバーの設定確認でも dig は活躍します。
MXレコードの確認・SPFレコード(TXTレコード)の確認・DMARCレコードの確認など、メール到達性に関わるDNS設定を一通り確認できます。
メール関連のdig コマンド例:
MXレコード確認:dig example.com MX +short
SPFレコード確認:dig example.com TXT +short
DMARCレコード確認:dig _dmarc.example.com TXT +short
dig と nslookup の違い
dig と nslookup はどちらもDNS検索ツールですが、いくつかの違いがあります。
| 比較項目 | dig | nslookup |
|---|---|---|
| 出力の詳細度 | 詳細・構造化された出力 | シンプルな出力 |
| スクリプト活用 | 向いている | あまり向いていない |
| 対応OS | 主にLinux/macOS | Linux/macOS/Windows |
| プロ向け機能 | 豊富(+traceなど) | 基本機能に限定 |
まとめ
本記事では、dig コマンドの基本概念・インストール方法・主要オプション・実践的な活用シーンまで詳しく解説しました。
dig はDNSトラブルシューティング・メール設定確認・ネットワーク管理など、多岐にわたる場面で活躍する強力なコマンドラインツールです。
+short・+trace・-x などの主要オプションを覚えておくことで、日常的なネットワーク管理の効率が格段に向上するでしょう。
ネットワークエンジニアやサーバー管理者の方はもちろん、Web開発者の方もぜひ dig コマンドをマスターしてみてください。