Command-line DNS client with colorful output, supporting DNS-over-TLS/HTTPS and JSON output
dog is a command-line DNS client that serves as an alternative to dig with enhanced features and modern protocol support. It performs DNS queries with colorful terminal output, supports standard command-line argument syntax, and can output results in JSON format for programmatic use.
The tool supports multiple DNS protocols including traditional UDP/TCP queries, DNS-over-TLS, and DNS-over-HTTPS for secure DNS resolution. Users can query various record types (A, MX, NS, etc.), specify custom nameservers, and configure protocol-level options like EDNS and transaction IDs. The client handles IDNA processing for internationalized domain names.
dog targets developers, system administrators, and network engineers who need DNS debugging and testing capabilities. It provides both human-readable output with syntax highlighting and machine-parseable JSON output. The tool includes comprehensive query options, timing information, and flexible output formatting to support both interactive debugging and automated scripting workflows.
# via Homebrew
brew install dog
# via Cargo
cargo build --release
# via Arch Linux
pacman -S dog
