Aller au contenu

doggo - Feuille de triche client DNS moderne

doggo - Feuille de triche client DNS moderne

doggo est un client DNS moderne pour la ligne de commande — une alternative plus conviviale et colorisée à dig avec une sortie tabulaire ou JSON propre. Au-delà des requêtes UDP/TCP traditionnelles, il parle les transports chiffrés modernes : DNS-over-HTTPS (DoH), DNS-over-TLS (DoT), DNS-over-QUIC (DoQ) et DNSCrypt. Il est écrit en Go, livré comme un binaire unique et est pratique pour les requêtes rapides et les diagnostics DNS scriptés.

Installation

PlateformeCommande
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
Binairetélécharger depuis la page des versions GitHub

Requêtes de base

CommandeDescription
doggo example.comRecherche d”enregistrement A par défaut
doggo example.com MXInterroger un type d”enregistrement spécifique
doggo example.com A AAAA MXInterroger plusieurs types d”enregistrement à la fois
doggo example.com @1.1.1.1Utiliser un résolveur spécifique
doggo --helpListe complète des options
doggo --versionVersion

Types d’enregistrement

ExempleRetourne
doggo example.com AAdresses IPv4
doggo example.com AAAAAdresses IPv6
doggo example.com MXServeurs de courrier
doggo example.com TXTEnregistrements TXT (SPF, DKIM, vérification)
doggo example.com NSServeurs de noms
doggo example.com CNAMENom canonique
doggo example.com SOADébut d”autorité
doggo example.com CAAAutorisation d”autorité de certification

Transports chiffrés et alternatifs

CommandeTransport
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 (timbre)
doggo example.com @udp://1.1.1.1UDP explicite
doggo example.com @tcp://1.1.1.1TCP explicite

Contrôle de sortie

OptionDescription
--jsonSortie JSON (excellente pour les scripts)
--shortImprimer uniquement les valeurs de réponse
--color=falseDésactiver la sortie colorisée
--timeAfficher le temps d”aller-retour de la requête
-4 / -6Forcer le transport IPv4 / IPv6

Inverse et avancé

CommandeDescription
doggo --reverse 1.1.1.1Recherche DNS inverse (PTR)
doggo example.com --ndots=1Contrôler le comportement de la résolution ndots
doggo example.com --searchUtiliser la liste de recherche système
doggo example.com --aaDemander une réponse faisant autorité
doggo example.com --doDéfinir le bit DNSSEC OK

Workflows courants

# Réponse rapide et lisible pour les humains uniquement
doggo --short example.com

# Vérifier la configuration de courrier en un coup d''œil
doggo example.com MX TXT

# Tester un résolveur DoH et le chronométrer
doggo example.com @https://dns.google/dns-query --time

# JSON compatible avec les scripts pour la surveillance
doggo example.com A --json | jq '.responses[].answers'

# Confirmer un enregistrement inverse pour une IP
doggo --reverse 8.8.8.8 --short

doggo vs dig vs dog

Fonctionnalitédoggodigdog
Sortie coloriséeOuiNonOui
Sortie JSONOuiNonOui
DoH / DoT / DoQOuiLimitéOui
DNSCryptOuiNonNon
Binaire uniqueOui (Go)Paquet systèmeOui (Rust)

Ressources