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
| Plateforme | Commande |
|---|
| Go install | go install github.com/mr-karan/doggo/cmd/doggo@latest |
| macOS (Homebrew) | brew install doggo |
| Arch Linux | sudo pacman -S doggo |
| Docker | docker run --rm ghcr.io/mr-karan/doggo doggo example.com |
| Binaire | télécharger depuis la page des versions GitHub |
Requêtes de base
| Commande | Description |
|---|
doggo example.com | Recherche d”enregistrement A par défaut |
doggo example.com MX | Interroger un type d”enregistrement spécifique |
doggo example.com A AAAA MX | Interroger plusieurs types d”enregistrement à la fois |
doggo example.com @1.1.1.1 | Utiliser un résolveur spécifique |
doggo --help | Liste complète des options |
doggo --version | Version |
Types d’enregistrement
| Exemple | Retourne |
|---|
doggo example.com A | Adresses IPv4 |
doggo example.com AAAA | Adresses IPv6 |
doggo example.com MX | Serveurs de courrier |
doggo example.com TXT | Enregistrements TXT (SPF, DKIM, vérification) |
doggo example.com NS | Serveurs de noms |
doggo example.com CNAME | Nom canonique |
doggo example.com SOA | Début d”autorité |
doggo example.com CAA | Autorisation d”autorité de certification |
Transports chiffrés et alternatifs
| Commande | Transport |
|---|
doggo example.com @https://cloudflare-dns.com/dns-query | DNS-over-HTTPS (DoH) |
doggo example.com @tls://1.1.1.1 | DNS-over-TLS (DoT) |
doggo example.com @quic://dns.adguard.com | DNS-over-QUIC (DoQ) |
doggo example.com @sdns://... | DNSCrypt (timbre) |
doggo example.com @udp://1.1.1.1 | UDP explicite |
doggo example.com @tcp://1.1.1.1 | TCP explicite |
Contrôle de sortie
| Option | Description |
|---|
--json | Sortie JSON (excellente pour les scripts) |
--short | Imprimer uniquement les valeurs de réponse |
--color=false | Désactiver la sortie colorisée |
--time | Afficher le temps d”aller-retour de la requête |
-4 / -6 | Forcer le transport IPv4 / IPv6 |
Inverse et avancé
| Commande | Description |
|---|
doggo --reverse 1.1.1.1 | Recherche DNS inverse (PTR) |
doggo example.com --ndots=1 | Contrôler le comportement de la résolution ndots |
doggo example.com --search | Utiliser la liste de recherche système |
doggo example.com --aa | Demander une réponse faisant autorité |
doggo example.com --do | Dé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é | doggo | dig | dog |
|---|
| Sortie colorisée | Oui | Non | Oui |
| Sortie JSON | Oui | Non | Oui |
| DoH / DoT / DoQ | Oui | Limité | Oui |
| DNSCrypt | Oui | Non | Non |
| Binaire unique | Oui (Go) | Paquet système | Oui (Rust) |
Ressources