LinuxCommandLibrary

dog

Command Line DNS Client for DNS Lookup

TLDR

Lookup the IP(s) associated with a hostname (A records)

$ dog [example.com]
copy


Query the MX records type associated with a given domain name
$ dog [example.com] MX
copy


Specify a specific DNS server to query (e.g. Cloudflare)
$ dog [example.com] MX @[1.1.1.1]
copy


Query over TCP rather than UDP
$ dog [example.com] MX @[1.1.1.1] --tcp
copy


Query the MX records type associated with a given domain name over TCP using explicit arguments
$ dog --query [example.com] --type MX --nameserver [1.1.1.1] --tcp
copy


Lookup the IP(s) associated with a hostname (A records) using DNS over HTTPS (DoH)
$ dog [example.com] --https @[https://cloudflare-dns.com/dns-query]
copy

Help

dog ● command-line DNS client 

Usage:
  dog [OPTIONS] [--]  

Examples:
  dog example.net                          Query a domain using default settings 
  dog example.net MX                       ...looking up MX records instead 
  dog example.net MX @1.1.1.1              ...using a specific nameserver instead 
  dog example.net MX @1.1.1.1 -T           ...using TCP rather than UDP 
  dog -q example.net -t MX -n 1.1.1.1 -T   As above, but using explicit arguments 

Query options:
                Human-readable host names, nameservers, types, or classes 
  -q, --query=HOST         Host name or IP address to query 
  -t, --type=TYPE          Type of the DNS record being queried (A, MX, NS...) 
  -n, --nameserver=ADDR    Address of the nameserver to send packets to 
  --class=CLASS            Network class of the DNS record being queried (IN, CH, HS) 

Sending options:
  --edns=SETTING           Whether to OPT in to EDNS (disable, hide, show) 
  --txid=NUMBER            Set the transaction ID to a specific value 
  -Z=TWEAKS                Set uncommon protocol-level tweaks 

Protocol options:
  -U, --udp                Use the DNS protocol over UDP 
  -T, --tcp                Use the DNS protocol over TCP 
  -S, --tls                Use the DNS-over-TLS protocol 
  -H, --https              Use the DNS-over-HTTPS protocol 

Output options:
  -1, --short              Short mode: display nothing but the first result 
  -J, --json               Display the output as JSON 
  --color, --colour=WHEN   When to colourise the output (always, automatic, never) 
  --seconds                Do not format durations, display them as seconds 
  --time                   Print how long the response took to arrive 

Meta options:
  -?, --help               Print list of command-line options 
  -v, --version            Print version information 

Copied to clipboard