dig.html revision d8620c7234281056fdfd2ee40cf16636b8281092
9fbbfb5757a1e3e86d7dea62c4e63ffc2303ca2bAutomatic Updater - Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC")
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews - Copyright (C) 2000-2003 Internet Software Consortium.
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater - Permission to use, copy, modify, and/or distribute this software for any
c40265eba0c99708887d68e67901924065ba2514Brian Wellington - purpose with or without fee is hereby granted, provided that the above
c40265eba0c99708887d68e67901924065ba2514Brian Wellington - copyright notice and this permission notice appear in all copies.
af5073d03288a53b646ec3b807ac25ced64d7879Mark Andrews - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
af5073d03288a53b646ec3b807ac25ced64d7879Mark Andrews - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
af5073d03288a53b646ec3b807ac25ced64d7879Mark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
af5073d03288a53b646ec3b807ac25ced64d7879Mark Andrews - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
af5073d03288a53b646ec3b807ac25ced64d7879Mark Andrews - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
af5073d03288a53b646ec3b807ac25ced64d7879Mark Andrews - PERFORMANCE OF THIS SOFTWARE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<a name="man.dig"></a><div class="titlepage"></div>
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater<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">-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>
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater<div class="cmdsynopsis"><p><code class="command">dig</code> [<code class="option">-h</code>]</p></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span><strong class="command">dig</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (domain information groper) is a flexible tool
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein for interrogating DNS name servers. It performs DNS lookups and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein displays the answers that are returned from the name server(s) that
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein were queried. Most DNS administrators use <span><strong class="command">dig</strong></span> to
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews troubleshoot DNS problems because of its flexibility, ease of use and
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews clarity of output. Other lookup tools tend to have less functionality
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews than <span><strong class="command">dig</strong></span>.
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews Although <span><strong class="command">dig</strong></span> is normally used with
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews command-line
f6da30bb5447c23d880b09f601441e70c5313557Mark Andrews arguments, it also has a batch mode of operation for reading lookup
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews requests from a file. A brief summary of its command-line arguments
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews and options is printed when the <code class="option">-h</code> option is given.
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews Unlike earlier versions, the BIND 9 implementation of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">dig</strong></span> allows multiple lookups to be issued
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Unless it is told to query a specific name server,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">dig</strong></span> will try each of the servers listed in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">/etc/resolv.conf</code>. If no usable server addreses
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews are found, <span><strong class="command">dig</strong></span> will send the query to the local
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When no command line arguments or options are given,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">dig</strong></span> will perform an NS query for "." (the root).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein It is possible to set per-user defaults for <span><strong class="command">dig</strong></span> via
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">${HOME}/.digrc</code>. This file is read and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein any options in it
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are applied before the command line arguments.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The IN and CH class names overlap with the IN and CH top level
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein domains names. Either use the <code class="option">-t</code> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="option">-c</code> options to specify the type and class,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein use the <code class="option">-q</code> the specify the domain name, or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein use "IN." and "CH." when looking up these top level domains.
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews A typical invocation of <span><strong class="command">dig</strong></span> looks like:
a057e8e33baa5fa369be28a9680585200ce3ff73Mark Andrews<pre class="programlisting"> dig @server name type </pre>
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews<dt><span class="term"><code class="constant">server</code></span></dt>
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews is the name or IP address of the name server to query. This
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews can be an IPv4 address in dotted-decimal notation or an IPv6
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews address in colon-delimited notation. When the supplied
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews <em class="parameter"><code>server</code></em> argument is a hostname,
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews <span><strong class="command">dig</strong></span> resolves that name before querying
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews that name server.
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews If no <em class="parameter"><code>server</code></em> argument is
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews provided, <span><strong class="command">dig</strong></span> consults
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews <code class="filename">/etc/resolv.conf</code>; if an
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews address is found there, it queries the name server at
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews that address. If either of the <code class="option">-4</code> or
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews <code class="option">-6</code> options are in use, then
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews only addresses for the corresponding transport
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews will be tried. If no usable addresses are found,
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews <span><strong class="command">dig</strong></span> will send the query to the
a057e8e33baa5fa369be28a9680585200ce3ff73Mark Andrews local host. The reply from the name server that
a057e8e33baa5fa369be28a9680585200ce3ff73Mark Andrews responds is displayed.
a057e8e33baa5fa369be28a9680585200ce3ff73Mark Andrews<dt><span class="term"><code class="constant">name</code></span></dt>
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews is the name of the resource record that is to be looked up.
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews<dt><span class="term"><code class="constant">type</code></span></dt>
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews indicates what type of query is required —
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews ANY, A, MX, SIG, etc.
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews <em class="parameter"><code>type</code></em> can be any valid query
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews <em class="parameter"><code>type</code></em> argument is supplied,
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews <span><strong class="command">dig</strong></span> will perform a lookup for an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <code class="option">-b</code> option sets the source IP address of the query
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to <em class="parameter"><code>address</code></em>. This must be a valid
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews one of the host's network interfaces or "0.0.0.0" or "::". An optional
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews may be specified by appending "#<port>"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The default query class (IN for internet) is overridden by the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="option">-c</code> option. <em class="parameter"><code>class</code></em> is
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews class, such as HS for Hesiod records or CH for Chaosnet records.
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews The <code class="option">-f</code> option makes <span><strong class="command">dig </strong></span>
3a3705ef7747327df182bf8d009333d2472253d5Mark Andrews in batch mode by reading a list of lookup requests to process from the
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews file <em class="parameter"><code>filename</code></em>. The file contains a
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews queries, one per line. Each entry in the file should be organized in
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews the same way they would be presented as queries to
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews <span><strong class="command">dig</strong></span> using the command-line interface.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <code class="option">-m</code> option enables memory usage debugging.
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews If a non-standard port number is to be queried, the
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews <code class="option">-p</code> option is used. <em class="parameter"><code>port#</code></em> is
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews the port number that <span><strong class="command">dig</strong></span> will send its
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein instead of the standard DNS port number 53. This option would be used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to test a name server that has been configured to listen for queries
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on a non-standard port number.
f7b41fd9291b8f4dba27e2b57e1d93f0913a4f1dMark Andrews The <code class="option">-4</code> option forces <span><strong class="command">dig</strong></span>
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews use IPv4 query transport. The <code class="option">-6</code> option forces
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">dig</strong></span> to only use IPv6 query transport.
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater The <code class="option">-t</code> option sets the query type to
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater <em class="parameter"><code>type</code></em>. It can be any valid query type
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater supported in BIND 9. The default query type is "A", unless the
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater <code class="option">-x</code> option is supplied to indicate a reverse lookup.
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater A zone transfer can be requested by specifying a type of AXFR. When
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews an incremental zone transfer (IXFR) is required,
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews <em class="parameter"><code>type</code></em> is set to <code class="literal">ixfr=N</code>.
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews The incremental zone transfer will contain the changes made to the zone
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews since the serial number in the zone's SOA record was
285254345ce5ab270848f8c11f7be146793f1e00Mark Andrews The <code class="option">-q</code> option sets the query name to
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews <em class="parameter"><code>name</code></em>. This useful do distinguish the
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews <em class="parameter"><code>name</code></em> from other arguments.
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews Reverse lookups — mapping addresses to names — are simplified by the
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews <code class="option">-x</code> option. <em class="parameter"><code>addr</code></em> is
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews address in dotted-decimal notation, or a colon-delimited IPv6 address.
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews When this option is used, there is no need to provide the
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews <em class="parameter"><code>name</code></em>, <em class="parameter"><code>class</code></em> and
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews <em class="parameter"><code>type</code></em> arguments. <span><strong class="command">dig</strong></span>
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews automatically performs a lookup for a name like
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews <code class="literal">11.12.13.10.in-addr.arpa</code> and sets the
3b4098640dd85040270f39b9a5ee5e22de99d3d6Mark Andrews query type and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein class to PTR and IN respectively. By default, IPv6 addresses are
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein looked up using nibble format under the IP6.ARPA domain.
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews To use the older RFC1886 method using the IP6.INT domain
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein specify the <code class="option">-i</code> option. Bit string labels (RFC2874)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein are now experimental and are not attempted.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To sign the DNS queries sent by <span><strong class="command">dig</strong></span> and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein responses using transaction signatures (TSIG), specify a TSIG key file
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein using the <code class="option">-k</code> option. You can also specify the TSIG
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein key itself on the command line using the <code class="option">-y</code> option;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="parameter"><code>hmac</code></em> is the type of the TSIG, default HMAC-MD5,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="parameter"><code>name</code></em> is the name of the TSIG key and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="parameter"><code>key</code></em> is the actual key. The key is a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein encoded string, typically generated by
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Caution should be taken when using the <code class="option">-y</code> option on
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein multi-user systems as the key can be visible in the output from
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or in the shell's history file. When
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein using TSIG authentication with <span><strong class="command">dig</strong></span>, the name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein server that is queried needs to know the key and algorithm that is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein being used. In BIND, this is done by providing appropriate
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">key</strong></span> and <span><strong class="command">server</strong></span> statements in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span><strong class="command">dig</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein provides a number of query options which affect
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the way in which lookups are made and the results displayed. Some of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein these set or reset flag bits in the query header, some determine which
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein sections of the answer get printed, and others determine the timeout
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein and retry strategies.
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater Each query option is identified by a keyword preceded by a plus sign
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (<code class="literal">+</code>). Some keywords set or reset an
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein option. These may be preceded
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein by the string <code class="literal">no</code> to negate the meaning of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein that keyword. Other
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein keywords assign values to options like the timeout interval. They
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein have the form <code class="option">+keyword=value</code>.
e2e4d321999340802f77adaacd19c797d04b4b95Automatic Updater The query options are:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><code class="option">+[no]tcp</code></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Use [do not use] TCP when querying name servers. The default
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein behavior is to use UDP unless an AXFR or IXFR query is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein which case a TCP connection is used.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term"><code class="option">+[no]vc</code></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Use [do not use] TCP when querying name servers. This alternate
<em class="parameter"><code>name</code></em> to <em class="parameter"><code>D</code></em> for it to be