DNSGlobe – 用 Rust 编写的 TUI 工具,监控 DNS 在全球的传播情况
摘要
DNSGlobe 是一款用 Rust 编写的终端应用,可并行查询全球 34 个 DNS 解析器,在世界地图上检查并显示传播状态,并提供持续监控的观察模式。
查看缓存全文
缓存时间: 2026/07/05 22:34
514-labs/dnsglobe
来源:https://github.com/514-labs/dnsglobe
dnsglobe
crates.io (https://crates.io/crates/dnsglobe) 许可证
一个终端中的全局 DNS 传播检查工具 —— 一款 Rust TUI 工具,可并行查询全球 34 个公共 DNS 解析器,比较它们的回答,并在世界地图上显示记录的传播状态。
dnsglobe 演示 —— 检查域名的 A 和 NS 记录,覆盖全球 34 个解析器
类似 dnschecker.org / whatsmydns.net,但在终端中运行,支持监视模式:启动检查后,它会反复轮询,直到记录在所有地方传播完成。
解析器覆盖全球任播网络(Google、Cloudflare、Quad9),以及北美、欧洲、俄罗斯、中东、东亚和南半球(Telstra 澳洲、SafeSurfer 新西兰、UOL 巴西)——每个解析器都直接查询,因此你可以看到每个服务器当前对该记录的独立视图。
每个解析器均直接查询(无缓存、EDNS0、截断答案时回退 TCP),因此你所见即每个服务器自身对该记录的当前视图。共享任意记录的答案会被归为一组——因此轮询 DNS(每个解析器缓存 IP 池中的不同子集)被视为一个一致的答案,而非二十个冲突的答案。传播指示器显示多数派中的解析器数量;一旦所有结果返回,异常值会被标记为 ≠ 差异。
在宽度 ≥150 列的终端上,右侧会出现一幅世界地图,每个解析器用一个点表示,颜色根据状态区分(绿色表示一致,洋红色表示差异,红色表示错误,黄色表示进行中)。
使用方法
安装:
brew install 514-labs/tap/dnsglobe # Homebrew (macOS/Linux)
cargo install dnsglobe # 来自 crates.io
# 或从 GitHub Releases 页面下载预构建二进制文件
运行:
dnsglobe # 启动为空,输入域名
dnsglobe example.com # 立即查询并监视
dnsglobe --once example.com TXT # 无 TUI:打印结果后退出(用于脚本)
按键
| 按键 | 操作 |
|---|---|
| 输入 / ⌫ / Del | 编辑域名 |
| ←/→ / Home/End | 在域名输入框内移动光标 |
| Enter | 启动检查并监视:每 30 秒轮询,直到传播达到 100% |
| Ctrl+R | 停止或恢复监视 |
| Tab / Shift+Tab | 选择记录类型(A、AAAA、CNAME、MX、NS、TXT、SOA) |
| ↑/↓ / PgUp/PgDn | 滚动解析器表格 |
| Ctrl+U | 清除域名 |
| Esc / Ctrl+C | 退出 |
备注
- 多个解析器属于任播网络,因此响应的节点是离你最近的节点;位置列是运营商的所属地区。
- 解析器列表位于
src/resolvers.rs—— 可自由添加或删除条目。每个条目均经过验证可响应外部查询;许多知名的 ISP 解析器(尤其是所有主要的非洲解析器)会拒绝来自其网络外部的查询,因此无法包含在内。
相似文章
大规模AI工具发现:只需DNS
本文提出ToolDNS,一个将语义工具发现改造到DNS基础设施上的框架,实现了可扩展的O(log N)解析,并在包含超过33,000个跨多种协议的真实世界工具的基准测试中,将搜索空间减少了95.26%。
Armadillo – 一个用 Gleam 编写的 Homelab DNS 服务器
Armadillo 是一个用 Gleam 编写的自托管 DNS 服务器,适用于 homelab 环境。它首先检查本地记录,然后将未知查询转发到上游解析器,并带有可配置的区域文件和 ETS 缓存。
@DavidHodge:我在周末项目中构建了 SatRadar——实时展示所有绕地球运行的活动卫星,在浏览器中可达 120 FPS。…
David Hodge 构建了 SatRadar,一个基于浏览器的工具,通过 WebGL2 着色器在 GPU 上完全运行 SGP4 轨道传播器,实时显示超过 10,000 颗活动卫星,帧率高达 120 FPS。
@akshay_pachaar: 我在3D地球仪上构建了一个实时卫星追踪器。它交互式地显示超过一万颗绕地球运行的活跃卫星,其中包括…
一位开发者使用 Tiger Cloud (TimescaleDB) 和 Claude Code 构建了一个实时3D卫星追踪器,展示了用于时间序列数据的 Tiger CLI MCP 服务器。文章还重点介绍了 Speedcast 在生产规模上对该技术的应用。
掌控校园内所有投影仪和摄像头
科罗拉多矿业大学的一名学生构建了一个快速的暴力DNS枚举工具,用于发现校园网络中的所有设备,首先用Python实现,然后改用Rust,通过枚举本地DNS的子域名。