Add a +burst option to mdig so that we have a second to setup the
mdig calls then they run at the start of the next second.
RRL uses 'queries in a second' as a approximation to
'queries per second'. Getting the bursts of traffic to all happen in
the same second should prevent false negatives in the system test.
We now have a second to setup the traffic in. Then the traffic should
be sent at the start of the next second. If that still fails we
should move to +burst=<now+2> (further extend mdig) instead of the
implicit <now+1> as the trigger second.
(cherry picked from commit 92cdc7b6c7)
325 lines
12 KiB
Plaintext
325 lines
12 KiB
Plaintext
.\" Man page generated from reStructuredText.
|
|
.
|
|
.TH "MDIG" "1" "@RELEASE_DATE@" "@BIND9_VERSION@" "BIND 9"
|
|
.SH NAME
|
|
mdig \- DNS pipelined lookup utility
|
|
.
|
|
.nr rst2man-indent-level 0
|
|
.
|
|
.de1 rstReportMargin
|
|
\\$1 \\n[an-margin]
|
|
level \\n[rst2man-indent-level]
|
|
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
-
|
|
\\n[rst2man-indent0]
|
|
\\n[rst2man-indent1]
|
|
\\n[rst2man-indent2]
|
|
..
|
|
.de1 INDENT
|
|
.\" .rstReportMargin pre:
|
|
. RS \\$1
|
|
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
|
. nr rst2man-indent-level +1
|
|
.\" .rstReportMargin post:
|
|
..
|
|
.de UNINDENT
|
|
. RE
|
|
.\" indent \\n[an-margin]
|
|
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
.nr rst2man-indent-level -1
|
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
|
..
|
|
.SH SYNOPSIS
|
|
.sp
|
|
\fBmdig\fP \fI\%{@server\fP} [\fB\-f\fP filename] [\fB\-h\fP] [\fB\-v\fP] [ [\fB\-4\fP] | [\fB\-6\fP] ] [\fB\-m\fP] [\fB\-b\fP address] [\fB\-p\fP port#] [\fB\-c\fP class] [\fB\-t\fP type] [\fB\-i\fP] [\fB\-x\fP addr] [plusopt...]
|
|
.sp
|
|
\fBmdig\fP {\fB\-h\fP}
|
|
.sp
|
|
\fBmdig\fP [@server] {global\-opt...} { {local\-opt...} {query} ...}
|
|
.SH DESCRIPTION
|
|
.sp
|
|
\fBmdig\fP is a multiple/pipelined query version of \fBdig\fP: instead of
|
|
waiting for a response after sending each query, it begins by sending
|
|
all queries. Responses are displayed in the order in which they are
|
|
received, not in the order the corresponding queries were sent.
|
|
.sp
|
|
\fBmdig\fP options are a subset of the \fBdig\fP options, and are divided
|
|
into "anywhere options" which can occur anywhere, "global options" which
|
|
must occur before the query name (or they are ignored with a warning),
|
|
and "local options" which apply to the next query on the command line.
|
|
.sp
|
|
The @server option is a mandatory global option. It is the name or IP
|
|
address of the name server to query. (Unlike \fBdig\fP, this value is not
|
|
retrieved from \fB/etc/resolv.conf\fP\&.) It can be an IPv4 address in
|
|
dotted\-decimal notation, an IPv6 address in colon\-delimited notation, or
|
|
a hostname. When the supplied \fBserver\fP argument is a hostname,
|
|
\fBmdig\fP resolves that name before querying the name server.
|
|
.sp
|
|
\fBmdig\fP provides a number of query options which affect the way in
|
|
which lookups are made and the results displayed. Some of these set or
|
|
reset flag bits in the query header, some determine which sections of
|
|
the answer get printed, and others determine the timeout and retry
|
|
strategies.
|
|
.sp
|
|
Each query option is identified by a keyword preceded by a plus sign
|
|
(\fB+\fP). Some keywords set or reset an option. These may be preceded by
|
|
the string \fBno\fP to negate the meaning of that keyword. Other keywords
|
|
assign values to options like the timeout interval. They have the form
|
|
\fB+keyword=value\fP\&.
|
|
.SH ANYWHERE OPTIONS
|
|
.sp
|
|
The \fB\-f\fP option makes \fBmdig\fP operate in batch mode by reading a list
|
|
of lookup requests to process from the file \fBfilename\fP\&. The file
|
|
contains a number of queries, one per line. Each entry in the file
|
|
should be organized in the same way they would be presented as queries
|
|
to \fBmdig\fP using the command\-line interface.
|
|
.sp
|
|
The \fB\-h\fP causes \fBmdig\fP to print the detailed help with the full list
|
|
of options and exit.
|
|
.sp
|
|
The \fB\-v\fP causes \fBmdig\fP to print the version number and exit.
|
|
.SH GLOBAL OPTIONS
|
|
.sp
|
|
The \fB\-4\fP option forces \fBmdig\fP to only use IPv4 query transport.
|
|
.sp
|
|
The \fB\-6\fP option forces \fBmdig\fP to only use IPv6 query transport.
|
|
.sp
|
|
The \fB\-b\fP option sets the source IP address of the query to
|
|
\fBaddress\fP\&. This must be a valid address on one of the host\(aqs network
|
|
interfaces or "0.0.0.0" or "::". An optional port may be specified by
|
|
appending "#<port>"
|
|
.sp
|
|
The \fB\-m\fP option enables memory usage debugging.
|
|
.sp
|
|
The \fB\-p\fP option is used when a non\-standard port number is to be
|
|
queried. \fBport#\fP is the port number that \fBmdig\fP will send its
|
|
queries instead of the standard DNS port number 53. This option would be
|
|
used to test a name server that has been configured to listen for
|
|
queries on a non\-standard port number.
|
|
.sp
|
|
The global query options are:
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \fB+[no]additional\fP
|
|
Display [do not display] the additional section of a reply. The
|
|
default is to display it.
|
|
.TP
|
|
.B \fB+[no]all\fP
|
|
Set or clear all display flags.
|
|
.TP
|
|
.B \fB+[no]answer\fP
|
|
Display [do not display] the answer section of a reply. The default
|
|
is to display it.
|
|
.TP
|
|
.B \fB+[no]authority\fP
|
|
Display [do not display] the authority section of a reply. The
|
|
default is to display it.
|
|
.TP
|
|
.B \fB+[no]besteffort\fP
|
|
Attempt to display the contents of messages which are malformed. The
|
|
default is to not display malformed answers.
|
|
.TP
|
|
.B \fB+burst\fP
|
|
This option delays queries until the start of the next second.
|
|
.TP
|
|
.B \fB+[no]cl\fP
|
|
Display [do not display] the CLASS when printing the record.
|
|
.TP
|
|
.B \fB+[no]comments\fP
|
|
Toggle the display of comment lines in the output. The default is to
|
|
print comments.
|
|
.TP
|
|
.B \fB+[no]continue\fP
|
|
Continue on errors (e.g. timeouts).
|
|
.TP
|
|
.B \fB+[no]crypto\fP
|
|
Toggle the display of cryptographic fields in DNSSEC records. The
|
|
contents of these field are unnecessary to debug most DNSSEC
|
|
validation failures and removing them makes it easier to see the
|
|
common failures. The default is to display the fields. When omitted
|
|
they are replaced by the string "[omitted]" or in the DNSKEY case the
|
|
key id is displayed as the replacement, e.g. "[ key id = value ]".
|
|
.TP
|
|
.B \fB+dscp[=value]\fP
|
|
Set the DSCP code point to be used when sending the query. Valid DSCP
|
|
code points are in the range [0..63]. By default no code point is
|
|
explicitly set.
|
|
.TP
|
|
.B \fB+[no]multiline\fP
|
|
Print records like the SOA records in a verbose multi\-line format
|
|
with human\-readable comments. The default is to print each record on
|
|
a single line, to facilitate machine parsing of the \fBmdig\fP output.
|
|
.TP
|
|
.B \fB+[no]question\fP
|
|
Print [do not print] the question section of a query when an answer
|
|
is returned. The default is to print the question section as a
|
|
comment.
|
|
.TP
|
|
.B \fB+[no]rrcomments\fP
|
|
Toggle the display of per\-record comments in the output (for example,
|
|
human\-readable key information about DNSKEY records). The default is
|
|
not to print record comments unless multiline mode is active.
|
|
.TP
|
|
.B \fB+[no]short\fP
|
|
Provide a terse answer. The default is to print the answer in a
|
|
verbose form.
|
|
.TP
|
|
.B \fB+split=W\fP
|
|
Split long hex\- or base64\-formatted fields in resource records into
|
|
chunks of \fBW\fP characters (where \fBW\fP is rounded up to the nearest
|
|
multiple of 4). \fB+nosplit\fP or \fB+split=0\fP causes fields not to be
|
|
split at all. The default is 56 characters, or 44 characters when
|
|
multiline mode is active.
|
|
.TP
|
|
.B \fB+[no]tcp\fP
|
|
Use [do not use] TCP when querying name servers. The default behavior
|
|
is to use UDP.
|
|
.TP
|
|
.B \fB+[no]ttlid\fP
|
|
Display [do not display] the TTL when printing the record.
|
|
.TP
|
|
.B \fB+[no]ttlunits\fP
|
|
Display [do not display] the TTL in friendly human\-readable time
|
|
units of "s", "m", "h", "d", and "w", representing seconds, minutes,
|
|
hours, days and weeks. Implies +ttlid.
|
|
.TP
|
|
.B \fB+[no]vc\fP
|
|
Use [do not use] TCP when querying name servers. This alternate
|
|
syntax to \fB+[no]tcp\fP is provided for backwards compatibility. The
|
|
"vc" stands for "virtual circuit".
|
|
.UNINDENT
|
|
.SH LOCAL OPTIONS
|
|
.sp
|
|
The \fB\-c\fP option sets the query class to \fBclass\fP\&. It can be any valid
|
|
query class which is supported in BIND 9. The default query class is
|
|
"IN".
|
|
.sp
|
|
The \fB\-t\fP option sets the query type to \fBtype\fP\&. It can be any valid
|
|
query type which is supported in BIND 9. The default query type is "A",
|
|
unless the \fB\-x\fP option is supplied to indicate a reverse lookup with
|
|
the "PTR" query type.
|
|
.sp
|
|
Reverse lookups MDASH mapping addresses to names MDASH are simplified by
|
|
the \fB\-x\fP option. \fBaddr\fP is an IPv4 address in dotted\-decimal
|
|
notation, or a colon\-delimited IPv6 address. \fBmdig\fP automatically
|
|
performs a lookup for a query name like \fB11.12.13.10.in\-addr.arpa\fP and
|
|
sets the query type and class to PTR and IN respectively. By default,
|
|
IPv6 addresses are looked up using nibble format under the IP6.ARPA
|
|
domain.
|
|
.sp
|
|
The local query options are:
|
|
.INDENT 0.0
|
|
.TP
|
|
.B \fB+[no]aaflag\fP
|
|
A synonym for \fB+[no]aaonly\fP\&.
|
|
.TP
|
|
.B \fB+[no]aaonly\fP
|
|
Sets the "aa" flag in the query.
|
|
.TP
|
|
.B \fB+[no]adflag\fP
|
|
Set [do not set] the AD (authentic data) bit in the query. This
|
|
requests the server to return whether all of the answer and authority
|
|
sections have all been validated as secure according to the security
|
|
policy of the server. AD=1 indicates that all records have been
|
|
validated as secure and the answer is not from a OPT\-OUT range. AD=0
|
|
indicate that some part of the answer was insecure or not validated.
|
|
This bit is set by default.
|
|
.TP
|
|
.B \fB+bufsize=B\fP
|
|
Set the UDP message buffer size advertised using EDNS0 to \fBB\fP
|
|
bytes. The maximum and minimum sizes of this buffer are 65535 and 0
|
|
respectively. Values outside this range are rounded up or down
|
|
appropriately. Values other than zero will cause a EDNS query to be
|
|
sent.
|
|
.TP
|
|
.B \fB+[no]cdflag\fP
|
|
Set [do not set] the CD (checking disabled) bit in the query. This
|
|
requests the server to not perform DNSSEC validation of responses.
|
|
.TP
|
|
.B \fB+[no]cookie=####\fP
|
|
Send a COOKIE EDNS option, with optional value. Replaying a COOKIE
|
|
from a previous response will allow the server to identify a previous
|
|
client. The default is \fB+nocookie\fP\&.
|
|
.TP
|
|
.B \fB+[no]dnssec\fP
|
|
Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO) in
|
|
the OPT record in the additional section of the query.
|
|
.TP
|
|
.B \fB+[no]edns[=#]\fP
|
|
Specify the EDNS version to query with. Valid values are 0 to 255.
|
|
Setting the EDNS version will cause a EDNS query to be sent.
|
|
\fB+noedns\fP clears the remembered EDNS version. EDNS is set to 0 by
|
|
default.
|
|
.TP
|
|
.B \fB+[no]ednsflags[=#]\fP
|
|
Set the must\-be\-zero EDNS flags bits (Z bits) to the specified value.
|
|
Decimal, hex and octal encodings are accepted. Setting a named flag
|
|
(e.g. DO) will silently be ignored. By default, no Z bits are set.
|
|
.TP
|
|
.B \fB+[no]ednsopt[=code[:value]]\fP
|
|
Specify EDNS option with code point \fBcode\fP and optionally payload
|
|
of \fBvalue\fP as a hexadecimal string. \fB+noednsopt\fP clears the EDNS
|
|
options to be sent.
|
|
.TP
|
|
.B \fB+[no]expire\fP
|
|
Send an EDNS Expire option.
|
|
.TP
|
|
.B \fB+[no]nsid\fP
|
|
Include an EDNS name server ID request when sending a query.
|
|
.TP
|
|
.B \fB+[no]recurse\fP
|
|
Toggle the setting of the RD (recursion desired) bit in the query.
|
|
This bit is set by default, which means \fBmdig\fP normally sends
|
|
recursive queries.
|
|
.TP
|
|
.B \fB+retry=T\fP
|
|
Sets the number of times to retry UDP queries to server to \fBT\fP
|
|
instead of the default, 2. Unlike \fB+tries\fP, this does not include
|
|
the initial query.
|
|
.TP
|
|
.B \fB+[no]subnet=addr[/prefix\-length]\fP
|
|
Send (don\(aqt send) an EDNS Client Subnet option with the specified IP
|
|
address or network prefix.
|
|
.sp
|
|
\fBmdig +subnet=0.0.0.0/0\fP, or simply \fBmdig +subnet=0\fP for short,
|
|
sends an EDNS client\-subnet option with an empty address and a source
|
|
prefix\-length of zero, which signals a resolver that the client\(aqs
|
|
address information must \fInot\fP be used when resolving this query.
|
|
.TP
|
|
.B \fB+timeout=T\fP
|
|
Sets the timeout for a query to \fBT\fP seconds. The default timeout is
|
|
5 seconds for UDP transport and 10 for TCP. An attempt to set \fBT\fP
|
|
to less than 1 will result in a query timeout of 1 second being
|
|
applied.
|
|
.TP
|
|
.B \fB+tries=T\fP
|
|
Sets the number of times to try UDP queries to server to \fBT\fP
|
|
instead of the default, 3. If \fBT\fP is less than or equal to zero,
|
|
the number of tries is silently rounded up to 1.
|
|
.TP
|
|
.B \fB+udptimeout=T\fP
|
|
Sets the timeout between UDP query retries.
|
|
.TP
|
|
.B \fB+[no]unknownformat\fP
|
|
Print all RDATA in unknown RR type presentation format (\fI\%RFC 3597\fP).
|
|
The default is to print RDATA for known types in the type\(aqs
|
|
presentation format.
|
|
.TP
|
|
.B \fB+[no]yaml\fP
|
|
Print the responses in a detailed YAML format.
|
|
.TP
|
|
.B \fB+[no]zflag\fP
|
|
Set [do not set] the last unassigned DNS header flag in a DNS query.
|
|
This flag is off by default.
|
|
.UNINDENT
|
|
.SH SEE ALSO
|
|
.sp
|
|
\fBdig(1)\fP, \fI\%RFC 1035\fP\&.
|
|
.SH AUTHOR
|
|
Internet Systems Consortium
|
|
.SH COPYRIGHT
|
|
2020, Internet Systems Consortium
|
|
.\" Generated by docutils manpage writer.
|
|
.
|