q is a command-line DNS client aimed at making both everyday lookups and deeper resolver troubleshooting convenient from one interface. It can query conventional DNS servers as well as encrypted DNS transports, while presenting responses in readable terminal output or machine-friendly formats.
Resolver selection can come from command-line arguments, system configuration or q’s own configuration. The program also handles local multicast DNS, making it useful for investigating names advertised on a LAN as well as public DNS. Its combination of protocol coverage and flexible output makes it a practical alternative to maintaining separate tools for several kinds of DNS query.
This is free and open source software.
Key Features
- Queries DNS over UDP and TCP as well as DNS over TLS, HTTPS and QUIC.
- Supports Oblivious DNS over HTTPS and DNSCrypt for additional encrypted resolver options.
- Performs multicast DNS queries for discovering and troubleshooting names on the local network.
- Supports zone transfers and reverse lookups alongside ordinary record queries.
- Can inspect IP registration information without leaving the command-line workflow.
- Reads persistent command-line options from a user configuration file for repeatable query preferences.
- Produces compact or detailed terminal output and can emit structured JSON and YAML for scripts.
- Provides control over displayed DNS sections and exposes protocol details useful when diagnosing resolver behaviour.
Website: github.com/natesales/q
Support:
Developer: Nate Sales
License: GNU General Public License v3.0

q is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| Useful DNS Tools | |
|---|---|
| DNSControl | System for maintaining DNS zones |
| q | Command line DNS client |
| octoDNS | Manage DNS across multiple providers |
| nsupdate.info | Implement a free dynamic DNS service |
| ExternalDNS | Automatically keep Kubernetes resources and their DNS records in sync |
| DNSViz | Visualise DNS and DNSSEC problems at a glance |
| dnsglobe | Check how DNS records propagate around the world |
| DNSDiag | Pinpoint DNS delays and troubleshoot lookup failures |
| DomainMOD | Manage domains and other internet assets in a central location |
| Poweradmin | Web-based DNS administration tool |
| dnsperf | Measure performance of authoritative domain name services |
| ctrld | Configurable DNS forwarding proxy |
| Atomia DNS | Multi-tenant system for handling large amounts of DNS data |
| SPFtoolbox | Look up DNS records |
| Flamethrower | Stress DNS servers with high-volume queries to test performance |
| DNS-collector | Collect, transform and route DNS traffic data for monitoring and analysis |
| Designate | Multi-tenant DNSaaS service for OpenStack |
| Zonemaster-CLI | Put DNS zones through extensive automated checks from a terminal |
| dnsi | Tool to investigate the DNS |
| Digger | Modern DNS lookup tool with a graphical interface |
| dnst | Toolset to assist DNS operators with zone and nameserver maintenance |
| dnspyre | Command-line DNS benchmark tool |
| dns-lexicon | Manage DNS records across providers through a consistent interface |
Read our verdict in the software roundup.
| 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.
| 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 |
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.