← На главную

dnsglobe: Rust-утилита с TUI опрашивает 34 DNS-резолвера и показывает карту

05.07.2026 21:55 · hackernews

dnsglobe — это утилита на Rust с терминальным интерфейсом (TUI), которая за раз опрашивает 34 публичных DNS-резолвера по всему миру, сравнивает их ответы и показывает, как распространяется запись на карте. Работает как dnschecker.org или whatsmydns.net, только в терминале. Есть режим наблюдения: запускаешь проверку, и она переспрашивает каждые 30 секунд, пока запись не распространится везде.

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

Ответы, совпадающие по любой записи, группируются вместе. Если DNS использует round-robin и разные резолверы закешировали разные IP из пула, это считается одним согласованным ответом, а не двадцатью противоречивыми. Индикатор распространения показывает, сколько резолверов оказалось в группе большинства. Выбивающиеся помечаются ≠ DIFFERS, когда все результаты получены.

Если ширина терминала ≥150 символов, справа появляется карта мира: точка на каждый резолвер, цветом по статусу (зелёный — согласен, пурпурный — отличается, красный — ошибка, жёлтый — в процессе).

Установка: brew install 514-labs/tap/dnsglobe (macOS/Linux), cargo install dnsglobe из crates.io, или готовый бинарник со страницы GitHub Releases.

Запуск: dnsglobe (пустой, потом вводишь домен), dnsglobe example.com (сразу опрос и наблюдение), dnsglobe --once example.com TXT (без TUI, только вывод — для скриптов). Клавиши: Enter — начать проверку и следить (переспрос каждые 30 с до 100% распространения), Ctrl+R — остановить/возобновить наблюдение, Tab/Shift+Tab — выбор типа записи (A, AAAA, CNAME, MX, NS, TXT, SOA), Ctrl+S — сортировка таблицы (резолвер/локация/время/статус/ответ). Список резолверов лежит в src/resolvers.rs — его можно свободно редактировать. Каждый включённый резолвер проверен на способность отвечать на внешние запросы; многие известные ISP-резолверы (и, в частности, все крупные африканские) отклоняют запросы извне, поэтому их там нет.

Читать оригинал →