dog – Modern DNS Client

dog is a command-line DNS client written in Rust that serves as a modern alternative...

Networking Tools Linux Open Source

dog is a command-line DNS client written in Rust that serves as a modern alternative to dig. It features colorful output, support for DNS-over-TLS (DoT) and DNS-over-HTTPS (DoH), and a cleaner interface while maintaining the power needed for DNS troubleshooting and analysis.

With its intuitive syntax and encrypted query support, dog represents the next generation of DNS tools. The colorized output makes parsing DNS responses easier, while modern protocol support ensures compatibility with privacy-focused DNS infrastructure.

Key Features

  • Colorful Output – Syntax-highlighted responses
  • DoT/DoH Support – Encrypted DNS queries
  • JSON Output – Machine-readable format
  • Modern CLI – Intuitive argument parsing
  • Fast – Written in Rust for performance

Installation

# Install via cargo
cargo install dog

# Download from GitHub
wget https://github.com/ogham/dog/releases/latest/download/dog-linux-x86_64.zip

# Homebrew
brew install dog

Basic Usage

# Simple query
dog example.com

# Query specific type
dog example.com MX
dog example.com AAAA

# Use specific server
dog example.com @8.8.8.8

# DNS over TLS
dog example.com @dns.google --tls

# DNS over HTTPS
dog example.com @https://cloudflare-dns.com/dns-query

# JSON output
dog example.com --json

# Short format
dog example.com --short

Use Cases

  • DNS Debugging – Troubleshoot resolution issues
  • Privacy Testing – Verify DoH/DoT configuration
  • Scripting – Parse JSON output programmatically

Download dog

Was this article helpful?