2026年6月12日

2026年6月12日

dnschecker と host の違いと使い分け|Webで外から見る確認とコマンドで手元から見る確認

dnschecker(dnschecker.org)は、ブラウザから世界各地の DNS キャッシュサーバーの答えをまとめて確認できる Web ツールです。host は、手元の端末やサーバーから DNS に問い合わせ、結果を短い文章で返すコマンドです。「外からどう見えているか」を広く眺めるなら dnschecker、「この場所からどう見えるか」を素早く確かめたり、スクリプトで繰り返し確認したりするなら host が向いています。この記事では両者の性格の違いと、具体的な使い分けを説明します。

2つのツールの性格

dnschecker は、指定した名前とレコード種別について、各国に置かれた公開 DNS やプロバイダーのキャッシュサーバーへ問い合わせ、その結果を一覧と地図で表示します。名前解決の確認のほか、逆引き、MX、SPF や DKIM の確認など、関連する小さなツールもそろっています。どのツールが用意されているか、画面の構成がどうなっているかはサイト側で変わることがあるので、使う時点の表示を確認してください。この記事は執筆時点(2026年10月現在)の内容をもとに説明しています。

host は、ISC の BIND に付属するコマンドで、dig と同じパッケージに入っています。dig と同じく DNS サーバーへ問い合わせますが、出力が「example.com has address 192.0.2.10」のような1行の文章になっていて、結果をひと目で読み取れます。

同じ「DNS を確認する道具」でも、見ている場所が違います。dnschecker は各地のキャッシュサーバーの視点、host は実行した端末の視点です。どちらか一方だけで判断すると見落としが出るため、目的に応じて使い分けます。

host の基本

# A・AAAA・MX をまとめて確認する
host example.com

# レコード種別を指定する
host -t TXT example.com
host -t NS example.com

# 問い合わせ先のサーバーを指定する(2つ目の引数)
host www.example.com 1.1.1.1

# IP アドレスを渡すと逆引き(PTR)になる
host 192.0.2.10

種別を指定しないと、A、AAAA、MX の結果が文章で並びます。サイトとメールの向き先をまとめて確認したいときに便利です。2つ目の引数にサーバーを指定すると、最初に「Using domain server」として問い合わせ先が表示されるので、どのサーバーの答えかを取り違えにくくなっています。

名前が存在しないときは not found: 3(NXDOMAIN) のようなメッセージが表示され、終了ステータスも 0 以外になります。この性質はシェルスクリプトで扱いやすい点です。

権威サーバー間の食い違いを調べる -C

host には -C というオプションがあり、ドメインのすべての権威サーバーに SOA を問い合わせて並べてくれます。

host -C example.com

SOA のシリアル番号がすべての権威サーバーでそろっていれば、同じ内容のゾーンが配られていると判断できます。1台だけシリアルが古い、1台だけ応答しない、という状態は、プライマリからセカンダリへのゾーン転送の失敗や、DNS 事業者の移転途中によく見られます。dnschecker の一覧で一部の地域だけ結果が違うとき、原因がキャッシュではなく権威サーバー側にあるかどうかを、これで切り分けられます。

詳しく見たいときは -v

host -v を付けると、dig に近い詳しい出力になり、TTL やフラグも確認できます。ただ、詳しい調査をするなら最初から dig を使ったほうが、資料も多くオプションも豊富です。host は短く結果を知りたい場面、dig は応答の中身を細かく見たい場面、と分けておくと迷いません。

dnschecker の基本と読み方

dnschecker では、名前とレコード種別を選んで検索すると、各地のサーバーの所在地と返ってきた値が並びます。結果を読むときの前提は、各行が「そのキャッシュサーバーが今持っている答え」だということです。権威サーバーで値を変えても、各キャッシュサーバーは TTL が切れるまで古い値を返すため、変更直後は新旧の値が混在するのが普通です。

結果が地域によって違うときは、次の順に確認します。

  1. 旧い値と新しい値が混ざっているだけか:変更前の TTL の時間が過ぎれば解消します。
  2. CDN や地域別応答の構成ではないか:地域によって IP が違うのが設計どおりの場合があります。
  3. 一部のサーバーだけ失敗していないか:時間をおいて再検索し、同じサーバーだけ失敗が続くかを見ます。
  4. 多くのサーバーで一斉に失敗していないか:DNSSEC の不具合や権威サーバーの停止を疑い、host や dig で権威サーバーに直接問い合わせます。

Web ツールで見えないもの

dnschecker は手元の PC、社内のネットワーク、契約しているプロバイダーのキャッシュサーバーの状態を見ていません。社内の DNS サーバーでだけ使っている名前(スプリットホライズン構成の内部側)も確認できません。社内向けのホスト名や検証環境の名前を公開ツールに入力すると、その名前が外部の第三者に知られることになるので、入力は公開しているドメインに限ってください。

場面ごとの使い分け

サーバー移転や DNS の変更直後

まず host で権威サーバーに直接問い合わせ、意図した値が入っていることを確かめます。ここで違っていれば DNS 事業者の設定ミスで、待っても直りません。

host -t NS example.com
host www.example.com ns1.example.net

権威サーバーの値が正しければ、dnschecker で各地の切り替わり具合を眺めます。最後に、手元の環境で host を実行して、普段使っているキャッシュサーバーがどちらの値を返しているかを確認します。

メールの設定を確認するとき

MX や SPF の確認は、host の既定の出力(mail is handled by ...)や host -t TXT で十分です。dnschecker には SPF や DKIM の書式を検査する補助ツールもあるため、書き方に自信がないときの確認に使えます。ただし、補助ツールの判定はあくまで目安です。最終的には、メール配信サービスの案内と、実際に送ったメールのヘッダーにある認証結果で確かめてください。

定期的に監視したいとき

Web ツールは人が見て判断するためのもので、自動で繰り返し実行する用途には向きません。短い間隔で大量の検索をすると、サービス側の利用条件に触れるおそれもあります。定期的な確認は host をスクリプトに組み込みます。

#!/bin/sh
# すべての権威サーバーで www の A レコードを確認する例
for ns in $(host -t NS example.com | awk '{print $NF}'); do
  echo "== $ns"
  host -t A www.example.com "$ns" | grep 'has address'
done

cron で実行して結果をログに残しておけば、意図しない変更や、特定の権威サーバーだけ古い値を返している状態に早めに気づけます。

まとめ

  • dnschecker は各地のキャッシュサーバーの視点、host は実行した端末の視点で DNS を確認します。
  • host は A・AAAA・MX を文章で返し、-t で種別、2つ目の引数で問い合わせ先、-C で全権威サーバーの SOA を比べられます。
  • dnschecker の結果のばらつきは、TTL の残り、CDN・地域別応答、個別サーバーの不調、DNSSEC や権威サーバーの順に疑います。
  • 社内向けの名前は公開の Web ツールに入力しないようにします。
  • 変更直後は「host で権威サーバー → dnschecker で各地 → host で手元」の順に確認し、定期監視は host をスクリプトで使います。

お気軽にご相談ください

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