doggo is a command-line DNS client inspired by dog, the Rust-based alternative to dig. It provides a convenient way to investigate DNS records, test nameservers and troubleshoot name resolution problems.
The utility is designed for both interactive use and scripting. It presents DNS responses in a readable format while offering detailed control over queries, transport protocols and output. Users can also configure default behaviour instead of repeatedly supplying the same command-line options.
This is free and open source software.
Key Features
- Supports DNS over UDP and TCP, DNS over HTTPS (DoH), DNS over TLS (DoT), DNS over QUIC (DoQ) and DNSCrypt.
- Explicit HTTP/3 support for DNS-over-HTTPS queries.
- Provides colour-coded tabular output, short responses and machine-readable JSON.
- Iterative delegation tracing with the –trace option.
- Extended DNS (EDNS) support includes Client Subnet, NSID, Cookies, Padding and Extended Errors.
- Supports multiple resolvers with configurable query strategies.
- Handles internationalised domain names with automatic Punycode conversion.
- Supports reverse DNS lookups, IPv4 and IPv6 queries, and custom DNS flags.
- Reads search domains and ndots settings from resolver configuration.
- TOML configuration files and environment variables for persistent settings.
- Can bind queries to a specified local source address.
- Includes debugging, response timing and shell completion for zsh and fish.
Website: github.com/mr-karan/doggo
Support:
Developer: Karan Sharma
License: GNU General Public License v3.0

doggo is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| Alternatives to dig | |
|---|---|
| dog | DNS client with colorful output, DNS-over-TLS and DNS-over-HTTPS support |
| doggo | Command-line DNS client for humans |
| drill | Perform DNS lookups and display answers returned from the name server(s) |
| dnslookup | Supports plain DNS, DoH, DoT, DoQ, and DNSCrypt |
| dug | Global DNS propagation checker |
| q | Support for UDP, TCP, DoT, DoH, DoQ and ODoH |
| DNS Clients | |
|---|---|
| dog | Colourful output, understands normal command-line argument syntax |
| doggo | Command-line DNS client for humans |
| q | Tiny command line DNS client supporting UDP, TCP, DoT, DoH, DoQ and ODoH |
| ddclient | Update dynamic DNS entries |
| GoDNS | Dynamic DNS (DDNS) client tool |
| dig | DNS lookup utility |
| awl | DNS lookup tool |
| ZDNS | High-speed DNS resolver and command line utility |
| dnslookup | Make DNS lookups |
| dug | Global DNS propagation checker |
| drill | Perform DNS lookups |
| dness | Dynamic DNS client |
| zns | Fast DNS lookup tool with DNSSEC validation and delegation tracing |
| In-a-Dyn | Small and simple Dynamic DNS, DDNS, client |
| doh | Query multiple DNS-over-HTTPS resolvers with JSON output |
| dnsupdate | Modern and flexible dynamic DNS client |
| ch4 | Dig-compatible DNS client with UDP, TCP and EDNS support |
| wig | Simple and lightweight DNS client |
| dyndnsc | Dynamic DNS update client |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.