update manpage
Signed-off-by: Sam Therapy <sam@samtherapy.net>
parent
f964573cca
commit
777e4ebd78
1 changed files with 308 additions and 310 deletions
618
awl.1.md
618
awl.1.md
|
@ -1,310 +1,308 @@
|
|||
# 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.
|
||||
|
||||
When no arguments are given, **awl** will perform an _NS_ query on the
|
||||
root ('_._').
|
||||
|
||||
When a nameserver is not given, **awl** will query a random system
|
||||
nameserver. If one cannot be found, **awl** will query localhost.
|
||||
|
||||
# OPTIONS
|
||||
|
||||
Anything in \[brackets\] is optional.
|
||||
|
||||
**-D**, **--dnssec**, **+dnssec**
|
||||
|
||||
> Enable DNSSEC. This needs to be manually enabled.
|
||||
|
||||
**-v**\[=_int_\]
|
||||
|
||||
> Set verbosity Accepted values are as follows:
|
||||
>
|
||||
> - _0_: Only log errors.
|
||||
>
|
||||
> - _1_: Log warnings. **This is the default.**
|
||||
>
|
||||
> - _2_: Log information **Default when specifying just** _-v_.
|
||||
>
|
||||
> - _3_: Log information useful for debugging.
|
||||
>
|
||||
> Setting a value lower than 0 disables logging entirely.
|
||||
>
|
||||
> By default, specifying just **-v** sets the verbosity to 2 (info).
|
||||
|
||||
**-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) The default is IN.
|
||||
|
||||
**-t**, **--qType** _type_
|
||||
|
||||
> DNS type to query (eg. A, AAAA, NS) The default is A.
|
||||
|
||||
**--no-truncate**, **+ignore**
|
||||
|
||||
> Ignore UDP truncation (by default, awl **retries with TCP**).
|
||||
|
||||
**--no-bad-cookie**, **+\[no\]badcookie**
|
||||
|
||||
> \[Do not\] ignore BADCOOKIE responses
|
||||
|
||||
**--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**\[=_bool_\], **+\[no\]aaflag**
|
||||
|
||||
> (Set, Unset) AA (Authoritative Answer) flag.
|
||||
|
||||
**--ad**\[=_bool_\], **+\[no\]adflag**
|
||||
|
||||
> (Set, Unset) AD (Authenticated Data) flag.
|
||||
|
||||
**--tc**\[=_bool_\], **+\[no\]tcflag**
|
||||
|
||||
> (Set, Unset) TC (TrunCated) flag
|
||||
|
||||
**-z**\[=_bool_\], **+\[no\]zflag**
|
||||
|
||||
> (Set, Unset) Z (Zero) flag.
|
||||
|
||||
**--cd**\[=_bool_\], **+\[no\]cdflag**
|
||||
|
||||
> (Set, Unset) CD (Checking Disabled) flag.
|
||||
|
||||
**--qr**\[=_bool_\], **+\[no\]qrflag**
|
||||
|
||||
> (Set, Unset) QR (QueRy) flag.
|
||||
|
||||
**--rd**\[=_bool_\], **+\[no\]rdflag**
|
||||
|
||||
> (Set, Unset) RD (Recursion Desired) flag.
|
||||
|
||||
**--ra**\[=_bool_\], **+\[no\]raflag**
|
||||
|
||||
> (Set, Unset) RA (Recursion Available) flag.
|
||||
|
||||
## EDNS
|
||||
|
||||
All of these options except disabling EDNS imply **+edns**.
|
||||
|
||||
**--no-edns**, **+noedns**
|
||||
|
||||
> Disable EDNS.
|
||||
|
||||
**--edns-ver**, **+edns**\[=_int_\]
|
||||
|
||||
> Enable EDNS and set EDNS version. The maximum value is 255, and the
|
||||
> minimum (default) value is 0.
|
||||
|
||||
**--expire**. **+\[no\]expire**
|
||||
|
||||
> Send an EDNS Expire.
|
||||
|
||||
**--nsid**, **+\[no\]nsid**
|
||||
|
||||
> Send an EDNS name server ID request.
|
||||
|
||||
**--no-cookie**, **+\[no\]cookie**\[=_string_\]
|
||||
|
||||
> Send an EDNS cookie. This is enabled by default with a random string.
|
||||
|
||||
**--keep-alive**, **+\[no\]keepalive**, **+\[no\]keepopen**
|
||||
|
||||
> Send an EDNS keep-alive. This does nothing unless using TCP.
|
||||
|
||||
**--buffer-size** _int_, **+bufize**=_int_
|
||||
|
||||
> Set the UDP message buffer size, using EDNS. Max is 65535, minimum is
|
||||
> zero. The default value is 1232.
|
||||
|
||||
**--zflag** _int_, **+ednsflags**=_int_
|
||||
|
||||
> Set the must-be-zero EDNS flags. Decimal, hexadecimal and octal are
|
||||
> supported. Trying to set DO will be ignored.
|
||||
|
||||
**--subnet** _ip_\[_/prefix_\], **+\[no\]subnet**=_ip_\[_/prefix_\]
|
||||
|
||||
> Send an EDNS Client Subnet option with the specified address.
|
||||
>
|
||||
> Like **dig**(1), setting the IP to _0.0.0.0/0_, _::/0_ or _0_ will
|
||||
> signal the resolver to not use any client information when returning
|
||||
> the query.
|
||||
|
||||
## Output Display
|
||||
|
||||
**--no-question**, **+\[no\]question**
|
||||
|
||||
> Toggle the display of the Question section.
|
||||
|
||||
**--no-answer**, **+\[no\]answer**
|
||||
|
||||
> Toggle the display of the Answer section.
|
||||
|
||||
**--no-answer**, **+\[no\]answer**
|
||||
|
||||
> Toggle the display of the Answer section.
|
||||
|
||||
**--no-authority**, **+\[no\]authority**
|
||||
|
||||
> Toggle the display of the Authority section.
|
||||
|
||||
**--no-additional**, **+\[no\]additional**
|
||||
|
||||
> Toggle the display of the Additional section.
|
||||
|
||||
**--no-statistics**, **+\[no\]stats**
|
||||
|
||||
> Toggle the display of 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.
|
||||
|
||||
# EXIT STATUS
|
||||
|
||||
The exit code is 0 when a query is successfully made and received. This
|
||||
includes SERVFAILs, NOTIMPL among others.
|
||||
|
||||
# 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)
|
||||
|
||||
# STANDARDS
|
||||
|
||||
RFC 1034,1035 (UDP), 7766 (TCP), 7858 (TLS), 8484 (HTTPS), 9230 (QUIC)
|
||||
|
||||
Probably more, *https://www.statdns.com/rfc*
|
||||
|
||||
# BUGS
|
||||
|
||||
OPT records are only printed when using a standard output, not
|
||||
JSON/XML/YAML.
|
||||
|
||||
Full parity with **dig**(1) is not complete.
|
||||
|
||||
This man page is probably not complete.
|
||||
|
||||
Likely numerous more, report them either to the tracker
|
||||
*https://git.froth.zone/sam/awl/issues* or via email
|
||||
_\~sammefishe/awl-dev@lists.sr.ht_
|
||||
# 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.
|
||||
|
||||
When no arguments are given, **awl** will perform an *NS* query on the
|
||||
root ('*.*').
|
||||
|
||||
When a nameserver is not given, **awl** will query a random system
|
||||
nameserver. If one cannot be found, **awl** will query the localhost.
|
||||
|
||||
# OPTIONS
|
||||
|
||||
Anything in \[brackets\] is optional. Many options are inherited from
|
||||
**dig**(1).
|
||||
|
||||
**-D**, **--dnssec**, **+dnssec**, **+do**
|
||||
|
||||
> Enable DNSSEC. This needs to be manually enabled.
|
||||
|
||||
**-v**\[=*int*\]
|
||||
|
||||
> Set verbosity Accepted values are as follows:
|
||||
>
|
||||
> - *0*: Only log errors.
|
||||
>
|
||||
> - *1*: Log warnings. **This is the default.**
|
||||
>
|
||||
> - *2*: Log information **Default when specifying just** *-v*.
|
||||
>
|
||||
> - *3*: Log information useful for debugging.
|
||||
>
|
||||
> Setting a value lower than 0 disables logging entirely.
|
||||
>
|
||||
> By default, specifying just **-v** sets the verbosity to 2 (info).
|
||||
|
||||
**-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) The default is IN.
|
||||
|
||||
**-t**, **--qType** *type*
|
||||
|
||||
> DNS type to query (eg. A, AAAA, NS) The default is A.
|
||||
|
||||
**--no-truncate**, **+ignore**
|
||||
|
||||
> Ignore UDP truncation (by default, awl **retries with TCP**).
|
||||
|
||||
**--no-bad-cookie**, **+\[no\]badcookie**
|
||||
|
||||
> \[Do not\] ignore BADCOOKIE responses
|
||||
|
||||
**--tcp**, **+\[no\]tcp**, **+\[no\]vc**
|
||||
|
||||
> Use TCP for the query (see RFC 7766).
|
||||
|
||||
**--dnscrypt**, **+\[no\]dnscrypt**
|
||||
|
||||
> Use DNSCrypt.
|
||||
|
||||
**-T**, **--tls**, **+\[no\]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**, **+\[no\]https**
|
||||
|
||||
> Use DNS-over-HTTPS (see RFC 8484).
|
||||
|
||||
**-Q**. **--quic**, **+\[no\]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**\[=*bool*\], **+\[no\]aaflag**
|
||||
|
||||
> (Set, Unset) AA (Authoritative Answer) flag.
|
||||
|
||||
**--ad**\[=*bool*\], **+\[no\]adflag**
|
||||
|
||||
> (Set, Unset) AD (Authenticated Data) flag.
|
||||
|
||||
**--tc**\[=*bool*\], **+\[no\]tcflag**
|
||||
|
||||
> (Set, Unset) TC (TrunCated) flag
|
||||
|
||||
**-z**\[=*bool*\], **+\[no\]zflag**
|
||||
|
||||
> (Set, Unset) Z (Zero) flag.
|
||||
|
||||
**--cd**\[=*bool*\], **+\[no\]cdflag**
|
||||
|
||||
> (Set, Unset) CD (Checking Disabled) flag.
|
||||
|
||||
**--qr**\[=*bool*\], **+\[no\]qrflag**
|
||||
|
||||
> (Set, Unset) QR (QueRy) flag.
|
||||
|
||||
**--rd**\[=*bool*\], **+\[no\]rdflag**
|
||||
|
||||
> (Set, Unset) RD (Recursion Desired) flag.
|
||||
|
||||
**--ra**\[=*bool*\], **+\[no\]raflag**
|
||||
|
||||
> (Set, Unset) RA (Recursion Available) flag.
|
||||
|
||||
## EDNS
|
||||
|
||||
All of these options except disabling EDNS imply **+edns**.
|
||||
|
||||
**--no-edns**, **+noedns**
|
||||
|
||||
> Disable EDNS.
|
||||
|
||||
**--edns-ver**, **+edns**\[=*int*\]
|
||||
|
||||
> Enable EDNS and set EDNS version. The maximum value is 255, and the
|
||||
> minimum (default) value is 0.
|
||||
|
||||
**--expire**. **+\[no\]expire**
|
||||
|
||||
> Send an EDNS Expire.
|
||||
|
||||
**--nsid**, **+\[no\]nsid**
|
||||
|
||||
> Send an EDNS name server ID request.
|
||||
|
||||
**--no-cookie**, **+\[no\]cookie**\[=*string*\]
|
||||
|
||||
> Send an EDNS cookie. This is enabled by default with a random string.
|
||||
|
||||
**--keep-alive**, **+\[no\]keepalive**, **+\[no\]keepopen**
|
||||
|
||||
> Send an EDNS keep-alive. This does nothing unless using TCP.
|
||||
|
||||
**--buffer-size** *int*, **+bufize**=*int*
|
||||
|
||||
> Set the UDP message buffer size, using EDNS. Max is 65535, minimum is
|
||||
> zero. The default value is 1232.
|
||||
|
||||
**--zflag** *int*, **+ednsflags**=*int*
|
||||
|
||||
> Set the must-be-zero EDNS flags. Decimal, hexadecimal and octal are
|
||||
> supported. Trying to set DO will be ignored.
|
||||
|
||||
**--subnet** *ip*\[*/prefix*\], **+\[no\]subnet**=*ip*\[*/prefix*\]
|
||||
|
||||
> Send an EDNS Client Subnet option with the specified address.
|
||||
>
|
||||
> Like **dig**(1), setting the IP to *0.0.0.0/0*, *::/0* or *0* will
|
||||
> signal the resolver to not use any client information when returning
|
||||
> the query.
|
||||
|
||||
## Output Display
|
||||
|
||||
**--no-question**, **+\[no\]question**
|
||||
|
||||
> Toggle the display of the Question section.
|
||||
|
||||
**--no-answer**, **+\[no\]answer**
|
||||
|
||||
> Toggle the display of the Answer section.
|
||||
|
||||
**--no-answer**, **+\[no\]answer**
|
||||
|
||||
> Toggle the display of the Answer section.
|
||||
|
||||
**--no-authority**, **+\[no\]authority**
|
||||
|
||||
> Toggle the display of the Authority section.
|
||||
|
||||
**--no-additional**, **+\[no\]additional**
|
||||
|
||||
> Toggle the display of the Additional section.
|
||||
|
||||
**--no-statistics**, **+\[no\]stats**
|
||||
|
||||
> Toggle the display of the Statistics (additional comments) section.
|
||||
|
||||
## Output Formats
|
||||
|
||||
**-j**, **--json**, **+\[no\]json**
|
||||
|
||||
> Print the query results as JSON.
|
||||
|
||||
**-X**, **--xml**, **+\[no\]xml**
|
||||
|
||||
> Print the query results as XML.
|
||||
|
||||
**-y**, **--yaml**, **+\[no\]yaml**
|
||||
|
||||
> Print the query results as YAML.
|
||||
|
||||
**-s**, **--short**, **+\[no\]short**
|
||||
|
||||
> Print just the address of the answer.
|
||||
|
||||
# EXIT STATUS
|
||||
|
||||
The exit code is 0 when a query is successfully made and received. This
|
||||
includes SERVFAILs, NOTIMPL among others.
|
||||
|
||||
# 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)
|
||||
|
||||
# STANDARDS
|
||||
|
||||
RFC 1034,1035 (UDP), 7766 (TCP), 7858 (TLS), 8484 (HTTPS), 9230 (QUIC)
|
||||
|
||||
Probably more, *https://www.statdns.com/rfc*
|
||||
|
||||
# BUGS
|
||||
|
||||
Full parity with **dig**(1) is not complete.
|
||||
|
||||
This man page is probably not complete.
|
||||
|
||||
Likely numerous more, report them either to the tracker
|
||||
*https://git.froth.zone/sam/awl/issues* or via email
|
||||
*\~sammefishe/awl-dev@lists.sr.ht*
|
||||
|
|
Loading…
Reference in a new issue