2026年6月12日

2026年6月12日

DNSViz を使った DNS レコードの問い合わせ手順|調べたい名前と種別を指定して解析し、各権威サーバーの応答を確かめる

DNSViz は、dig のように1つの答えを返すツールではなく、指定した名前について親ゾーンから順に権威サーバーへ問い合わせ、その応答と DNSSEC の署名のつながりをまとめて解析するツールです。特定のレコードを調べたいときは、調べたい名前そのもの(www.example.com や _dmarc.example.com など)を入力し、問い合わせる種別を指定して解析を実行し、結果のうち応答の一覧を見る、という流れになります。この記事では、Web 版(dnsviz.net)とコマンドライン版のそれぞれで、名前と種別を指定して問い合わせる手順と、結果のどこを見れば各権威サーバーの答えが分かるかを説明します。

グラフの図形や色の読み方、コマンドライン版でのデバッグの進め方は別の記事で扱っているため、ここでは「狙ったレコードの問い合わせを正しく行う」ことに絞ります。

DNSViz で問い合わせると何が分かるか

dig や nslookup で公開 DNS に聞くと、キャッシュサーバーが持っている答えが1つ返ってきます。DNSViz は、キャッシュサーバーを経由せずに、そのゾーンの権威サーバーすべて(複数のアドレスがあればアドレスごと)に問い合わせます。そのため、次のようなことが1回の解析で分かります。

  • 権威サーバーごとに答えが食い違っていないか
  • 一部の権威サーバーやアドレス(IPv6 だけ、TCP だけなど)が応答しないことはないか
  • 答えに付いた署名が、親ゾーンの DS から正しくつながっているか
  • 存在しない名前や種別について、存在しないことの証明が正しく返っているか

反対に、「利用者のキャッシュサーバーに今どの値が残っているか」は分かりません。変更の伝播を見たいときは、別のツールと組み合わせます。

Web 版で問い合わせる手順

手順1:調べたい名前をそのまま入力する

dnsviz.net のトップページの入力欄に名前を入れます。ここで入れるのは、ドメイン名ではなく「調べたいレコードがある名前」です。

  • サイトの IP アドレス:www.example.com
  • DMARC:_dmarc.example.com
  • DKIM:selector1._domainkey.example.com(セレクター名はメールサービスの案内で確認)
  • メールサーバーの TLSA(DANE):_25._tcp.mail.example.com

ドメイン名だけを入れると、そのドメイン名自体のレコードしか問い合わせないため、www や _dmarc の下のレコードは結果に出てきません。

手順2:過去の結果か、新しい解析かを見分ける

その名前を誰かが以前に解析していれば、過去の結果が表示されます。画面の上部に出る更新日時(Updated の表示)を見て、古ければ再解析のボタン(Update now など)か Analyze のタブから解析を実行し直します。DNS を変更した直後の確認では、新しい解析を実行するのが前提です。

手順3:問い合わせる種別を指定する

解析を実行する画面(Analyze のタブ)には、詳細な設定を開く項目があります。その中の、追加で問い合わせる種別を選ぶ欄(Extra types と表示されます)で、調べたい種別を選びます。A・AAAA・TXT・MX・CNAME・CAA・TLSA などが選べます(2026年10月現在)。項目の名前や並びは更新で変わることがあるため、見当たらない場合は詳細な設定の中を探してください。

同じ画面には、解析の方式(権威サーバーに直接聞くか、キャッシュサーバーを通すか)や、親ゾーンにまだ登録していない委任を与えて試す設定もあります。通常の確認では、既定の「権威サーバーに直接聞く」方式のままで構いません。

手順4:応答の一覧で各権威サーバーの答えを見る

解析が終わると、名前ごとのページにいくつかのタブが表示されます。グラフが表示される DNSSEC のタブのほかに、問い合わせへの応答をまとめた Responses のタブと、権威サーバーの一覧を示す Servers のタブがあります。

特定のレコードの値を確かめるには、Responses のタブを開きます。「名前/種別」ごとに表が分かれ、各行にレコードの名前・TTL・種別・値・状態が並び、その右に権威サーバーのアドレスごとの列があって、どのアドレスがその行の値を返したかが印で示されます。署名(RRSIG)の行には、検証できたかどうかの状態も表示されます。表の下には、応答の件数・大きさ・応答時間がアドレスごとに並びます。読むときは次の点に注目します。

  • 値が権威サーバー間でそろっているか:1台だけ古い値を返しているなら、その権威サーバーへのゾーンの転送や同期が遅れています。
  • TTL が想定どおりか:権威サーバーから直接受け取っているので、表示される TTL はゾーンに設定した値です。
  • 応答しないサーバーやアドレスが無いか:エラーや警告の表示があれば、どのサーバーのどの通信方式で起きたかを確かめます。

Servers のタブでは、各権威サーバーの名前とアドレスが並びます。親ゾーンに登録した NS と、ゾーンの中の NS が一致しているかも、ここで確かめられます。

コマンドライン版で問い合わせる手順

社内専用の名前を調べたい、解析の結果を公開したくない、決まった種別を繰り返し確かめたい、という場合はコマンドライン版を使います。pip install dnsviz などで導入でき、詳しい導入方法は公式リポジトリの説明に従います。

種別を指定して問い合わせるには、dnsviz probe の -R を使います。

# 権威サーバーに直接、A・AAAA・CAA だけを問い合わせて JSON に保存する
dnsviz probe -A -R A,AAAA,CAA -p www.example.com > www.json

# DMARC の TXT だけを問い合わせる
dnsviz probe -A -R TXT -p _dmarc.example.com > dmarc.json

# 保存した結果を文字で表示する(問い合わせは発生しない)
dnsviz print -r www.json

-A は、ルートから委任をたどって権威サーバーに直接問い合わせる指定です。-R を付けない場合は、名前に応じた既定の種別をまとめて問い合わせます。

キャッシュサーバーを通した場合の結果を見たいときは、-A を外し、-s で問い合わせ先のキャッシュサーバーを指定します。

# 指定したキャッシュサーバー経由で問い合わせる
dnsviz probe -s 192.0.2.53 -R A -p www.example.com > via-resolver.json

オプションの書式は版によって変わることがあるので、手元では dnsviz help probe の表示を優先してください。

問い合わせるときの注意

  • Web 版の結果は公開される:dnsviz.net で解析した名前と結果は、他の人も閲覧できる形でサイトに残ります。公開前のサブドメインや社内の名前は、コマンドライン版で調べます。
  • 社内の名前には Web 版が届かない:Web 版はインターネット側から問い合わせるため、社内の DNS サーバーにしか無い名前は解析できません。
  • 自分が管理するドメインに使う:1回の解析で多くの問い合わせが発生します。他人のドメインを繰り返し解析するのは避けます。
  • 結果は解析した時点・場所から見た状態:権威サーバーの答えなので、利用者のキャッシュの状態とは一致しないことがあります。

まとめ

  • DNSViz は、指定した名前について全権威サーバーに直接問い合わせ、応答と署名のつながりを解析するツールです。
  • Web 版では、調べたいレコードがある名前そのものを入力し、詳細な設定の Extra types で種別を選んで解析を実行します。過去の結果が出たら日時を確かめ、必要なら解析し直します。
  • 各権威サーバーの値と TTL は Responses のタブ、権威サーバーの一覧は Servers のタブで確かめます。
  • コマンドライン版では dnsviz probe -A -R 種別 名前 で種別を絞って問い合わせ、dnsviz print で読みます。社内の名前や公開したくない名前はこちらで調べます。

お気軽にご相談ください

お見積りへ お問い合わせへ
▲