awl/doc/awl.1
Sam Therapy c5e5573268
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
Preliminary EDNS
Signed-off-by: Sam Therapy <sam@samtherapy.net>
2022-07-30 15:32:03 +02:00

298 lines
No EOL
6.5 KiB
Groff

.\" Generated by scdoc 1.11.2
.\" Complete documentation for this program is not available as a GNU info page
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.nh
.ad l
.\" Begin generated content:
.TH "awl" "1" "2022-07-29"
.PP
.SH NAME
awl - DNS lookup tool
.PP
.SH SYNOPSIS
\fBawl\fR [ \fIOPTIONS\fR ] \fIname\fR [ \fI@server\fR ] [ \fItype\fR ]
.br
where
.PP
\fIname\fR is the query to make (\fBexample: froth.\&zone\fR)
.br
\fI@server\fR is the server to query (\fBexample: dns.\&froth.\&zone\fR)
.br
\fItype\fR is the DNS resource type (\fBexample: AAAA\fR)
.PP
.SH DESCRIPTION
.PP
\fBawl\fR (\fBa\fRwls \fBw\fRant \fBl\fRicorice) is a simple tool designed to make DNS queries
, much like the venerable \fIdig\fR(1).\& An awl is a tool used to make small holes,
typically used in leatherworking.\&
.PP
\fBawl\fR is designed to be a more "modern" version of \fIdrill\fR(1) by including
some more recent RFCs and output options.\& \fBawl\fR is still heavily
Work-In-Progress so some features may get added or removed.\&
.PP
.SH OPTIONS
.RS 4
Dig-like +[no]flags are supported, see dig(1)
.PP
\fB-D\fR, \fB--dnssec\fR, \fB+dnssec\fR
.br
Enable DNSSEC.\& This needs to be manually enabled.\&
.PP
\fB--qr\fR, \fB+qr\fR
.br
Print query before sending.\&
.PP
\fB-v\fR \fIvalue\fR
.br
Set verbosity (currently WIP)
.PP
\fB-V\fR
.br
Print the version and exit.\&
.PP
\fB-h\fR
.br
Show a "short" help message.\&
.PP
.RE
.SS Query Options
.RS 4
\fB-4\fR
.br
Only make query over IPv4
.PP
\fB-6\fR
.br
Only make query over IPv6
.PP
\fB-p\fR, \fB--port\fR \fIport\fR
.br
Sets the port to query.\&
.br
.br
\fIDefault Ports\fR:
.RS 4
.PD 0
.IP \(bu 4
\fI53\fR for \fBUDP\fR and \fBTCP\fR
.IP \(bu 4
\fI853\fR for \fBTLS\fR and \fBQUIC\fR
.IP \(bu 4
\fI443\fR for \fBHTTPS\fR
.PD
.PP
.RE
\fB-q\fR, \fB--query\fR \fIdomain\fR
.br
Domain to query (eg.\& example.\&com)
.PP
\fB-c\fR, \fB--class\fR \fIclass\fR
.br
DNS class to query (eg.\& IN, CH)
.PP
\fB-t\fR, \fB--qType\fR \fItype\fR
.br
DNS type to query (eg.\& A, NS)
.PP
\fB--no-truncate\fR, \fB+ignore\fR
.br
Ignore UDP truncation (by default, awl \fIretries with TCP\fR)
.PP
\fB--tcp\fR, \fB+tcp\fR, \fB+vc\fR
.br
Use TCP for the query (see \fIRFC 7766\fR)
.PP
\fB--dnscrypt\fR, \fB+dnscrypt\fR
.br
Use DNSCrypt
.PP
\fB-T\fR, \fB--tls\fR, \fB+tls\fR
.br
Use DNS-over-TLS, implies \fB--tcp\fR (see \fIRFC 7858\fR)
.PP
\fB-H\fR.\& \fB--https\fR, \fB+https\fR
.br
Use DNS-over-HTTPS (see \fIRFC 8484\fR)
.PP
\fB-Q\fR.\& \fB--quic\fR, \fB+quic\fR
.br
Use DNS-over-QUIC (see \fIRFC 9250\fR)
.PP
\fB-x\fR, \fB--reverse\fR
.br
Do a reverse lookup.\& Sets default \fItype\fR to PTR.\&
.br
\fBawl\fR automatically makes an IP or phone number canonical.\&
.PP
\fB--timeout\fR \fIseconds\fR, \fB+timeout=\fR\fIseconds\fR
.br
Set the timeout period.\& Floating point numbers are accepted.\&
.br
0.\&5 seconds is the minimum.\&
.PP
\fB--retries\fR \fIint\fR, \fB+tries\fR=\fIint\fR, \fB+retry\fR=\fIint\fR
.br
Set the number of retries.\&
.br
Retry is one more than tries, dig style
.PP
.RE
.SS DNS Flags
.PP
.RS 4
\fB--aa\fR[\fI=false\fR], \fB+[no]aaflag\fR
.br
(Set, Unset) AA (Authoritative Answer) flag
.PP
\fB--ad\fR[\fI=false\fR], \fB+[no]adflag\fR
.br
(Set, Unset) AD (Authenticated Data) flag
.PP
\fB--tc\fR[\fI=false\fR], \fB+[no]tcflag\fR
.br
(Set, Unset) TC (TrunCated) flag
.PP
\fB-z\fR[\fI=false\fR], \fB+[no]zflag\fR
.br
(Set, Unset) Z (Zero) flag
.PP
\fB--cd\fR[\fI=false\fR], \fB+[no]cdflag\fR
.br
(Set, Unset) CD (Checking Disabled) flag
.PP
\fB--qr\fR[\fI=false\fR], \fB+[no]qrflag\fR
.br
(Set, Unset) QR (QueRy) flag
.PP
\fB--rd\fR[\fI=true\fR], \fB+[no]rdflag\fR
.br
(Set, Unset) RD (Recursion Desired) flag
.PP
\fB--ra\fR[\fI=false\fR], \fB+[no]raflag\fR
.br
(Set, Unset) RA (Recursion Available) flag
.PP
.RE
.SS EDNS Flags
.RS 4
\fB--edns-ver\fR \fIver\fR, \fB+edns\fR[\fI=ver\fR]
.br
Set EDNS version to \fIver\fR (default 0)
.PP
\fB--no-edns\fR, \fB+noedns\fR
.br
\fB--no-edns\fR and \fB+noedns\fR disable EDNS entirely
.PP
\fB--expire\fR, \fB+[no]expire\fR
.br
Add EDNS expire option to query
.PP
\fB--nsid\fR, \fB+[no]nsid\fR
.br
Add EDNS NSID option to query
.PP
\fB--no-cookie\fR, \fB+[no]cookie\fR
.br
Send an EDNS cookie (sent by default)
.PP
\fB--keep-alive\fR, \fB+[no]keepalive\fR, \fB+[no]keepopen\fR
.br
Send an EDNS TCP keepalive options
.PP
\fB--buffer-size\fR, \fB+bufsize\fR=\fIint\fR
.br
Set UDP buffer size to int (default 1232)
.PP
\fB--zflags\fR \fIflag\fR, \fB+ednsflags\fR[\fI=flag\fR]
.br
Set Z EDNS flag bits.\& Octal, decimal and hex are accepted.\&
Setting the first bit (DO) will be ignored, use \fB-D\fR instead
.PP
\fB--pad\fR, \fB+padding\fR
.br
Set EDNS padding
.PP
.RE
.SS Output Display
.RS 4
\fB--no-question\fR, \fB+[no]question\fR
.br
Do not display the Question section
.PP
\fB--no-answer\fR, \fB+[no]answer\fR
.br
Do not display the Answer section
.PP
\fB--no-answer\fR, \fB+[no]answer\fR
.br
Do not display the Answer section
.PP
\fB--no-authority\fR, \fB+[no]authority\fR
.br
Do not display the Authority section
.PP
\fB--no-additional\fR, \fB+[no]additional\fR
.br
Do not display the Additional section
.PP
\fB--no-comments\fR, \fB+[no]comments\fR
.br
Do not display the query comments
.PP
\fB--no-statistics\fR, \fB+nostats\fR
.br
Do not display the Statistics (additional comments) section
.PP
.RE
.SS Output Formats
.RS 4
\fB-j\fR, \fB--json\fR, \fB+json\fR
.br
Print the query results as JSON.\&
.PP
\fB-X\fR, \fB--xml\fR, \fB+xml\fR
.br
Print the query results as XML.\&
.PP
\fB-y\fR, \fB--yaml\fR, \fB+yaml\fR
.br
Print the query results as YAML.\&
.PP
\fB-s\fR, \fB--short\fR, \fB+short\fR
.br
Print just the address of the answer.\&
.PP
.RE
.SH EXAMPLES
.nf
.RS 4
awl grumbulon\&.xyz -j +cd
.fi
.RE
Run a query of your local resolver for the A records of grumbulon.\&xyz, print
them as JSON and disable DNSSEC verification.\&
.PP
.nf
.RS 4
awl +short example\&.com AAAA @1\&.1\&.1\&.1
.fi
.RE
Query 1.\&1.\&1.\&1 for the AAAA records of example.\&com, print just the answers
.PP
.nf
.RS 4
awl -xT PTR 8\&.8\&.4\&.4 @dns\&.google
.fi
.RE
Query dns.\&google over TLS for the PTR record to the IP address 8.\&8.\&4.\&4
.PP
.SH SEE ALSO
\fIdrill\fR(1), \fIdig\fR(1), the many DNS RFCs
.PP
.SH BUGS
Numerous, report them either to
.br
https://git.\&froth.\&zone/sam/awl/issues or via email
~sammefishe/awl-dev@lists.\&sr.\&ht