dig.html revision d9f0b06dc2bba47e3fe63afdf41c638d3517ceff
012a352f4b26cfd874db8d06debc495c2303e8b2Bob Halley<!--
178f6ad061e54bc5babfca3577f72058fa0797c1Bob Halley - Copyright (C) 2004-2011, 2013, 2014 Internet Systems Consortium, Inc. ("ISC")
93ca8abdf86dfe69d40c0bc5389151e0672780afTinderbox User - Copyright (C) 2000-2003 Internet Software Consortium.
bf8267aa453e5d2a735ed732a043b77a0b355b20Mark Andrews -
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews - Permission to use, copy, modify, and/or distribute this software for any
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews - purpose with or without fee is hereby granted, provided that the above
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews - copyright notice and this permission notice appear in all copies.
b897c52f865b2fc4e220e2110b874e59c716456bBob Halley -
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid Lawrence - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt - PERFORMANCE OF THIS SOFTWARE.
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley-->
460b427411b72da26b1836b9424e2e70d65d9394David Lawrence<!-- $Id$ -->
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<html>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<head>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<title>dig</title>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
b897c52f865b2fc4e220e2110b874e59c716456bBob Halley</head>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<a name="man.dig"></a><div class="titlepage"></div>
c7b785510e3f517a0c98c0b6b6e6ad8f359e9e4cMark Andrews<div class="refnamediv">
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt<h2>Name</h2>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<p>dig &#8212; DNS lookup utility</p>
b897c52f865b2fc4e220e2110b874e59c716456bBob Halley</div>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt<div class="refsynopsisdiv">
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<h2>Synopsis</h2>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<div class="cmdsynopsis"><p><code class="command">dig</code> [@server] [<code class="option">-b <em class="replaceable"><code>address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-k <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-m</code>] [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>] [<code class="option">-q <em class="replaceable"><code>name</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v</code>] [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>] [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]name:key</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] [name] [type] [class] [queryopt...]</p></div>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt<div class="cmdsynopsis"><p><code class="command">dig</code> [<code class="option">-h</code>]</p></div>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt</div>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt<div class="refsect1" lang="en">
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt<a name="id2543536"></a><h2>DESCRIPTION</h2>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt<p><span><strong class="command">dig</strong></span>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt (domain information groper) is a flexible tool
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt for interrogating DNS name servers. It performs DNS lookups and
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt displays the answers that are returned from the name server(s) that
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt were queried. Most DNS administrators use <span><strong class="command">dig</strong></span> to
460b427411b72da26b1836b9424e2e70d65d9394David Lawrence troubleshoot DNS problems because of its flexibility, ease of use and
460b427411b72da26b1836b9424e2e70d65d9394David Lawrence clarity of output. Other lookup tools tend to have less functionality
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews than <span><strong class="command">dig</strong></span>.
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews </p>
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews<p>
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews Although <span><strong class="command">dig</strong></span> is normally used with
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews command-line
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews arguments, it also has a batch mode of operation for reading lookup
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews requests from a file. A brief summary of its command-line arguments
460b427411b72da26b1836b9424e2e70d65d9394David Lawrence and options is printed when the <code class="option">-h</code> option is given.
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley Unlike earlier versions, the BIND 9 implementation of
12e63bfe1d111ccb57f482b28d56c785cccc7cf7David Lawrence <span><strong class="command">dig</strong></span> allows multiple lookups to be issued
12e63bfe1d111ccb57f482b28d56c785cccc7cf7David Lawrence from the
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt command line.
12e63bfe1d111ccb57f482b28d56c785cccc7cf7David Lawrence </p>
12e63bfe1d111ccb57f482b28d56c785cccc7cf7David Lawrence<p>
dabea86dac4c01f852b7aea728f73b4f55a89d44Mark Andrews Unless it is told to query a specific name server,
dabea86dac4c01f852b7aea728f73b4f55a89d44Mark Andrews <span><strong class="command">dig</strong></span> will try each of the servers listed in
dabea86dac4c01f852b7aea728f73b4f55a89d44Mark Andrews <code class="filename">/etc/resolv.conf</code>. If no usable server addresses
12a3ab37fe6556406acdf92fc7c5f198d603ca2eMark Andrews are found, <span><strong class="command">dig</strong></span> will send the query to the local
f5cfcbf2f7906fb59c2b8b9b8fc9c7a75ac44dabMark Andrews host.
2d46d268ccff30bb50e661b47c6496d23d9156c7Mark Andrews </p>
2d46d268ccff30bb50e661b47c6496d23d9156c7Mark Andrews<p>
dabea86dac4c01f852b7aea728f73b4f55a89d44Mark Andrews When no command line arguments or options are given,
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley <span><strong class="command">dig</strong></span> will perform an NS query for "." (the root).
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews </p>
460b427411b72da26b1836b9424e2e70d65d9394David Lawrence<p>
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews It is possible to set per-user defaults for <span><strong class="command">dig</strong></span> via
460b427411b72da26b1836b9424e2e70d65d9394David Lawrence <code class="filename">${HOME}/.digrc</code>. This file is read and
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews any options in it
2d9bd38ec3fbbfe920757b8972d94f664a9b354bMark Andrews are applied before the command line arguments.
ebb4655236b95b36982d999800497d2dd3096a7fMark Andrews </p>
ebb4655236b95b36982d999800497d2dd3096a7fMark Andrews<p>
ebb4655236b95b36982d999800497d2dd3096a7fMark Andrews The IN and CH class names overlap with the IN and CH top level
ebb4655236b95b36982d999800497d2dd3096a7fMark Andrews domain names. Either use the <code class="option">-t</code> and
ebb4655236b95b36982d999800497d2dd3096a7fMark Andrews <code class="option">-c</code> options to specify the type and class,
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews use the <code class="option">-q</code> the specify the domain name, or
460b427411b72da26b1836b9424e2e70d65d9394David Lawrence use "IN." and "CH." when looking up these top level domains.
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews </p>
8319af16557b81eba3277ee67215285f0823b587Mark Andrews</div>
8319af16557b81eba3277ee67215285f0823b587Mark Andrews<div class="refsect1" lang="en">
aee5e9cbacd8f88325840b8a498876f4319b0890Mark Andrews<a name="id2543614"></a><h2>SIMPLE USAGE</h2>
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews<p>
9e5854255178c04170bc98839282d4cf3fae7443Mark Andrews A typical invocation of <span><strong class="command">dig</strong></span> looks like:
f7a6d4f915ce622d988916397f313b33ae954afcMark Andrews </p>
f7a6d4f915ce622d988916397f313b33ae954afcMark Andrews<pre class="programlisting"> dig @server name type </pre>
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews<p>
460b427411b72da26b1836b9424e2e70d65d9394David Lawrence where:
66c9805347f24da946c17a881e489ffe2e89c25dMark Andrews
66c9805347f24da946c17a881e489ffe2e89c25dMark Andrews </p>
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews<div class="variablelist"><dl>
460b427411b72da26b1836b9424e2e70d65d9394David Lawrence<dt><span class="term"><code class="constant">server</code></span></dt>
66c9805347f24da946c17a881e489ffe2e89c25dMark Andrews<dd>
66c9805347f24da946c17a881e489ffe2e89c25dMark Andrews<p>
12e63bfe1d111ccb57f482b28d56c785cccc7cf7David Lawrence is the name or IP address of the name server to query. This
c32b87bc54abacf95fb3b063d72b7d1855c1643bMichael Graff can be an IPv4 address in dotted-decimal notation or an IPv6
7f9f8c13c5e5e26e0ba2b82c0900d11ecf6269ceMark Andrews address in colon-delimited notation. When the supplied
460b427411b72da26b1836b9424e2e70d65d9394David Lawrence <em class="parameter"><code>server</code></em> argument is a hostname,
c3e6fbe4b7471d843d015e3f1737b7edb9d0c547Mark Andrews <span><strong class="command">dig</strong></span> resolves that name before querying
c3e6fbe4b7471d843d015e3f1737b7edb9d0c547Mark Andrews that name server.
12e63bfe1d111ccb57f482b28d56c785cccc7cf7David Lawrence </p>
12e63bfe1d111ccb57f482b28d56c785cccc7cf7David Lawrence<p>
12e63bfe1d111ccb57f482b28d56c785cccc7cf7David Lawrence If no <em class="parameter"><code>server</code></em> argument is
460b427411b72da26b1836b9424e2e70d65d9394David Lawrence provided, <span><strong class="command">dig</strong></span> consults
fe9b24391db337a7ff2845f89a932ae82ebef5ecMark Andrews <code class="filename">/etc/resolv.conf</code>; if an
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews address is found there, it queries the name server at
9514777adda314e7db802fc139ac42332e54baa9Mark Andrews that address. If either of the <code class="option">-4</code> or
5e47b4200ed81b8e18e165fe3a626d9992003db4Mark Andrews <code class="option">-6</code> options are in use, then
5e47b4200ed81b8e18e165fe3a626d9992003db4Mark Andrews only addresses for the corresponding transport
5e47b4200ed81b8e18e165fe3a626d9992003db4Mark Andrews will be tried. If no usable addresses are found,
5e47b4200ed81b8e18e165fe3a626d9992003db4Mark Andrews <span><strong class="command">dig</strong></span> will send the query to the
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley local host. The reply from the name server that
2320f230995995595438a9d9301d84931fd266ceMark Andrews responds is displayed.
c427260a8678f2e99a2337fb95ec98d9c9ee8c05Mark Andrews </p>
620a452ebe92fff63e85c5930a6e6dc8d9455918Mark Andrews</dd>
620a452ebe92fff63e85c5930a6e6dc8d9455918Mark Andrews<dt><span class="term"><code class="constant">name</code></span></dt>
6dcb47e37f9f0cdb94bdabc3fa157ff07983c590Mark Andrews<dd><p>
6dcb47e37f9f0cdb94bdabc3fa157ff07983c590Mark Andrews is the name of the resource record that is to be looked up.
2c4c405aeb7d3900ec2d4e4de888d47eae04ff82Mark Andrews </p></dd>
2c4c405aeb7d3900ec2d4e4de888d47eae04ff82Mark Andrews<dt><span class="term"><code class="constant">type</code></span></dt>
284595865d33d5062d930957c516f413f48fad57Mark Andrews<dd><p>
43b3337ba58d70ca34f4d91e8c6c5e13a54af690Mark Andrews indicates what type of query is required &#8212;
f10370fd44f05fecc808d89c01b2d50df2b232f3Mark Andrews ANY, A, MX, SIG, etc.
f10370fd44f05fecc808d89c01b2d50df2b232f3Mark Andrews <em class="parameter"><code>type</code></em> can be any valid query
693d70f96fc2b3c1830580edcc29146afd6a9f61Mark Andrews type. If no
693d70f96fc2b3c1830580edcc29146afd6a9f61Mark Andrews <em class="parameter"><code>type</code></em> argument is supplied,
693d70f96fc2b3c1830580edcc29146afd6a9f61Mark Andrews <span><strong class="command">dig</strong></span> will perform a lookup for an
693d70f96fc2b3c1830580edcc29146afd6a9f61Mark Andrews A record.
680cbc050aead48a0de9cdcea621f2747ca5ddc7Mark Andrews </p></dd>
680cbc050aead48a0de9cdcea621f2747ca5ddc7Mark Andrews</dl></div>
d3347bd01baee56e476982a7443ba18cdbaeebe1Mark Andrews<p>
d3347bd01baee56e476982a7443ba18cdbaeebe1Mark Andrews </p>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley</div>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<div class="refsect1" lang="en">
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<a name="id2543718"></a><h2>OPTIONS</h2>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt<p>
66c9805347f24da946c17a881e489ffe2e89c25dMark Andrews The <code class="option">-b</code> option sets the source IP address of the query
4c6bf2d14ee70f1966d4c18475f93211fbc928e1Mark Andrews to <em class="parameter"><code>address</code></em>. This must be a valid
66c9805347f24da946c17a881e489ffe2e89c25dMark Andrews address on
66c9805347f24da946c17a881e489ffe2e89c25dMark Andrews one of the host's network interfaces or "0.0.0.0" or "::". An optional
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley port
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley may be specified by appending "#&lt;port&gt;"
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley </p>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<p>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley The default query class (IN for internet) is overridden by the
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley <code class="option">-c</code> option. <em class="parameter"><code>class</code></em> is
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews any valid
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews class, such as HS for Hesiod records or CH for Chaosnet records.
0014d6342b0d50ae37126ac16d5bf821d02ffff7David Lawrence </p>
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews<p>
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews The <code class="option">-f</code> option makes <span><strong class="command">dig </strong></span>
0014d6342b0d50ae37126ac16d5bf821d02ffff7David Lawrence operate
a9558a6c63d9c6dbb2f3800b39ccb008652fcde3Mark Andrews in batch mode by reading a list of lookup requests to process from the
a9558a6c63d9c6dbb2f3800b39ccb008652fcde3Mark Andrews file <em class="parameter"><code>filename</code></em>. The file contains a
a9558a6c63d9c6dbb2f3800b39ccb008652fcde3Mark Andrews number of
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews queries, one per line. Each entry in the file should be organized in
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews the same way they would be presented as queries to
0014d6342b0d50ae37126ac16d5bf821d02ffff7David Lawrence <span><strong class="command">dig</strong></span> using the command-line interface.
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt </p>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt<p>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt The <code class="option">-m</code> option enables memory usage debugging.
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley </p>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<p>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley If a non-standard port number is to be queried, the
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley <code class="option">-p</code> option is used. <em class="parameter"><code>port#</code></em> is
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt the port number that <span><strong class="command">dig</strong></span> will send its
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley queries
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley instead of the standard DNS port number 53. This option would be used
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley to test a name server that has been configured to listen for queries
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt on a non-standard port number.
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley </p>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<p>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley The <code class="option">-4</code> option forces <span><strong class="command">dig</strong></span>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt to only
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley use IPv4 query transport. The <code class="option">-6</code> option forces
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt <span><strong class="command">dig</strong></span> to only use IPv6 query transport.
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt </p>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<p>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley The <code class="option">-t</code> option sets the query type to
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley <em class="parameter"><code>type</code></em>. It can be any valid query type
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt which is
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley supported in BIND 9. The default query type is "A", unless the
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley <code class="option">-x</code> option is supplied to indicate a reverse lookup.
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley A zone transfer can be requested by specifying a type of AXFR. When
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley an incremental zone transfer (IXFR) is required,
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley <em class="parameter"><code>type</code></em> is set to <code class="literal">ixfr=N</code>.
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt The incremental zone transfer will contain the changes made to the zone
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley since the serial number in the zone's SOA record was
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley <em class="parameter"><code>N</code></em>.
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley </p>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt<p>
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt The <code class="option">-q</code> option sets the query name to
18483fce5b9d1e02748bdcb916014cedea654f78Mark Andrews <em class="parameter"><code>name</code></em>. This is useful to distinguish the
af9dbf1ccdd53933aaae9300d13ce0965d39b067Evan Hunt <em class="parameter"><code>name</code></em> from other arguments.
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley </p>
0b72c791466d0807bcf22522b5ddb7da902c2720Bob Halley<p>
The <code class="option">-v</code> causes <span><strong class="command">dig</strong></span> to
print the version number and exit.
</p>
<p>
Reverse lookups &#8212; mapping addresses to names &#8212; are simplified by the
<code class="option">-x</code> option. <em class="parameter"><code>addr</code></em> is
an IPv4
address in dotted-decimal notation, or a colon-delimited IPv6 address.
When this option is used, there is no need to provide the
<em class="parameter"><code>name</code></em>, <em class="parameter"><code>class</code></em> and
<em class="parameter"><code>type</code></em> arguments. <span><strong class="command">dig</strong></span>
automatically performs a lookup for a name like
<code class="literal">11.12.13.10.in-addr.arpa</code> 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.
To use the older RFC1886 method using the IP6.INT domain
specify the <code class="option">-i</code> option. Bit string labels (RFC2874)
are now experimental and are not attempted.
</p>
<p>
To sign the DNS queries sent by <span><strong class="command">dig</strong></span> and
their
responses using transaction signatures (TSIG), specify a TSIG key file
using the <code class="option">-k</code> option. You can also specify the TSIG
key itself on the command line using the <code class="option">-y</code> option;
<em class="parameter"><code>hmac</code></em> is the type of the TSIG, default HMAC-MD5,
<em class="parameter"><code>name</code></em> is the name of the TSIG key and
<em class="parameter"><code>key</code></em> is the actual key. The key is a
base-64
encoded string, typically generated by
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
Caution should be taken when using the <code class="option">-y</code> option on
multi-user systems as the key can be visible in the output from
<span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
or in the shell's history file. When
using TSIG authentication with <span><strong class="command">dig</strong></span>, the name
server that is queried needs to know the key and algorithm that is
being used. In BIND, this is done by providing appropriate
<span><strong class="command">key</strong></span> and <span><strong class="command">server</strong></span> statements in
<code class="filename">named.conf</code>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544009"></a><h2>QUERY OPTIONS</h2>
<p><span><strong class="command">dig</strong></span>
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.
</p>
<p>
Each query option is identified by a keyword preceded by a plus sign
(<code class="literal">+</code>). Some keywords set or reset an
option. These may be preceded
by the string <code class="literal">no</code> to negate the meaning of
that keyword. Other
keywords assign values to options like the timeout interval. They
have the form <code class="option">+keyword=value</code>.
The query options are:
</p>
<div class="variablelist"><dl>
<dt><span class="term"><code class="option">+[no]aaflag</code></span></dt>
<dd><p>
A synonym for <em class="parameter"><code>+[no]aaonly</code></em>.
</p></dd>
<dt><span class="term"><code class="option">+[no]aaonly</code></span></dt>
<dd><p>
Sets the "aa" flag in the query.
</p></dd>
<dt><span class="term"><code class="option">+[no]additional</code></span></dt>
<dd><p>
Display [do not display] the additional section of a
reply. The default is to display it.
</p></dd>
<dt><span class="term"><code class="option">+[no]adflag</code></span></dt>
<dd><p>
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.
</p></dd>
<dt><span class="term"><code class="option">+[no]all</code></span></dt>
<dd><p>
Set or clear all display flags.
</p></dd>
<dt><span class="term"><code class="option">+[no]answer</code></span></dt>
<dd><p>
Display [do not display] the answer section of a
reply. The default is to display it.
</p></dd>
<dt><span class="term"><code class="option">+[no]authority</code></span></dt>
<dd><p>
Display [do not display] the authority section of a
reply. The default is to display it.
</p></dd>
<dt><span class="term"><code class="option">+[no]besteffort</code></span></dt>
<dd><p>
Attempt to display the contents of messages which are
malformed. The default is to not display malformed
answers.
</p></dd>
<dt><span class="term"><code class="option">+bufsize=B</code></span></dt>
<dd><p>
Set the UDP message buffer size advertised using EDNS0
to <em class="parameter"><code>B</code></em> 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.
</p></dd>
<dt><span class="term"><code class="option">+[no]cdflag</code></span></dt>
<dd><p>
Set [do not set] the CD (checking disabled) bit in
the query. This requests the server to not perform
DNSSEC validation of responses.
</p></dd>
<dt><span class="term"><code class="option">+[no]cl</code></span></dt>
<dd><p>
Display [do not display] the CLASS when printing the
record.
</p></dd>
<dt><span class="term"><code class="option">+[no]cmd</code></span></dt>
<dd><p>
Toggles the printing of the initial comment in the
output identifying the version of <span><strong class="command">dig</strong></span>
and the query options that have been applied. This
comment is printed by default.
</p></dd>
<dt><span class="term"><code class="option">+[no]comments</code></span></dt>
<dd><p>
Toggle the display of comment lines in the output.
The default is to print comments.
</p></dd>
<dt><span class="term"><code class="option">+[no]crypto</code></span></dt>
<dd><p>
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 ]".
</p></dd>
<dt><span class="term"><code class="option">+[no]defname</code></span></dt>
<dd><p>
Deprecated, treated as a synonym for
<em class="parameter"><code>+[no]search</code></em>
</p></dd>
<dt><span class="term"><code class="option">+[no]dnssec</code></span></dt>
<dd><p>
Requests DNSSEC records be sent by setting the DNSSEC
OK bit (DO) in the OPT record in the additional section
of the query.
</p></dd>
<dt><span class="term"><code class="option">+domain=somename</code></span></dt>
<dd><p>
Set the search list to contain the single domain
<em class="parameter"><code>somename</code></em>, as if specified in
a <span><strong class="command">domain</strong></span> directive in
<code class="filename">/etc/resolv.conf</code>, and enable
search list processing as if the
<em class="parameter"><code>+search</code></em> option were given.
</p></dd>
<dt><span class="term"><code class="option">+dscp=value</code></span></dt>
<dd><p>
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 explictly set.
</p></dd>
<dt><span class="term"><code class="option">+[no]edns[=#]</code></span></dt>
<dd><p>
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. <code class="option">+noedns</code>
clears the remembered EDNS version. EDNS is set to
0 by default.
</p></dd>
<dt><span class="term"><code class="option">+[no]ednsopt[=code[:value]]</code></span></dt>
<dd><p>
Specify EDNS option with code point <code class="option">code</code>
and optionally payload of <code class="option">value</code> as a
hexadecimal string. <code class="option">+noednsopt</code>
clears the EDNS options to be sent.
</p></dd>
<dt><span class="term"><code class="option">+[no]expire</code></span></dt>
<dd><p>
Send an EDNS Expire option.
</p></dd>
<dt><span class="term"><code class="option">+[no]fail</code></span></dt>
<dd><p>
Do not try the next server if you receive a SERVFAIL.
The default is to not try the next server which is
the reverse of normal stub resolver behavior.
</p></dd>
<dt><span class="term"><code class="option">+[no]identify</code></span></dt>
<dd><p>
Show [or do not show] the IP address and port number
that supplied the answer when the
<em class="parameter"><code>+short</code></em> option is enabled. If
short form answers are requested, the default is not
to show the source address and port number of the
server that provided the answer.
</p></dd>
<dt><span class="term"><code class="option">+[no]ignore</code></span></dt>
<dd><p>
Ignore truncation in UDP responses instead of retrying
with TCP. By default, TCP retries are performed.
</p></dd>
<dt><span class="term"><code class="option">+[no]keepopen</code></span></dt>
<dd><p>
Keep the TCP socket open between queries and reuse
it rather than creating a new TCP socket for each
lookup. The default is <code class="option">+nokeepopen</code>.
</p></dd>
<dt><span class="term"><code class="option">+[no]multiline</code></span></dt>
<dd><p>
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 <span><strong class="command">dig</strong></span>
output.
</p></dd>
<dt><span class="term"><code class="option">+ndots=D</code></span></dt>
<dd><p>
Set the number of dots that have to appear in
<em class="parameter"><code>name</code></em> to <em class="parameter"><code>D</code></em>
for it to be considered absolute. The default value
is that defined using the ndots statement in
<code class="filename">/etc/resolv.conf</code>, or 1 if no
ndots statement is present. Names with fewer dots
are interpreted as relative names and will be searched
for in the domains listed in the <code class="option">search</code>
or <code class="option">domain</code> directive in
<code class="filename">/etc/resolv.conf</code>.
</p></dd>
<dt><span class="term"><code class="option">+[no]nsid</code></span></dt>
<dd><p>
Include an EDNS name server ID request when sending
a query.
</p></dd>
<dt><span class="term"><code class="option">+[no]nssearch</code></span></dt>
<dd><p>
When this option is set, <span><strong class="command">dig</strong></span>
attempts to find the authoritative name servers for
the zone containing the name being looked up and
display the SOA record that each name server has for
the zone.
</p></dd>
<dt><span class="term"><code class="option">+[no]onesoa</code></span></dt>
<dd><p>
Print only one (starting) SOA record when performing
an AXFR. The default is to print both the starting
and ending SOA records.
</p></dd>
<dt><span class="term"><code class="option">+[no]qr</code></span></dt>
<dd><p>
Print [do not print] the query as it is sent. By
default, the query is not printed.
</p></dd>
<dt><span class="term"><code class="option">+[no]question</code></span></dt>
<dd><p>
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.
</p></dd>
<dt><span class="term"><code class="option">+[no]recurse</code></span></dt>
<dd><p>
Toggle the setting of the RD (recursion desired) bit
in the query. This bit is set by default, which means
<span><strong class="command">dig</strong></span> normally sends recursive
queries. Recursion is automatically disabled when
the <em class="parameter"><code>+nssearch</code></em> or
<em class="parameter"><code>+trace</code></em> query options are used.
</p></dd>
<dt><span class="term"><code class="option">+retry=T</code></span></dt>
<dd><p>
Sets the number of times to retry UDP queries to
server to <em class="parameter"><code>T</code></em> instead of the
default, 2. Unlike <em class="parameter"><code>+tries</code></em>,
this does not include the initial query.
</p></dd>
<dt><span class="term"><code class="option">+[no]rrcomments</code></span></dt>
<dd><p>
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.
</p></dd>
<dt><span class="term"><code class="option">+[no]search</code></span></dt>
<dd><p>
Use [do not use] the search list defined by the
searchlist or domain directive in
<code class="filename">resolv.conf</code> (if any). The search
list is not used by default.
</p></dd>
<dt><span class="term"><code class="option">+[no]short</code></span></dt>
<dd><p>
Provide a terse answer. The default is to print the
answer in a verbose form.
</p></dd>
<dt><span class="term"><code class="option">+[no]showsearch</code></span></dt>
<dd><p>
Perform [do not perform] a search showing intermediate
results.
</p></dd>
<dt><span class="term"><code class="option">+[no]sigchase</code></span></dt>
<dd><p>
Chase DNSSEC signature chains. Requires dig be
compiled with -DDIG_SIGCHASE.
</p></dd>
<dt><span class="term"><code class="option">+[no]sit[<span class="optional">=####</span>]</code></span></dt>
<dd><p>
Send a Source Identity Token EDNS option, with optional
value. Replaying a SIT from a previous response will
allow the server to identify a previous client. The
default is <code class="option">+nosit</code>. Currently using
experimental value 65001 for the option code.
</p></dd>
<dt><span class="term"><code class="option">+split=W</code></span></dt>
<dd><p>
Split long hex- or base64-formatted fields in resource
records into chunks of <em class="parameter"><code>W</code></em>
characters (where <em class="parameter"><code>W</code></em> is rounded
up to the nearest multiple of 4).
<em class="parameter"><code>+nosplit</code></em> or
<em class="parameter"><code>+split=0</code></em> causes fields not to
be split at all. The default is 56 characters, or
44 characters when multiline mode is active.
</p></dd>
<dt><span class="term"><code class="option">+[no]stats</code></span></dt>
<dd><p>
This query option toggles the printing of statistics:
when the query was made, the size of the reply and
so on. The default behavior is to print the query
statistics.
</p></dd>
<dt><span class="term"><code class="option">+[no]subnet=addr/prefix</code></span></dt>
<dd><p>
Send an EDNS Client Subnet option with the speciifed
IP address or network prefix.
</p></dd>
<dt><span class="term"><code class="option">+[no]tcp</code></span></dt>
<dd><p>
Use [do not use] TCP when querying name servers. The
default behavior is to use UDP unless an
<code class="literal">ixfr=N</code> query is requested, in which
case the default is TCP. AXFR queries always use
TCP.
</p></dd>
<dt><span class="term"><code class="option">+time=T</code></span></dt>
<dd><p>
Sets the timeout for a query to
<em class="parameter"><code>T</code></em> seconds. The default
timeout is 5 seconds.
An attempt to set <em class="parameter"><code>T</code></em> to less
than 1 will result
in a query timeout of 1 second being applied.
</p></dd>
<dt><span class="term"><code class="option">+[no]topdown</code></span></dt>
<dd><p>
When chasing DNSSEC signature chains perform a top-down
validation. Requires dig be compiled with -DDIG_SIGCHASE.
</p></dd>
<dt><span class="term"><code class="option">+[no]trace</code></span></dt>
<dd>
<p>
Toggle tracing of the delegation path from the root
name servers for the name being looked up. Tracing
is disabled by default. When tracing is enabled,
<span><strong class="command">dig</strong></span> makes iterative queries to
resolve the name being looked up. It will follow
referrals from the root servers, showing the answer
from each server that was used to resolve the lookup.
</p>
<p>
<span><strong class="command">+dnssec</strong></span> is also set when +trace
is set to better emulate the default queries from a
nameserver.
</p>
</dd>
<dt><span class="term"><code class="option">+tries=T</code></span></dt>
<dd><p>
Sets the number of times to try UDP queries to server
to <em class="parameter"><code>T</code></em> instead of the default,
3. If <em class="parameter"><code>T</code></em> is less than or equal
to zero, the number of tries is silently rounded up
to 1.
</p></dd>
<dt><span class="term"><code class="option">+trusted-key=####</code></span></dt>
<dd>
<p>
Specifies a file containing trusted keys to be used
with <code class="option">+sigchase</code>. Each DNSKEY record
must be on its own line.
</p>
<p>
If not specified, <span><strong class="command">dig</strong></span> will look
for <code class="filename">/etc/trusted-key.key</code> then
<code class="filename">trusted-key.key</code> in the current
directory.
</p>
<p>
Requires dig be compiled with -DDIG_SIGCHASE.
</p>
</dd>
<dt><span class="term"><code class="option">+[no]ttlid</code></span></dt>
<dd><p>
Display [do not display] the TTL when printing the
record.
</p></dd>
<dt><span class="term"><code class="option">+[no]ttlunits</code></span></dt>
<dd><p>
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.
</p></dd>
<dt><span class="term"><code class="option">+[no]vc</code></span></dt>
<dd><p>
Use [do not use] TCP when querying name servers. This
alternate syntax to <em class="parameter"><code>+[no]tcp</code></em>
is provided for backwards compatibility. The "vc"
stands for "virtual circuit".
</p></dd>
</dl></div>
<p>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545276"></a><h2>MULTIPLE QUERIES</h2>
<p>
The BIND 9 implementation of <span><strong class="command">dig </strong></span>
supports
specifying multiple queries on the command line (in addition to
supporting the <code class="option">-f</code> batch file option). Each of those
queries can be supplied with its own set of flags, options and query
options.
</p>
<p>
In this case, each <em class="parameter"><code>query</code></em> argument
represent an
individual query in the command-line syntax described above. Each
consists of any of the standard options and flags, the name to be
looked up, an optional query type and class and any query options that
should be applied to that query.
</p>
<p>
A global set of query options, which should be applied to all queries,
can also be supplied. These global query options must precede the
first tuple of name, class, type, options, flags, and query options
supplied on the command line. Any global query options (except
the <code class="option">+[no]cmd</code> option) can be
overridden by a query-specific set of query options. For example:
</p>
<pre class="programlisting">
dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</pre>
<p>
shows how <span><strong class="command">dig</strong></span> could be used from the
command line
to make three lookups: an ANY query for <code class="literal">www.isc.org</code>, a
reverse lookup of 127.0.0.1 and a query for the NS records of
<code class="literal">isc.org</code>.
A global query option of <em class="parameter"><code>+qr</code></em> is
applied, so
that <span><strong class="command">dig</strong></span> shows the initial query it made
for each
lookup. The final query has a local query option of
<em class="parameter"><code>+noqr</code></em> which means that <span><strong class="command">dig</strong></span>
will not print the initial query when it looks up the NS records for
<code class="literal">isc.org</code>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545338"></a><h2>IDN SUPPORT</h2>
<p>
If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
<span><strong class="command">dig</strong></span> appropriately converts character encoding of
domain name before sending a request to DNS server or displaying a
reply from the server.
If you'd like to turn off the IDN support for some reason, defines
the <code class="envar">IDN_DISABLE</code> environment variable.
The IDN support is disabled if the variable is set when
<span><strong class="command">dig</strong></span> runs.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545361"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
<p><code class="filename">${HOME}/.digrc</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545378"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<em class="citetitle">RFC1035</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545415"></a><h2>BUGS</h2>
<p>
There are probably too many query options.
</p>
</div>
</div></body>
</html>