【ディグ】
dig とは?
最終更新:
💡 問い合わせ先と応答を見て、DNSを調べる
DNSサーバーへ問い合わせ、レコードや応答を調べるコマンド。A・MX・TXTの指定、問い合わせ先、TTL、+traceとWindowsでの代替方法を解説します。
📌 このページのポイント
digは、何を調べるコマンド?
最初は、どう打てばいい?
たとえば `dig example.com A` はIPv4アドレスのレコードを問い合わせる。`dig example.com MX` はメールの配送先、`dig example.com TXT` はTXTレコードを調べるよ。実際の応答は、その時点の設定と問い合わせ先によるんだ。
DNSサーバーも、指定できる?
`dig @192.0.2.53 example.com A` の形で指定できる。192.0.2.53は説明用のアドレスだから、実際には利用するDNSサーバーを指定するよ。指定しない場合は、通常resolv.confなどの設定を使う。どこへ聞いた結果かを確認しよう。
TTLがゼロになるまで、反映されない?
+traceは、通信の通り道を見るの?
`dig example.com A +trace` は、ルートからDNSの委任をたどって問い合わせる。パケットが通るルーターの経路を見るコマンドとは違うよ。DNSサーバーへ直接問い合わせられない環境では途中で失敗することもある。
もっと詳しく知りたい人へ
Windowsにはdigがないけれど、どう調べる?
PowerShellの `Resolve-DnsName -Name example.com -Type A` やnslookupで調べられます。digを使う場合は、利用するOS環境と配布元の対応を確認します。過去のBINDのWindows版が今も提供されると決めつけません。
答えが空なら、DNS障害?
必ずしもそうではありません。その種類のレコードがない場合もあります。応答のstatus、ANSWERの有無、問い合わせ先を合わせて確認します。+shortは簡潔ですが、応答全体の情報を省くため、調査時は通常の出力も見ます。
まとめ:ざっくりこれだけ覚えればOK!
「dig」って出てきたら「DNSサーバーへ問い合わせて、応答を詳しく調べるコマンド」と思えばだいたいOK!
📖 おまけ:英語の意味
「dig」 = DNS lookup utility(DNS問い合わせツール)
💬 BINDのマニュアルでは、DNSサーバーに問い合わせるツールとして説明されています。