aboutsummaryrefslogtreecommitdiff
path: root/network/dog/dog.1
diff options
context:
space:
mode:
Diffstat (limited to 'network/dog/dog.1')
-rw-r--r--network/dog/dog.1268
1 files changed, 268 insertions, 0 deletions
diff --git a/network/dog/dog.1 b/network/dog/dog.1
new file mode 100644
index 000000000000..bf9b516b8620
--- /dev/null
+++ b/network/dog/dog.1
@@ -0,0 +1,268 @@
+.\" Automatically generated by Pandoc 3.1.6
+.\"
+.\" Define V font for inline verbatim, using C font in formats
+.\" that render this, and otherwise B font.
+.ie "\f[CB]x\f[]"x" \{\
+. ftr V B
+. ftr VI BI
+. ftr VB B
+. ftr VBI BI
+.\}
+.el \{\
+. ftr V CR
+. ftr VI CI
+. ftr VB CB
+. ftr VBI CBI
+.\}
+.TH "dog" "1" "" "v0.1.0" ""
+.hy
+.SH NAME
+.PP
+dog \[em] a command-line DNS client
+.SH SYNOPSIS
+.PP
+\f[V]dog [options] [domains...]\f[R]
+.PP
+\f[B]dog\f[R] is a command-line DNS client.
+It has colourful output, supports the DNS-over-TLS and DNS-over-HTTPS
+protocols, and can emit JSON.
+.SH EXAMPLES
+.TP
+\f[V]dog example.net\f[R]
+Query the \f[V]A\f[R] record of a domain using default settings
+.TP
+\f[V]dog example.net MX\f[R]
+\&...looking up \f[V]MX\f[R] records instead
+.TP
+\f[V]dog example.net MX \[at]1.1.1.1\f[R]
+\&...using a specific nameserver instead
+.TP
+\f[V]dog example.net MX \[at]1.1.1.1 -T\f[R]
+\&...using TCP rather than UDP
+.TP
+\f[V]dog -q example.net -t MX -n 1.1.1.1 -T\f[R]
+As above, but using explicit arguments
+.SH QUERY OPTIONS
+.TP
+\f[V]-q\f[R], \f[V]--query=HOST\f[R]
+Host name or domain name to query.
+.TP
+\f[V]-t\f[R], \f[V]--type=TYPE\f[R]
+Type of the DNS record being queried (\f[V]A\f[R], \f[V]MX\f[R],
+\f[V]NS\f[R]\&...)
+.TP
+\f[V]-n\f[R], \f[V]--nameserver=ADDR\f[R]
+Address of the nameserver to send packets to.
+.TP
+\f[V]--class=CLASS\f[R]
+Network class of the DNS record being queried (\f[V]IN\f[R],
+\f[V]CH\f[R], \f[V]HS\f[R])
+.PP
+By default, dog will request A records using the system default
+resolver.
+At least one domain name must be passed \[em] dog will not automatically
+query the root nameservers.
+.PP
+Query options passed in using a command-line option, such as
+`\f[V]--query lookup.dog\f[R]' or `\f[V]--type MX\f[R]', or as plain
+arguments, such as `\f[V]lookup.dog\f[R]' or `\f[V]MX\f[R]'.
+dog will make an intelligent guess as to what plain arguments mean
+(\f[V]MX\f[R] is quite clearly a type), which makes it easier to compose
+ad-hoc queries quickly.
+If precision is desired, use the long-form options.
+.PP
+If more than one domain, type, nameserver, or class is specified, dog
+will perform one query for each combination, and display the combined
+results in a table.
+For example, passing three type arguments and two domain name arguments
+will send six requests.
+.PP
+DNS traditionally uses port 53 for both TCP and UDP.
+To use a resolver with a different port, include the port number after a
+colon (\f[V]:\f[R]) in the nameserver address.
+.SH SENDING OPTIONS
+.TP
+\f[V]--edns=SETTING\f[R]
+Whether to opt in to DNS.
+This can be `\f[V]disable\f[R]', `\f[V]hide\f[R]', or `\f[V]show\f[R]'.
+.TP
+\f[V]--txid=NUMBER\f[R]
+Set the transaction ID to a specific value.
+.TP
+\f[V]-Z=TWEAKS\f[R]
+Set uncommon protocol-level tweaks.
+.SH TRANSPORT OPTIONS
+.TP
+\f[V]-U\f[R], \f[V]--udp\f[R]
+Use the DNS protocol over UDP.
+.TP
+\f[V]-T\f[R], \f[V]--tcp\f[R]
+Use the DNS protocol over TCP.
+.TP
+\f[V]-S\f[R], \f[V]--tls\f[R]
+Use the DNS-over-TLS protocol.
+.TP
+\f[V]-H\f[R], \f[V]--https\f[R]
+Use the DNS-over-HTTPS protocol.
+.PP
+By default, dog will use the UDP protocol, automatically re-sending the
+request using TCP if the response indicates that the message is too
+large for UDP.
+Passing \f[V]--udp\f[R] will only use UDP and will fail in this case;
+passing \f[V]--tcp\f[R] will use TCP by default.
+.PP
+The DNS-over-TLS (DoT) and DNS-over-HTTPS (DoH) protocols are available
+with the \f[V]--tls\f[R] and \f[V]--https\f[R] options.
+Bear in mind that the system default resolver is unlikely to respond to
+requests using these protocols.
+.PP
+Note that if a hostname or domain name is given as a nameserver, rather
+than an IP address, the resolution of that host is performed by the
+operating system, \f[I]not\f[R] by dog.
+.PP
+Unlike the others, the HTTPS transport type requires an entire URL,
+complete with protocol, domain name, and path.
+.SH OUTPUT OPTIONS
+.TP
+\f[V]-1\f[R], \f[V]--short\f[R]
+Short mode: display nothing but the first result.
+.TP
+\f[V]-J\f[R], \f[V]--json\f[R]
+Display the output as JSON.
+.TP
+\f[V]--color\f[R], \f[V]--colour=WHEN\f[R]
+When to colourise the output.
+This can be `\f[V]always\f[R]', `\f[V]automatic\f[R]', or
+`\f[V]never\f[R]'.
+.TP
+\f[V]--seconds\f[R]
+Do not format durations as hours and minutes; instead, display them as
+seconds.
+.TP
+\f[V]--time\f[R]
+Print how long the response took to arrive.
+.SH META OPTIONS
+.TP
+\f[V]--help\f[R]
+Displays an overview of the command-line options.
+.TP
+\f[V]--version\f[R]
+Displays the version of dog being invoked.
+.SH ENVIRONMENT VARIABLES
+.PP
+dog responds to the following environment variables:
+.SS \f[V]DOG_DEBUG\f[R]
+.PP
+Set this to any non-empty value to have dog emit debugging information
+to standard error.
+For more in-depth output, set this to the exact string
+`\f[V]trace\f[R]'.
+.SH RECORD TYPES
+.PP
+dog understands and can interpret the following record types:
+.TP
+\f[V]A\f[R]
+IPv4 addresses
+.TP
+\f[V]AAAA\f[R]
+IPv6 addresses
+.TP
+\f[V]CAA\f[R]
+permitted certificate authorities
+.TP
+\f[V]CNAME\f[R]
+canonical domain aliases
+.TP
+\f[V]HINFO\f[R]
+system information and, sometimes, forbidden request explanations
+.TP
+\f[V]LOC\f[R]
+location information
+.TP
+\f[V]MX\f[R]
+e-mail server addresses
+.TP
+\f[V]NAPTR\f[R]
+DDDS rules
+.TP
+\f[V]NS\f[R]
+domain name servers
+.TP
+\f[V]OPT\f[R]
+extensions to the DNS protocol
+.TP
+\f[V]PTR\f[R]
+pointers to canonical names, usually for reverse lookups
+.TP
+\f[V]SOA\f[R]
+administrative information about zones
+.TP
+\f[V]SRV\f[R]
+IP addresses with port numbers
+.TP
+\f[V]SSHFP\f[R]
+SSH key fingerprints
+.TP
+\f[V]TLSA\f[R]
+TLS certificates, public keys, and hashes
+.TP
+\f[V]TXT\f[R]
+arbitrary textual information
+.PP
+When a response DNS packet contains a record of one of these known
+types, dog will display it in a table containing the type name and a
+human-readable summary of its contents.
+.PP
+Records with a type number that does not map to any known record type
+will still be displayed.
+As they cannot be interpreted, their contents will be displayed as a
+series of numbers instead.
+.PP
+dog also contains a list of record type names that it knows the type
+number of, but is not able to interpret, such as \f[V]IXFR\f[R] or
+\f[V]ANY\f[R] or \f[V]AFSDB\f[R].
+These are acceptable as command-line arguments, meaning you can send an
+AFSDB request with `\f[V]dog AFSDB\f[R]'.
+However, their response contents will still be displayed as numbers.
+They may be supported in future versions of dog.
+.SH PROTOCOL TWEAKS
+.PP
+The \f[V]-Z\f[R] command-line argument can be used one or more times to
+set some protocol-level options in the DNS queries that get sent.
+It accepts the following values:
+.TP
+\f[V]aa\f[R]
+Sets the \f[V]AA\f[R] (Authoritative Answers) bit in the query.
+.TP
+\f[V]ad\f[R]
+Sets the \f[V]AD\f[R] (Authentic Data) bit in the query.
+.TP
+\f[V]bufsize=NUM\f[R]
+Sets the UDP payload size field in the OPT field in the query.
+This has no effect if EDNS is diabled.
+.TP
+\f[V]cd\f[R]
+Sets the \f[V]CD\f[R] (Checking Disabled) bit in the query.
+.SH EXIT STATUSES
+.TP
+0
+If everything goes OK.
+.TP
+1
+If there was a network, I/O, or TLS error during operation.
+.TP
+2
+If there is no result from the server when running in short mode.
+This can be any received server error, not just NXDOMAIN.
+.TP
+3
+If there was a problem with the command-line arguments.
+.SH AUTHOR
+.PP
+dog is maintained by Benjamin `ogham' Sago.
+.PP
+\f[B]Website:\f[R] \f[V]https://dns.lookup.dog/\f[R]
+.PD 0
+.P
+.PD
+\f[B]Source code:\f[R] \f[V]https://github.com/ogham/dog\f[R]