Pular para o conteúdo

doggo - Cliente DNS Moderno

doggo - Cliente DNS Moderno

doggo é um cliente DNS moderno para a linha de comando — uma alternativa amigável e colorida para dig com saída tabelar limpa ou JSON. Além de consultas UDP/TCP tradicionais, fala os transportes modernos criptografados: DNS-over-HTTPS (DoH), DNS-over-TLS (DoT), DNS-over-QUIC (DoQ) e DNSCrypt. É escrito em Go, é entregue como um único binário e é útil tanto para consultas rápidas quanto para diagnósticos de DNS em scripts.

Instalação

PlataformaComando
Go installgo install github.com/mr-karan/doggo/cmd/doggo@latest
macOS (Homebrew)brew install doggo
Arch Linuxsudo pacman -S doggo
Dockerdocker run --rm ghcr.io/mr-karan/doggo doggo example.com
Bináriodownload na página GitHub Releases

Consultas Básicas

ComandoDescrição
doggo example.comConsulta de registro A padrão
doggo example.com MXConsultar um tipo de registro específico
doggo example.com A AAAA MXConsultar vários tipos de registros simultaneamente
doggo example.com @1.1.1.1Usar um resolver específico
doggo --helpLista completa de opções
doggo --versionVersão

Tipos de Registro

ExemploRetorna
doggo example.com AEndereços IPv4
doggo example.com AAAAEndereços IPv6
doggo example.com MXServidores de mail
doggo example.com TXTRegistros TXT (SPF, DKIM, verificação)
doggo example.com NSServidores de nomes
doggo example.com CNAMENome canônico
doggo example.com SOAInício de autoridade
doggo example.com CAAAutorização de autoridade de certificação

Transportes Criptografados e Alternativos

ComandoTransporte
doggo example.com @https://cloudflare-dns.com/dns-queryDNS-over-HTTPS (DoH)
doggo example.com @tls://1.1.1.1DNS-over-TLS (DoT)
doggo example.com @quic://dns.adguard.comDNS-over-QUIC (DoQ)
doggo example.com @sdns://...DNSCrypt (stamp)
doggo example.com @udp://1.1.1.1UDP explícito
doggo example.com @tcp://1.1.1.1TCP explícito

Controle de Saída

OpçãoDescrição
--jsonSaída JSON (ótimo para scripts)
--shortImprimir apenas os valores de resposta
--color=falseDesabilitar saída colorizada
--timeMostrar tempo de viagem redonda de consulta
-4 / -6Forçar transporte IPv4 / IPv6

Reverso e Avançado

ComandoDescrição
doggo --reverse 1.1.1.1Busca reversa de DNS (PTR)
doggo example.com --ndots=1Controlar comportamento de resolução ndots
doggo example.com --searchUsar a lista de pesquisa do sistema
doggo example.com --aaSolicitar resposta autoritativa
doggo example.com --doDefinir o bit DNSSEC OK

Fluxos de Trabalho Comuns

# Resposta rápida e legível para humanos, apenas
doggo --short example.com

# Verificar configuração de mail em um relance
doggo example.com MX TXT

# Testar um resolver DoH e medir tempo
doggo example.com @https://dns.google/dns-query --time

# JSON amigável para scripts para monitoramento
doggo example.com A --json | jq '.responses[].answers'

# Confirmar um registro reverso para um IP
doggo --reverse 8.8.8.8 --short

doggo vs dig vs dog

Recursodoggodigdog
Saída colorizadaSimNãoSim
Saída JSONSimNãoSim
DoH / DoT / DoQSimLimitadoSim
DNSCryptSimNãoNão
Único binárioSim (Go)System pkgSim (Rust)

Recursos