Skip to content

doggo - Modern DNS Client Cheatsheet

doggo - Modern DNS Client Cheatsheet

doggo is a modern DNS client for the command line — a friendlier, colorized alternative to dig with clean tabular or JSON output. Beyond traditional UDP/TCP queries it speaks the modern encrypted transports: DNS-over-HTTPS (DoH), DNS-over-TLS (DoT), DNS-over-QUIC (DoQ), and DNSCrypt. It is written in Go, ships as a single binary, and is handy for both quick lookups and scripted DNS diagnostics.

Installation

PlatformCommand
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
Binarydownload from the GitHub Releases page

Basic Queries

CommandDescription
doggo example.comDefault A record lookup
doggo example.com MXQuery a specific record type
doggo example.com A AAAA MXQuery several record types at once
doggo example.com @1.1.1.1Use a specific resolver
doggo --helpFull option list
doggo --versionVersion

Record Types

ExampleReturns
doggo example.com AIPv4 addresses
doggo example.com AAAAIPv6 addresses
doggo example.com MXMail servers
doggo example.com TXTTXT records (SPF, DKIM, verification)
doggo example.com NSName servers
doggo example.com CNAMECanonical name
doggo example.com SOAStart of authority
doggo example.com CAACertificate authority authorization

Encrypted & Alternative Transports

CommandTransport
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.1Explicit UDP
doggo example.com @tcp://1.1.1.1Explicit TCP

Output Control

OptionDescription
--jsonJSON output (great for scripts)
--shortPrint only the answer values
--color=falseDisable colorized output
--timeShow query round-trip time
-4 / -6Force IPv4 / IPv6 transport

Reverse & Advanced

CommandDescription
doggo --reverse 1.1.1.1Reverse DNS (PTR) lookup
doggo example.com --ndots=1Control ndots resolution behavior
doggo example.com --searchUse the system search list
doggo example.com --aaRequest authoritative answer
doggo example.com --doSet the DNSSEC OK bit

Common Workflows

# Quick, human-readable answer only
doggo --short example.com

# Verify mail setup at a glance
doggo example.com MX TXT

# Test a DoH resolver and time it
doggo example.com @https://dns.google/dns-query --time

# Script-friendly JSON for monitoring
doggo example.com A --json | jq '.responses[].answers'

# Confirm a reverse record for an IP
doggo --reverse 8.8.8.8 --short

doggo vs dig vs dog

Featuredoggodigdog
Colorized outputYesNoYes
JSON outputYesNoYes
DoH / DoT / DoQYesLimitedYes
DNSCryptYesNoNo
Single binaryYes (Go)System pkgYes (Rust)

Resources