Doggo Is A DNS Lookup Utility With Colorful Output, DNS-over-TLS and DNS-over-HTTPS Support (Command Line)

Doggo DNS lookup utility

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 A records:

doggo duckduckgo.com

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 A, NS and MX records for the duckduckgo.com domain:

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 @1.1.1.1

You may also use long-form command line arguments for specifying the record type (-t / --type, DNS server (-n / --nameserver), class (-c / --class) and hostname to query (-q / --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 1.1.1.1 DNS resolver):

doggo duckduckgo.com @tcp://1.1.1.1

For sending queries using DoT (DNS-over-TLS; port 853 is used by default), specify the DNS resolver using @tls://, e.g.:

doggo duckduckgo.com @tls://@1.1.1.1

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.


Install Doggo



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).