Add manpage

Signed-off-by: Sam Therapy <sam@samtherapy.net>
Sam Therapy 2022-07-25 00:31:44 +02:00
commit 250720f1b5
Signed by: sam
GPG key ID: 4D8B07C18F31ACBD

169
manpage.md Normal file

@ -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