Doggo is a modern command line DNS lookup utility similar to dig, with colorful output, support for DNS-over-TLS and DNS-over-HTTPS protocols, and more. It’s available for macOS, Microsoft Windows and Linux.
Like dig, Doggo performs DNS lookups and displays the answers that are returned from the name servers that were queried, useful for troubleshooting DNS problems.
Other features include support for displaying the output as JSON, it supports ndots and search configurations from resolv.conf or command-line arguments, and it can use IPv4, IPv6 or both, among others. It supports passing human-readable host names, nameservers, types, or classes as command line arguments, or you can use “normal” command line arguments instead.
To use Doggo, all you have to do is pass the hostname you want to query as the command line argument, and the command line tool will request the
If you wish, you can specify multiple hostnames to query. Simply separate them by a space.
You can request a particular record type by passing it on the command line, either before or after the domain name. For example to request
MX records for the
doggo duckduckgo.com A NS MX
You may also specify a DNS server to use for the requests, e.g. to use the Cloudflare DNS:
doggo duckduckgo.com @18.104.22.168
You may also use long-form command line arguments for specifying the record type (
--type, DNS server (
--nameserver), class (
--class) and hostname to query (
--query). See the Doggo help for details.
By default, doggo sends the queries over UDP. To send them over TCP, specify the DNS resolver using
@tcp://, like this (e.g. for Cloudflare’s 22.214.171.124 DNS resolver):
doggo duckduckgo.com @tcp://126.96.36.199
For sending queries using DoT (DNS-over-TLS; port 853 is used by default), specify the DNS resolver using
doggo duckduckgo.com @tls://@188.8.131.52
To query a hostname using DoH (DNS-over-HTTPS), you’ll need to specy the DoH resolver using
@https://, for example using the Cloudflare DNS-over-HTTPS resolver:
doggo duckduckgo.com @https://cloudflare-dns.com/dns-query
Doggo is also available as a web tool, at https://doggo.mrkaran.dev/
You may also want to check out Dog, a similar command line DNS client which inspired Doggo, but written in Rust instead of Golang.
The project homepage has instructions for installing Doggo using precompiled binaries (to /usr/local/bin), using Docker, the Snap Store, AUR, or building it from source. You can also head to the releases page to download the source or binaries for Linux, macOS and Windows (with both amd64 and arm64 being available for Linux and macOS).