dig コマンドは、DNSサーバーに問い合わせを行い、ホスト名やIPアドレス、MXレコードなどの情報を取得するためのツールです。
ドメインの解決状況を調べたり、メールサーバーやネームサーバーの設定確認に使われます。
構文(Syntax)
dig [@SERVER] NAME [TYPE]
SERVER: 問い合わせ先のDNSサーバー(省略時はOSで設定されたデフォルトのリゾルバ)NAME: 調べたいホスト名やドメインTYPE: レコードの種類(A, AAAA, MX, NS, TXT, ANYなど)
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
+short | 簡潔な出力を表示 | dig google.com +short |
+trace | ルートサーバーから順に名前解決を追跡 | dig google.com +trace |
+noall +answer | 回答部分のみを表示 | dig example.com +noall +answer |
-x IP | 逆引き(IP → ホスト名) | dig -x 8.8.8.8 |
@SERVER | 特定のDNSサーバーへ問い合わせ | dig @8.8.8.8 example.com |
ANY | すべてのレコードを取得(制限される場合あり) | dig example.com ANY |
実行例
Aレコードを取得
dig example.com A
出力例(抜粋):
;; ANSWER SECTION:
example.com. 86400 IN A 93.184.216.34
MXレコードを調べる(メールサーバー)
dig example.com MX
出力例:
example.com. 3600 IN MX 10 mail.example.com.
逆引きでホスト名を確認
dig -x 8.8.8.8
出力例:
8.8.8.8.in-addr.arpa. 21599 IN PTR dns.google.
簡易表示でIPアドレスだけ確認
dig google.com +short
出力例:
142.250.196.14
ルートからの名前解決を追跡
dig example.com +trace
(ルートDNS → TLD → 権威DNSまでの流れが表示される)
関連コマンド
nslookup: 古くからあるDNS問い合わせツール。host: シンプルなDNS検索コマンド。ping: 名前解決と疎通確認を行うが、DNS詳細は出さない。traceroute: ネットワーク経路の調査に利用。
備考
digは BIND(Berkeley Internet Name Domain)パッケージに含まれるツールです。- LinuxやmacOSでは標準で利用可能なことが多いですが、環境によっては
bind-utilsまたはdnsutilsパッケージのインストールが必要です。 ANYクエリはスパム対策で制限されるDNSサーバーが多いため、結果が返らない場合があります。
参考
- manページ: man7.org – dig(1)
- ISC BIND: https://www.isc.org/bind/
- DNS Basics: https://www.ietf.org/

コメント