awl/doc/awl.1.scd
Sam Therapy 4c9221ee29
Some checks failed
continuous-integration/drone/push Build is failing
Another huge refactor/rework
:^)

Signed-off-by: Sam Therapy <sam@samtherapy.net>
2022-08-06 01:45:31 +02:00

185 lines
4 KiB
Markdown

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 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 listed below.
- _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_)
_--tls-host_ _string_
Set hostname to use for TLS certificate validation.
Default is the name of the domain when querying over TLS, and empty for IPs.
_--tls-no-verify_
Ignore TLS validation when performing a DNS query.
_-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