2026年6月16日
2026年6月16日
dnschecker で DNS を問い合わせる方法|Web 画面での調べ方と、同じ確認をコマンドで行うやり方
dnschecker(dnschecker.org)は、ブラウザでドメイン名とレコードの種別を入れると、世界各地の公開キャッシュサーバーがその名前に何を答えているかを一覧で見せてくれる Web サービスです。「dnschecker コマンド」という名前の公式のコマンドラインツールは、筆者が確認した範囲では提供されていません(2026年10月現在)。そこでこの記事では、Web 画面で正しく問い合わせる手順と、同じ種類の確認を dig や PowerShell で手元から行うやり方の両方を説明します。読み終えると、DNS の設定を変えたあとに「どこから見て、何が返っているか」を自分で確かめられるようになります。
dnschecker と「dnschecker コマンド」の関係
dnschecker は DNS の伝播(変更が各地のキャッシュサーバーに行き渡る様子)を見るための道具が中心のサイトで、MX・TXT・逆引きなどを調べる個別の道具も並んでいます。どの道具がどこにあるか、拠点の数がいくつかといった点はサイト側の更新で変わるため、画面の表示に従ってください。
パッケージ管理ツールで検索すると、似た名前の非公式なツールが見つかることがあります。これらは dnschecker.org の運営とは関係がない場合が多く、保守されているかどうかも分かりません。インストールする前に、作者・最終更新日・ソースコードの中身を確かめてください。コマンドで確かめたいなら、後半で説明する dig などの定番の道具を使う方が安心です。
Web 画面で問い合わせる手順
1. 名前はホスト名だけを入れる
入力欄には www.example.com のようにホスト名だけを入れます。https:// やパス、末尾のスラッシュを付けたまま貼り付けると、意図しない名前で検索されることがあります。また、example.com(ドメインそのもの)と www.example.com は別の名前で、別々のレコードを持てます。WordPress サイトを両方で開けるようにしている場合は、それぞれ検索します。
2. 目的に合った種別を選ぶ
種別の選び方を誤ると、設定が正しくても「何も返らない」ように見えます。目的ごとの選び方は次のとおりです。
- サイトの移転や新しいサーバーへの切り替え:A(IPv4)と AAAA(IPv6)。AAAA を旧サーバーのまま残すと、IPv6 で接続する利用者だけ旧サイトが表示されることがあります。
- CDN やホスティング事業者の名前に向けている:CNAME。表示されるのは置き換え先の名前です。
- メールの設定:MX と TXT(SPF や各種の所有者確認の値)。
- ネームサーバーの変更:NS。ドメインそのもの(
wwwを付けない名前)で検索します。 - SSL 証明書の発行に関わる制限:CAA。
3. 期待する値をメモしてから結果を見る
検索する前に、DNS 事業者の管理画面で設定した値を書き出しておきます。結果の一覧には拠点ごとの値と、答えが得られたかどうかの印が並びますが、表示された値が正しいかどうかは、期待する値と見比べないと判断できません。拠点ごとに新旧の値が混ざっているのは、変更直後なら普通のことです。各キャッシュサーバーは、前に覚えた値を TTL の時間だけ使い続けるためです。
結果の1行ずつの読み方や、失敗の印が出たときの考え方は、同じシリーズの「出力を読み解く」記事で詳しく扱っています。この記事では、問い合わせ方と、コマンドでの再現に絞ります。
同じ確認をコマンドで行う
dnschecker がしていることは、要するに「複数のキャッシュサーバーに同じ名前を問い合わせて、答えを並べる」ことです。この動作は dig で再現できます。
dig で複数の公開 DNS に問い合わせる
macOS には dig が最初から入っています。Debian・Ubuntu では bind9-dnsutils(古い版では dnsutils)、RHEL 系では bind-utils というパッケージで入ります。
#!/usr/bin/env bash
# 使い方: ./dnscheck.sh www.example.com A
name="${1:?名前を指定してください}"
type="${2:-A}"
for r in 1.1.1.1 8.8.8.8 9.9.9.9 208.67.222.222; do
printf '%-16s ' "$r"
dig @"$r" "$name" "$type" +short +time=2 +tries=1 | paste -sd' ' -
done
1.1.1.1 は Cloudflare、8.8.8.8 は Google、9.9.9.9 は Quad9、208.67.222.222 は OpenDNS の公開 DNS です。+short で値だけを表示し、+time=2 +tries=1 で応答しないサーバーを長く待たないようにしています。各行に値が並ぶので、dnschecker の一覧と同じように新旧の混在を見られます。
TTL の残り時間も見たいときは、+short の代わりに +noall +answer を付けます。キャッシュサーバーの答えに表示される TTL は残り時間なので、その秒数が過ぎれば新しい値に入れ替わると読めます。
dig @8.8.8.8 www.example.com A +noall +answer
Windows の PowerShell で問い合わせる
Windows では、標準の Resolve-DnsName で問い合わせ先を指定できます。
$name = 'www.example.com'
foreach ($r in '1.1.1.1', '8.8.8.8', '9.9.9.9') {
Resolve-DnsName -Name $name -Type A -Server $r -DnsOnly |
Where-Object Type -eq 'A' |
Select-Object @{n = 'Server'; e = { $r } }, Name, IPAddress, TTL
}
Where-Object で A の行だけに絞っているのは、CNAME を経由する名前では置き換えの行も一緒に返るためです。
権威サーバーにも直接聞く
キャッシュサーバーの答えだけでは、古い値が残っているのか、設定そのものが古いのかを区別できません。DNS 事業者の権威サーバーに再帰を求めずに聞くと、今の設定値が分かります。
dig example.com NS +short
dig @ns1.example.net www.example.com A +norecurse +noall +answer
1行目で表示されたネームサーバー名を、2行目の @ の後ろに入れます(ns1.example.net は例です)。権威サーバーが新しい値を返しているなら、あとはキャッシュが入れ替わるのを待つだけです。
Web とコマンドの違いを知っておく
コマンドで公開 DNS に聞いても、dnschecker と同じ「世界各地の見え方」にはなりません。1.1.1.1 や 8.8.8.8 は、同じアドレスで世界中に拠点を持つ仕組み(エニーキャスト)で動いており、手元から問い合わせると、手元に近い拠点が答えるからです。海外の利用者からの見え方を確かめたいときは dnschecker のような Web サービスや、各地の計測拠点を使える外部の計測網を利用します。
一方で、コマンドには、問い合わせ先を自由に選べる、権威サーバーに直接聞ける、スクリプトや監視に組み込める、という強みがあります。「設定が正しいか」はコマンドで、「変更が各地へ広がったか」は dnschecker で、と分けて考えると迷いません。
使うときの注意
- 社内用や公開前の名前を入れない:dnschecker に入力した名前は外部のサービスに送られ、各地の公開サーバーに問い合わせられます。そうした名前は手元の dig で確かめます。
- 自動で繰り返し取得しない:画面をプログラムで定期的に取得する使い方は、サイトの利用条件に反するおそれがあります。定期的な確認には dig のスクリプトを使い、どうしても外部の結果が必要なら、提供されている API の有無と条件をサイトで確かめてください。
- 何度も再読み込みしない:検索を繰り返してもキャッシュの残り時間は短くなりません。数分おきに見る程度で十分です。
まとめ
- dnschecker は Web サービスで、公式の「dnschecker コマンド」は確認できません(2026年10月現在)。似た名前の非公式ツールは中身を確かめてから使います。
- Web 画面では、ホスト名だけを入れ、目的に合った種別を選び、期待する値と見比べます。
- 同じ確認は、dig や
Resolve-DnsNameで複数の公開 DNS に問い合わせて再現できます。権威サーバーへの+norecurseの問い合わせで設定値そのものも確かめます。 - 手元からのコマンドは近い拠点の答えになるため、各地の見え方は dnschecker、設定の正しさはコマンド、と使い分けます。