doggo - Moderner DNS-Client Cheatsheet
doggo ist ein moderner DNS-Client für die Befehlszeile — eine freundlichere, kolorierte Alternative zu dig mit sauberer tabellarischer oder JSON-Ausgabe. Neben traditionellen UDP/TCP-Abfragen spricht es die modernen verschlüsselten Transporte: DNS-over-HTTPS (DoH), DNS-over-TLS (DoT), DNS-over-QUIC (DoQ) und DNSCrypt. Es ist in Go geschrieben, wird als einzelne Binärdatei bereitgestellt und ist praktisch für schnelle Lookups und skriptgesteuerte DNS-Diagnostik.
Installation
| Plattform | Befehl |
|---|
| 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 |
| Binärdatei | von der GitHub Releases-Seite herunterladen |
Grundlegende Abfragen
| Befehl | Beschreibung |
|---|
doggo example.com | Standard A-Record-Lookup |
doggo example.com MX | Eine bestimmte Record-Typ abfragen |
doggo example.com A AAAA MX | Mehrere Record-Typen gleichzeitig abfragen |
doggo example.com @1.1.1.1 | Einen bestimmten Resolver verwenden |
doggo --help | Vollständige Optionsliste |
doggo --version | Version |
Record-Typen
| Beispiel | Gibt zurück |
|---|
doggo example.com A | IPv4-Adressen |
doggo example.com AAAA | IPv6-Adressen |
doggo example.com MX | Mail-Server |
doggo example.com TXT | TXT-Records (SPF, DKIM, Verifizierung) |
doggo example.com NS | Name-Server |
doggo example.com CNAME | Kanonischer Name |
doggo example.com SOA | Start of Authority |
doggo example.com CAA | Certificate Authority Authorization |
Verschlüsselte und alternative Transporte
| Befehl | 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 (Stamp) |
doggo example.com @udp://1.1.1.1 | Explizites UDP |
doggo example.com @tcp://1.1.1.1 | Explizites TCP |
Ausgabekontrolle
| Option | Beschreibung |
|---|
--json | JSON-Ausgabe (großartig für Skripte) |
--short | Nur die Antwortwerte ausgeben |
--color=false | Farbausgabe deaktivieren |
--time | Query Round-Trip-Zeit anzeigen |
-4 / -6 | IPv4 / IPv6 Transport erzwingen |
Umgekehrte und erweiterte Abfragen
| Befehl | Beschreibung |
|---|
doggo --reverse 1.1.1.1 | Umgekehrte DNS (PTR) Lookup |
doggo example.com --ndots=1 | Ndots-Auflösungsverhalten kontrollieren |
doggo example.com --search | Die Systemsuchliste verwenden |
doggo example.com --aa | Maßgebliche Antwort anfordern |
doggo example.com --do | Das DNSSEC OK-Bit setzen |
Häufige Arbeitsabläufe
# Schnelle, benutzerfreundliche Antwort nur
doggo --short example.com
# Mail-Setup auf einen Blick verifizieren
doggo example.com MX TXT
# Ein DoH-Resolver testen und die Zeit messen
doggo example.com @https://dns.google/dns-query --time
# Script-freundliches JSON zum Überwachen
doggo example.com A --json | jq '.responses[].answers'
# Einen Reverse-Record für eine IP bestätigen
doggo --reverse 8.8.8.8 --short
doggo vs. Dig vs. Dog
| Feature | doggo | dig | dog |
|---|
| Farbige Ausgabe | Ja | Nein | Ja |
| JSON-Ausgabe | Ja | Nein | Ja |
| DoH / DoT / DoQ | Ja | Begrenzt | Ja |
| DNSCrypt | Ja | Nein | Nein |
| Einzelne Binärdatei | Ja (Go) | System pkg | Ja (Rust) |
Ressourcen