Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
dnsglobe — Глобальный TUI-чекер распространения DNS — наблюдайте, как DNS-запись распространяется через 34 публичных резолвера по всему миру, на карте мира в вашем терминале. | Kitploit
Инструменты/GitHubGitHub/514-labs/dnsglobe
РазведкаКартирование сетиСбор информацииСетевая безопасностьУтилиты и фреймворкиАнализ DNS
GitHub514-labs/dnsglobe

dnsglobe

Глобальный TUI-чекер распространения DNS — наблюдайте, как DNS-запись распространяется через 34 публичных резолвера по всему миру, на карте мира в вашем терминале.

Репозиторий
98234612 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

dnsglobe

crates.io dnsglobe dnsglobe-bin license

Глобальная проверка распространения DNS для вашего терминала — TUI на Rust, который параллельно опрашивает 34 публичных DNS-резолвера по всему миру, сравнивает их ответы и показывает распространение вашей записи на карте мира.

dnsglobe демо — проверка A и NS записей домена через 34 резолвера по всему миру с EDNS Client Subnet, переключением клиентской подсети и превращением карты мира во вращающийся глобус

Представьте dnschecker.org / whatsmydns.net, но в вашем терминале, с режимом наблюдения: запустите проверку, и она будет повторять опрос, пока запись не распространится повсюду.

Резолверы охватывают глобальные anycast-сети (Google, Cloudflare, Quad9), Северную Америку, Европу, Россию, Ближний Восток, Восточную Азию и южное полушарие (Telstra AU, SafeSurfer NZ, UOL BR) — каждый опрашивается напрямую, поэтому вы видите актуальное представление о записи с каждого сервера.

Каждый резолвер опрашивается напрямую (без кэша, EDNS0, TCP-fallback для усечённых ответов), поэтому вы видите актуальное представление о записи с каждого сервера. Ответы, содержащие любую общую запись, группируются вместе — так round-robin DNS (каждый резолвер кэширует разный набор IP-адресов из пула) считается одним согласованным ответом, а не двадцатью противоречащими. Индикатор распространения показывает, сколько резолверов находится в группе большинства; выбросы помечаются ≠ DIFFERS после получения всех результатов.

Таблица умещается в терминал шириной 80 колонок: полный IPv4-адрес каждого резолвера, время приёма-ответа, TTL и обратный отсчёт до истечения остаются нетронутыми, а вердикт в строке сжимается до глифа на левом поле (✓ ≠ ! ↻ ∅ ✗), чтобы ответ сохранял место. Обратный отсчёт намеренно грубый — 45s, 4m, 2h, 1d — ведь колонка секунд, тикающих не в унисон, — это шум после минуты.

Когда терминал достаточно широк, справа появляется вид мира с одной точкой на резолвер, окрашенной по статусу (зелёный — согласен, пурпурный — отличается, красный — ошибка, жёлтый — в процессе). Вид адаптируется к ширине: терминалы ≥157 колонок получают плоскую карту мира, более узкие (≥131 колонок) — вращающийся 3D- глобус, которому нужно меньше колонок; изменение размера через порог превращает одно в другое. Ctrl+O вручную переключает карту/глобус, а --view auto|map|globe (или view = "..." в файле конфигурации) принудительно задаёт стиль.

Каждый резолвер спрашивают, какой из его сайтов отвечает вам, через NSID (RFC 5001) — опцию EDNS, которую отвечающий узел заполняет своим именем (gpdns-yul, yul01, res721.qyul1, jfk-dns1-02.inet.centurylink.net). Для этого не нужна поддержка конкретного оператора, поэтому добавленные вами резолверы тоже могут сообщать сайт. Там, где 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, который фактически обслуживает ваши запросы.

Использование

Установка:

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 — их ответ показывается для справки, но исключается из процента распространения, поскольку описывает их собственное местоположение, а не проверяемую сеть.

Клавиши

Конфигурация

При желании вы можете добавить собственные резолверы — или полностью заменить встроенный список — с помощью TOML-файла конфигурации в ~/.config/dnsglobe/config.toml ($XDG_CONFIG_HOME/dnsglobe/config.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, lat без lon, replace = true без резолверов) сообщается при запуске с указанием проблемной записи.

Примечания

  • Несколько резолверов — это anycast-сети, поэтому отвечающий узел — ближайший к вам. Сети, которые идентифицируют свой узел — через NSID или идентификационный запрос, — сообщают фактический отвечающий сайт (→YUL); для остальных в колонке местоположения указан домашний регион оператора.
  • Встроенный список резолверов находится в src/resolvers.rs; используйте файл конфигурации выше, чтобы расширить или заменить его без пересборки. Каждая встроенная запись была проверена на ответы на внешние запросы; многие известные резолверы интернет-провайдеров (и, в частности, все крупные африканские) отказывают в запросах извне своей сети, поэтому их нельзя включить.

Nix

Проект предоставляет опциональные выходные данные Nix flake для пользователей, которые уже используют Nix. 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 выполните nix flake update <repo> в своём собственном flake и пересоберите.

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

Или установите Devbox через Homebrew:

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

Сделано с ❤️ командой, работающей над 514.ax.

Скачать инструмент
KeyДействие
type / ⌫ / Delизменить домен
←/→ / Home/Endпереместить курсор в поле домена
Enterначать проверку и наблюдать: повторный опрос каждые 30 с, пока распространение не достигнет 100%
Ctrl+Rостановить или возобновить наблюдение
Tab / Shift-Tabвыбрать тип записи (A, AAAA, CNAME, MX, NS, TXT, SOA) и перезапросить
↑/↓ / PgUp/PgDnперемещать подсветку по таблице резолверов (прокрутка следует за курсором)
+добавить резолвер для этой сессии (имя, IP, необязательно местоположение и позицию на карте)
Ctrl+Xудалить выделенный резолвер из этой сессии
Ctrl+Sциклически менять сортировку таблицы: резолвер / местоположение / пинг / статус / ответ
Ctrl+Oпереключить вид мира между плоской картой и вращающимся глобусом
Ctrl+Nциклически переключать клиентскую подсеть ECS и перезапрашивать (только если --ecs/конфиг задаёт её)
Ctrl+Uочистить домен
Esc / Ctrl+Cвыйти