Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
dnsglobe — Verificador global de propagação de DNS com TUI — veja um registro DNS se propagar por 34 resolvedores públicos em todo o mundo, em um mapa-múndi no seu terminal | Kitploit
Ferramentas/GitHubGitHub/514-labs/dnsglobe
ReconhecimentoMapeamento de RedeColeta de InformaçõesSegurança de RedeUtilitários e FrameworksAnálise de DNS
GitHub514-labs/dnsglobe

dnsglobe

Verificador global de propagação de DNS com TUI — veja um registro DNS se propagar por 34 resolvedores públicos em todo o mundo, em um mapa-múndi no seu terminal

Ver Repositório
9823444há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
# dnsglobe

[![crates.io](https://img.shields.io/crates/v/dnsglobe)](https://crates.io/crates/dnsglobe)
[![dnsglobe](https://img.shields.io/aur/version/dnsglobe?label=aur%20dnsglobe)](https://aur.archlinux.org/packages/dnsglobe/)
[![dnsglobe-bin](https://img.shields.io/aur/version/dnsglobe-bin?label=aur%20dnsglobe-bin)](https://aur.archlinux.org/packages/dnsglobe-bin/)
[![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)

**Um verificador global de propagação de DNS para o seu terminal** — uma TUI em Rust que consulta 34 resolvedores DNS públicos ao redor do mundo em paralelo, compara as respostas e mostra a propagação do seu registro em um mapa-múndi.

![Demonstração do dnsglobe — verificando registros A e NS de um domínio em 34 resolvedores ao redor do mundo com EDNS Client Subnet, alternando a sub-rede do cliente e então transformando o mapa-múndi em um globo giratório](https://assets.kitploit.com/production/public/readmes/9145/9bb4f79868b15cf040fd5bc0c84a4ff9de2f946b0141b4817551f8f46722fdd7.gif)

Pense no dnschecker.org / whatsmydns.net, mas no seu terminal, com o modo de observação: inicie uma verificação e ele fará novas consultas até que o registro tenha se propagado em todos os lugares.

Os resolvedores abrangem as redes anycast globais (Google, Cloudflare, Quad9), América do Norte, Europa, Rússia, Oriente Médio, Leste Asiático e o hemisfério sul (Telstra AU, SafeSurfer NZ, UOL BR) — cada um consultado diretamente, para que você veja a visão atual de cada servidor sobre o registro.

Cada resolvedor é consultado diretamente (sem cache, EDNS0, fallback TCP para respostas truncadas), então o que você vê é a visão atual de cada servidor sobre o registro. Respostas que compartilham qualquer registro são agrupadas — assim, DNS round-robin (cada resolvedor armazenando em cache um subconjunto diferente de um pool de IPs) conta como uma resposta consistente, não vinte conflitantes. O medidor de propagação mostra quantos resolvedores estão no grupo majoritário; os discrepantes são sinalizados com `≠ DIFFERS` quando todos os resultados chegam.

A tabela cabe em um terminal de 80 colunas: o endereço IPv4 completo de cada resolvedor, o tempo de ida e volta, o TTL e a contagem regressiva de expiração permanecem intactos, e o veredito de cada linha se reduz ao glifo na margem esquerda (`✓ ≠ ! ↻ ∅ ✗`) para que a resposta mantenha o espaço. A contagem regressiva é propositalmente grosseira — `45s`, `4m`, `2h`, `1d` — pois uma coluna de segundos dessincronizados é ruído acima de um minuto.

Quando o terminal é largo o suficiente, uma visão do mundo aparece à direita com um ponto por resolvedor, colorido por status (verde concorda, magenta difere, vermelho erro, amarelo em andamento). A visão se adapta à largura: terminais com ≥157 colunas recebem um mapa-múndi plano; os mais estreitos (≥131 colunas) recebem um globo 3D giratório, que precisa de menos colunas; redimensionar através do limite transforma um no outro. Ctrl+O alterna mapa/globo manualmente, e `--view auto|map|globe` (ou `view = "..."` no arquivo de configuração) força um estilo diretamente.

Cada resolvedor é questionado sobre qual de seus sites está respondendo para você, via NSID (RFC 5001) — uma opção EDNS que o nó respondedor preenche com seu próprio nome (`gpdns-yul`, `yul01`, `res721.qyul1`, `jfk-dns1-02.inet.centurylink.net`). Isso não exige suporte por operador, então resolvedores que você adicionar também podem informar um site. Quando o NSID não indica nenhum lugar, as consultas de identificação específicas do operador assumem: Quad9 (`TXT id.server.on.quad9.net`), Cloudflare (`CH TXT id.server`), Google (sub-rede de saída via `TXT o-o.myaddr.l.google.com` comparada com `TXT locations.publicdns.goog`), OpenDNS (`TXT debug.opendns.com`), CleanBrowsing e Neustar UltraDNS. O site descoberto aparece na coluna Loc como códigos no estilo `→YUL`, e o ponto do resolvedor no mapa se move para o POP que está de fato atendendo suas consultas.

## Uso

Instalação:

```sh
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
```

Execução:

```sh
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` (ou `ecs = [...]` no arquivo de configuração) anexa uma opção EDNS Client Subnet ([RFC 7871](https://datatracker.ietf.org/doc/html/rfc7871)) a cada consulta, para que zonas GeoDNS respondam para aquela rede de cliente em vez do ponto de observação do próprio resolvedor. Sub-redes são CIDRs ou IPs simples; a maioria dos resolvedores públicos usa no máximo /24 (IPv4) ou /56 (IPv6). Com várias sub-redes configuradas, Ctrl+N alterna a ativa (além de uma posição *off*) e faz novas consultas imediatamente; `--once` executa cada sub-rede e termina com um resumo de convergência por sub-rede. Resolvedores que ignoram deliberadamente o ECS (Cloudflare, Quad9, …) são marcados como `NO ECS` — a resposta deles é exibida para referência, mas excluída do percentual de propagação, pois descreve a localização deles próprios, não a rede sondada.

### Teclas

| Key            | Action                          |
| -------------- | ------------------------------- |
| type / ⌫ / Del | editar domínio                  |
| ←/→ / Home/End | mover o cursor no campo de domínio |
| Enter          | iniciar a verificação e observar: re-consulta a cada 30 s até a propagação atingir 100% |
| Ctrl+R         | parar ou retomar a observação   |
| Tab / Shift-Tab | selecionar o tipo de registro (A, AAAA, CNAME, MX, NS, TXT, SOA) e re-consultar |
| ↑/↓ / PgUp/PgDn | mover o destaque pela tabela de resolvedores (rola para acompanhar) |
| +              | adicionar um resolvedor para esta sessão (nome, IP, localização opcional e posição no mapa) |
| Ctrl+X         | remover o resolvedor destacado desta sessão |
| Ctrl+S         | alternar a ordenação da tabela: resolvedor / localização / ping / status / resposta |
| Ctrl+O         | alternar a visão do mundo entre mapa plano e globo giratório |
| Ctrl+N         | alternar a sub-rede de cliente ECS e re-consultar (somente quando `--ecs`/config tiver definido uma) |
| Ctrl+U         | limpar domínio                 |
| Esc / Ctrl+C   | sair                           |

## Configuração

Opcionalmente, adicione seus próprios resolvedores — ou substitua a lista embutida por completo — com um arquivo de configuração TOML em `~/.config/dnsglobe/config.toml` (`$XDG_CONFIG_HOME/dnsglobe/config.toml` se definido). Defina `DNSGLOBE_CONFIG` para usar um caminho diferente.

```toml
# 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
```

Configuração inválida (IP incorreto, chave desconhecida, cor não reconhecida, sub-rede `ecs` inválida, `lat` sem `lon`, `replace = true` sem resolvedores) é relatada na inicialização com o nome da entrada problemática.

## Notas

- Vários resolvedores são redes anycast, então o nó que responde é o mais próximo de você. Redes que identificam seu nó — via NSID ou uma consulta de identificação — informam o site que realmente respondeu (`→YUL`); para as demais, a coluna de localização é a região de origem do operador.
- A lista de resolvedores embutidos fica em `src/resolvers.rs`; use o arquivo de configuração acima para estendê-la ou substituí-la sem recompilar. Cada entrada embutida foi verificada para responder a consultas externas; muitos resolvedores conhecidos de ISPs (e, notavelmente, todos os grandes da África) recusam consultas vindas de fora de sua rede, então não podem ser incluídos.

## Nix

O projeto oferece saídas opcionais de Nix flake para usuários que já usam Nix. O flake compila a partir do código-fonte.

```bash
# 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
```

O flake expõe `packages.<system>.default`, `apps.<system>.default`, `devShells.<system>.default` e `overlays.default`.

Atualize usando o mesmo fluxo de trabalho do Nix que você usou para instalar. Para instalações em perfil, execute `nix profile list` e depois `nix profile upgrade <index-or-name>`. Para entradas de flake, execute `nix flake update <repo>` no seu próprio flake e recompile.

## Devbox

Para ambientes de desenvolvimento reproduzíveis, use o Devbox:

```bash
# 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
```

Ou instale o Devbox via Homebrew:

```bash
brew install jetify-com/devbox/devbox
```

---

Feito com ❤️ pelo pessoal que trabalha no [514.ax](https://www.514.ax).
Baixar ferramenta