From 250720f1b546d99bda201cdb6368983a7cdecd8c Mon Sep 17 00:00:00 2001 From: Sam Therapy Date: Mon, 25 Jul 2022 00:31:44 +0200 Subject: [PATCH] Add manpage Signed-off-by: Sam Therapy --- manpage.md | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 manpage.md diff --git a/manpage.md b/manpage.md new file mode 100644 index 0000000..3f22798 --- /dev/null +++ b/manpage.md @@ -0,0 +1,169 @@ +awl(1) + +# NAME +awl - DNS lookup tool + +# SYNOPSIS +*awl* [ _OPTIONS_ ] _name_ [ _@server_ ] [ _type_ ]++ +where + +_name_ is the query to make (*example: froth.zone*)++ +_@server_ is the server to query (*example: dns.froth.zone*)++ +_type_ is the DNS resource type (*example: AAAA*) + +# DESCRIPTION + +*awl* (*a*wls *w*ant *l*icorice) is a simple tool designed to make DNS queries, +much like the venerable _dig_(1). An awl is a tool used to make small holes, +typically used in tannery (leatherworking). + +*awl* is designed to be a more "modern" version of _drill_(1) by including +some more recent RFCs and output options. *awl* is still heavily +Work-In-Progress so some features may get added or removed. + +# OPTIONS + Dig-like +[no]flags are supported, see dig(1) + + *-D*, *--dnssec*, *+dnssec*++ + Enable DNSSEC. This needs to be manually enabled. + + *-v* _value_++ + Set verbosity (currently WIP) + + *-V*++ + Print the version and exit. + + *-h*++ + Show a "short" help message. + +## Query Options + *-4*++ + Only make query over IPv4 + + *-6*++ + Only make query over IPv6 + + *-p*, *--port* _port_++ + Sets the port to query.++ + ++ +_Default Ports_: + - _53_ for *UDP* and *TCP* + - _853_ for *TLS* and *QUIC* + - _443_ for *HTTPS* + + *-q*, *--query* _domain_++ + Domain to query (eg. example.com) + + *-c*, *--class* _class_++ + DNS class to query (eg. IN, CH) + + *-t*, *--qType* _type_++ + DNS type to query (eg. A, NS) + + *--no-truncate*, *+ignore*++ + Ignore UDP truncation (by default, awl _retries with TCP_) + + *--tcp*, *+tcp*, *+vc*++ + Use TCP for the query (see _RFC 7766_) + + *--dnscrypt*, *+dnscrypt*++ + Use DNSCrypt + + *-T*, *--tls*, *+tls*++ + Use DNS-over-TLS, implies *--tcp* (see _RFC 7858_) + + *-H*. *--https*, *+https*++ + Use DNS-over-HTTPS (see _RFC 8484_) + + *-Q*. *--quic*, *+quic*++ + Use DNS-over-QUIC (see _RFC 9250_) + + *-x*, *--reverse*++ + Do a reverse lookup. Sets default _type_ to PTR.++ + *awl* automatically makes an IP or phone number canonical. + + *--timeout* _seconds_, *+timeout=*_seconds_++ + Set the timeout period. Floating point numbers are accepted.++ + 0.5 seconds is the minimum. + + *--retries* _int_, *+tries*=_int_, *+ retry*=_int_++ + Set the number of retries.++ + Retry is one more than tries, dig style + +## DNS Flags + + *--aa=[false]*, *+[no]aaflag*++ + (Set, Unset) AA (Authoritative Answer) flag + + *--ad=[false]*, *+[no]adflag*++ + (Set, Unset) AD (Authenticated Data) flag + + *--tc=[false]*, *+[no]tcflag*++ + (Set, Unset) TC (TrunCated) flag + + *-z=[false]*, *+[no]zflag*++ + (Set, Unset) Z (Zero) flag + + *--cd=[false]*, *+[no]cdflag*++ + (Set, Unset) CD (Checking Disabled) flag + + *--qr=[false]*, *+[no]qrflag*++ + (Set, Unset) QR (QueRy) flag + + *--rd=[true]*, *+[no]rdflag*++ + (Set, Unset) RD (Recursion Desired) flag + + *--ra=[false]*, *+[no]raflag*++ + (Set, Unset) RA (Recursion Available) flag + +## Output Display + *--no-question*, *+noquestion*++ + Do not display the Question section + + *--no-answer*, *+noanswer*++ + Do not display the Answer section + + *--no-answer*, *+noanswer*++ + Do not display the Answer section + + *--no-authority*, *+noauthority*++ + Do not display the Authority section + + *--no-additional*, *+noadditional*++ + Do not display the Additional section + + *--no-statistics*, *+nostats*++ + Do not display the Statistics (additional comments) section + +## Output Formats + *-j*, *--json*, *+json*++ + Print the query results as JSON. + + *-X*, *--xml*, *+xml*++ + Print the query results as XML. + + *-y*, *--yaml*, *+yaml*++ + Print the query results as YAML. + + *-s*, *--short*, *+short*++ + Print just the address of the answer. + +# EXAMPLES +``` +awl grumbulon.xyz -j +cd +``` +Run a query of your local resolver for the A records of grumbulon.xyz, print +them as JSON and disable DNSSEC verification. + +``` +awl +short example.com AAAA @1.1.1.1 +``` +Query 1.1.1.1 for the AAAA records of example.com, print just the answers + +``` +awl -xT PTR 8.8.4.4 @dns.google +``` +Query dns.google over TLS for the PTR record to the IP address 8.8.4.4 + +# SEE ALSO +_drill_(1), _dig_(1), the many DNS RFCs \ No newline at end of file