Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
dnsglobe — グローバルDNS伝播チェッカーTUI — 世界中の34の公開リゾルバーでDNSレコードの伝播を、ターミナル上の世界地図で監視します | Kitploit
ツール/GitHubGitHub/514-labs/dnsglobe
偵察ネットワークマッピング情報収集ネットワークセキュリティユーティリティとフレームワークDNS分析
GitHub514-labs/dnsglobe

dnsglobe

グローバルDNS伝播チェッカーTUI — 世界中の34の公開リゾルバーでDNSレコードの伝播を、ターミナル上の世界地図で監視します

リポジトリを見る
98234612日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

dnsglobe

crates.io dnsglobe dnsglobe-bin license

ターミナル用のグローバルDNS伝播チェッカー — 世界中の34の公開DNSリゾルバーに並列でクエリを送り、その回答を比較し、ワールドマップ上でレコードの伝播状況を表示するRust製TUIです。

dnsglobeデモ — EDNS Client Subnetを使用して、世界中の34のリゾルバーでドメインのAレコードとNSレコードを確認し、クライアントサブネットを切り替えながら、ワールドマップが回転するグローブに変形する様子

dnschecker.org / whatsmydns.net をターミナルで使うイメージですが、ウォッチモード付きです。チェックを開始すると、レコードがすべての場所に伝播するまで再ポーリングします。

リゾルバーは、グローバルなanycastネットワーク(Google、Cloudflare、Quad9)や、北米、欧州、ロシア、中東、東アジア、南半球(Telstra AU、SafeSurfer NZ、UOL BR)にわたって配置されています。各サーバーに直接クエリするため、各サーバーが現在持っているレコードのビューを確認できます。

各リゾルバーには直接クエリが行われます(キャッシュなし、EDNS0、切断された回答に対するTCPフォールバック)。そのため、表示されるのは各サーバーが現在持っているレコードのビューです。共通するレコードを含む回答はグループ化されます。つまり、ラウンドロビンDNS(各リゾルバーがIPプールの異なるサブセットをキャッシュする場合)は、20個の競合する回答ではなく、1つの一貫した回答としてカウントされます。伝播ゲージは多数派グループに属するリゾルバーの数を示し、すべての結果が揃うと外れ値は ≠ DIFFERS としてフラグされます。

テーブルは80桁のターミナルに収まるように設計されています。各リゾルバーの完全なIPv4アドレス、ラウンドトリップタイム、TTL、有効期限のカウントダウンはそのまま表示され、行ごとの判定結果は左余白のグリフ(✓ ≠ ! ↻ ∅ ✗)に縮小されるため、回答の表示スペースが確保されます。カウントダウンは意図的に大まかになっています(45s、4m、2h、1d)。秒単位のカラムが1分を超えてバラバラに刻まれるのはノイズになるからです。

ターミナルが十分に広い場合は、右側にワールドビューが表示され、リゾルバーごとに1つのドットで状態別に色分けされます(緑=一致、マゼンタ=相違、赤=エラー、黄=処理中)。ビューは幅に応じて変化します。157桁以上のターミナルでは平面ワールドマップ、それより狭い(131桁以上)ターミナルでは、より少ない桁数で済む回転する3Dグローブが表示されます。しきい値をまたいでリサイズすると、一方から他方へと変形します。Ctrl+Oでマップ/グローブを手動で切り替えられ、--view auto|map|globe(または設定ファイルの view = "...")でスタイルを強制指定できます。

各リゾルバーには、NSID(RFC 5001)を使って、どのサイトが応答しているかを尋ねます。NSIDは、応答ノードが自身の名前(gpdns-yul、yul01、res721.qyul1、jfk-dns1-02.inet.centurylink.net)を入れるEDNSオプションです。プロバイダ側の特別なサポートは不要なので、自分で追加したリゾルバーでもサイトを報告できます。NSIDで場所が特定できない場合は、オペレーター固有の識別クエリが使われます。Quad9(TXT id.server.on.quad9.net)、Cloudflare(CH TXT id.server)、Google(TXT o-o.myaddr.l.google.com による出力サブネットを TXT locations.publicdns.goog と照合)、OpenDNS(TXT debug.opendns.com)、CleanBrowsing、Neustar UltraDNSです。検出されたサイトはLoc列に →YUL 形式のコードで表示され、リゾルバーのマップドットは実際にクエリを処理しているPOPに移動します。

Usage

インストール:

root@kitploit:~
brew install 514-labs/tap/dnsglobe   # Homebrew (macOS/Linux)
cargo install dnsglobe               # from crates.io
yay -S dnsglobe                      # from archlinux aur (compile from source)
yay -S dnsglobe-bin                  # from archlinux aur (install prebuilt binary)
nix run github:514-labs/dnsglobe     # Nix flakes (builds from source)
# or grab a prebuilt binary from the GitHub Releases page

実行:

root@kitploit:~
dnsglobe                            # start empty, type a domain
dnsglobe example.com                # query immediately and watch
dnsglobe example.com TXT            # same, starting on TXT records
dnsglobe --once example.com TXT     # no TUI: print results, exit (for scripts)
dnsglobe example.com --ecs 203.0.113.0/24        # see the zone as that client network does
dnsglobe --once example.com --ecs 203.0.113.0/24,198.51.100.0/24
                                    # one table per subnet + a convergence summary

EDNS Client Subnet (ECS)

--ecs(または設定ファイルの ecs = [...])は、すべてのクエリにEDNS Client Subnetオプション(RFC 7871)を付加します。これにより、GeoDNSゾーンはリゾルバー自身の視点ではなく、そのクライアントネットワーク用に応答します。サブネットはCIDRまたは単一のIPです。ほとんどの公開リゾルバーは最大で/24(IPv4)または/56(IPv6)を使用します。複数のサブネットを設定している場合、Ctrl+Nでアクティブなサブネットを切り替え(オフ の位置も含む)、すぐに再クエリします。--once はすべてのサブネットを実行し、最後にサブネットごとの収束サマリーを表示します。ECSを意図的に無視するリゾルバー(Cloudflare、Quad9など)は NO ECS とタグ付けされます。それらの回答は参考として表示されますが、伝播率には含まれません。なぜなら、それは調査対象のネットワークではなく、リゾルバー自身の場所を表すからです。

Keys

Configuration

必要に応じて、~/.config/dnsglobe/config.toml(設定されている場合は $XDG_CONFIG_HOME/dnsglobe/config.toml)にあるTOML設定ファイルで、独自のリゾルバーを追加したり、組み込みリストを完全に置き換えたりできます。DNSGLOBE_CONFIG を設定すると別のパスを使用できます。

root@kitploit:~
# Set to true to replace the built-in list instead of extending it —
# e.g. to watch propagation across your own nameservers only.
replace = false

# EDNS Client Subnet(s) to query with (Ctrl+N cycles; --ecs overrides).
ecs = ["203.0.113.0/24"]

# World-view style: auto (default — pick by terminal width), map, or globe.
# The --view flag overrides this.
view = "auto"

[[resolvers]]
name = "Corp DNS"        # required — shown in the Resolver column
ip = "10.0.0.53"         # required — IPv4 or IPv6, queried on port 53
location = "HQ"          # optional — Loc column / location sort
lat = 40.7               # optional — position on the world map;
lon = -74.0              #            omit both to leave it off the map

[[resolvers]]
name = "NS1 (public)"
ip = "198.51.100.53"

# Optionally recolor the UI. Every key is optional; unset roles keep their
# defaults. Colors are ANSI names ("lightcyan"), 256-color indexes ("208"),
# or hex ("#ff8700" — needs truecolor support).
[theme]
accent   = "lightcyan"    # borders, titles, cursor, anycast sites
agree    = "lightgreen"   # answers matching the majority; fast latency
differ   = "lightmagenta" # answers disagreeing with the majority
error    = "white on lightred"
                          # ERR / SERVFAIL / NONE; slow latency. Written
                          # "<fg> on <bg>", it becomes a filled badge on the
                          # status glyph and word — legible on any background;
                          # a plain color like "lightred" drops the badge
pending  = "lightyellow"  # queries in flight; middling latency
stale    = "208"          # caches serving an answer past its own TTL
upstream = "lightblue"    # refetched but upstream still has the old data
muted    = "faint"        # labels, hints, countdowns, quiet borders —
                          # "faint" dims your terminal's default foreground;
                          # set a color if your terminal renders faint poorly
coastline = "gray"        # map/globe land outline
grid      = "244"         # globe graticule and limb

無効な設定(不正なIP、不明なキー、認識できない色、不正な ecs サブネット、lon のない lat、リゾルバーがないのに replace = true)は、起動時に問題のあるエントリの名前とともに報告されます。

Notes

  • いくつかのリゾルバーはanycastネットワークであるため、応答するノードはあなたに最も近いノードになります。NSIDまたは識別クエリによってノードを識別できるネットワークは、実際に応答しているサイト(→YUL)を報告します。それ以外の場合、場所の列は事業者のホームリージョンになります。
  • 組み込みのリゾルバーリストは src/resolvers.rs にあります。上記の設定ファイルを使用して、再ビルドせずに拡張または置き換えることができます。組み込みのエントリはすべて外部からのクエリに応答することが確認されています。多くの有名なISPリゾルバー(特にアフリカの主要なリゾルバーはすべて)は、自ネットワーク外からのクエリを拒否するため、含めることができません。

Nix

このプロジェクトは、すでにNixを使用しているユーザー向けに、オプションのNix flake出力を提供しています。flakeはソースからビルドします。

root@kitploit:~
# Latest source from default branch
nix run github:514-labs/dnsglobe

# Specific release (uses the flake at that git tag)
nix run github:514-labs/dnsglobe/v0.4.0

# Named outputs (if the flake exposes them): #latest, #source
nix run github:514-labs/dnsglobe#source

# Build / develop
nix build github:514-labs/dnsglobe
nix develop github:514-labs/dnsglobe

flakeは packages.<system>.default、apps.<system>.default、devShells.<system>.default、overlays.default を公開しています。

インストール時と同じNixワークフローで更新します。プロファイルインストールの場合は、nix profile list を実行してから nix profile upgrade <index-or-name> を実行します。flake入力を使用している場合は、自身のflakeで nix flake update <repo> を実行して再ビルドしてください。

Devbox

再現可能な開発環境を実現するには、Devboxを使用します:

root@kitploit:~
# Install Devbox first (if not already installed)
curl -fsSL https://get.jetify.dev/devbox | bash

# Initialize the environment
devbox shell

# Build the project
devbox run build

または、HomebrewでDevboxをインストールします:

root@kitploit:~
brew install jetify-com/devbox/devbox

❤️を込めて、514.ax で働く人々によって作られました。

ツールをダウンロード
KeyAction
type / ⌫ / Deledit domain
←/→ / Home/Endmove cursor in the domain field
Enterstart the check and watch: re-polls every 30 s until propagation reaches 100%
Ctrl+Rstop or resume watching
Tab / Shift-Tabselect record type (A, AAAA, CNAME, MX, NS, TXT, SOA) and re-query
↑/↓ / PgUp/PgDnmove the highlight through the resolver table (scrolls to follow)
+add a resolver for this session (name, IP, optional location and map position)
Ctrl+Xremove the highlighted resolver for this session
Ctrl+Scycle table sort: resolver / location / ping / status / answer
Ctrl+Otoggle the world view between flat map and rotating globe
Ctrl+Ncycle the ECS client subnet and re-query (only when --ecs/config set one up)
Ctrl+Uclear domain
Esc / Ctrl+Cquit