awl/doc/awl.1.md
Sam Therapy eda2e5b55f
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
More work!
Signed-off-by: Sam Therapy <sam@samtherapy.net>
2022-07-22 23:22:43 +02:00

3.7 KiB

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 (awls want licorice) 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*++
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_
Set the timeout period. Floating point numbers are accepted.

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