298 lines
No EOL
6.5 KiB
Groff
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 |