見出し画像

digコマンドの出力を紐解く

`dig`コマンドはDNS(Domain Name System)のクエリを行うための強力なツールです。その出力内容は一見すると複雑そうですが、実はしっかりセクションごとに整理されています。この記事では、`dig`コマンドを実行した際の出力例をもとに、それぞれの意味をわかりやすくまとめていきます。


コマンド例

まずは基本的なコマンド例を見てみましょう。

dig example.com

このコマンドを実行すると、以下のような出力が得られます。


出力例

; <<>> DiG 9.10.6 <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;example.com.                  IN      A

;; ANSWER SECTION:
example.com.           86400   IN      A       93.184.216.34

;; Query time: 34 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Dec 12 12:34:56 UTC 2024
;; MSG SIZE  rcvd: 56

主なセクションの説明

`dig`コマンドの出力は、いくつかのセクションに分かれています。それぞれのセクションがどのような情報を提供しているのかを見ていきましょう。

  1. HEADER

    • `status: NOERROR` : クエリが成功したことを示します。失敗の場合は `NXDOMAIN`(ドメインが存在しない)や `SERVFAIL`(サーバーエラー)などのステータスが表示されます。

    • `QUERY: 1` : 送信した質問の数。

    • `ANSWER: 1` : 応答に含まれる回答の数。

  2. QUESTION SECTION

    • 送信したクエリ内容を表示します。この例では、`example.com` の Aレコード(IPv4アドレス)を要求しています。

  3. ANSWER SECTION

    • DNSサーバーからの回答が表示されます。

    • `example.com` のIPv4アドレスとして `93.184.216.34` が返されています。

    • `86400` はTTL(Time To Live)を示し、この結果がキャッシュされる秒数です。

  4. Query time

    • クエリ処理にかかった時間(ミリ秒単位)。

  5. SERVER

    • クエリを処理したDNSサーバーのIPアドレス。この例ではGoogle Public DNS(8.8.8.8)。

  6. WHEN

    • コマンドを実行した日時。

  7. MSG SIZE

    • 応答メッセージのサイズ(バイト単位)。


より簡単な出力形式

`dig`コマンドはオプションを活用することで、出力を簡略化したり詳細情報を得たりできます。


クエリタイプを変更する

`dig`では、取得したいレコードタイプを指定することも可能です。例えば:


まとめ

`dig`コマンドの出力は、一見複雑に見えますが、セクションごとに整理されており、各情報の意味を理解することでDNSの仕組みを深く知ることができます。基本的な使い方からオプションまでをマスターして、DNSトラブルシューティングや設定確認をスムーズに進めましょう!

いいなと思ったら応援しよう!