home / networking / dog

dog

6.6k

DNS lookup CLI for querying records over UDP, TCP, DNS-over-TLS, or DNS-over-HTTPS with optional JSON output.

$brew install dog
Language
Rust
Stars
6,622
Category
Networking
Agent
Ready
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis

dog is a DNS query CLI for checking how domains resolve and what records a resolver returns. It supports standard DNS over UDP or TCP plus DNS-over-TLS and DNS-over-HTTPS when you need to test a specific resolver path.

What It Enables
  • Query A, AAAA, MX, TXT, CNAME, SOA, SRV, PTR, TLSA, and other record types against the system resolver or an explicit nameserver.
  • Verify how a domain resolves over UDP, TCP, DNS-over-TLS, or DNS-over-HTTPS when debugging resolver behavior, privacy transports, or split DNS.
  • Capture structured DNS responses, including answers, authorities, additionals, and optional timing, for scripts or follow-up checks.
Agent Fit
  • --json output and non-interactive flags make it easy to wrap in shell scripts, CI checks, or agent loops that need to inspect DNS state.
  • Commands are inspect-only and predictable, but the tool cannot create or edit records, so it usually pairs with a provider-specific CLI for remediation.
  • Exit behavior is mostly stable, but missing records can still exit 0 outside --short, so agents should parse the response body instead of treating success as proof that a record exists.
Caveats
  • This is a DNS inspection tool only; any change workflow still depends on your DNS provider or infrastructure CLI.
  • DNS-over-HTTPS requires a full resolver URL rather than a bare nameserver address.