2 - Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
3 - Copyright (C) 2000-2003 Internet Software Consortium.
5 - Permission to use, copy, modify, and distribute this software for any
6 - purpose with or without fee is hereby granted, provided that the above
7 - copyright notice and this permission notice appear in all copies.
9 - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10 - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11 - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12 - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13 - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14 - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15 - PERFORMANCE OF THIS SOFTWARE.
17 <!-- $Id: man.dig.html,v 1.2.2.65 2008/10/18 01:29:59 tbox Exp $ -->
20 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
22 <meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
23 <link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
24 <link rel="up" href="Bv9ARM.ch10.html" title="Manual pages">
25 <link rel="prev" href="Bv9ARM.ch10.html" title="Manual pages">
26 <link rel="next" href="man.host.html" title="host">
28 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
29 <div class="navheader">
30 <table width="100%" summary="Navigation header">
31 <tr><th colspan="3" align="center">dig</th></tr>
33 <td width="20%" align="left">
34 <a accesskey="p" href="Bv9ARM.ch10.html">Prev</a> </td>
35 <th width="60%" align="center">Manual pages</th>
36 <td width="20%" align="right"> <a accesskey="n" href="man.host.html">Next</a>
42 <div class="refentry" lang="en">
43 <a name="man.dig"></a><div class="titlepage"></div>
44 <div class="refnamediv">
46 <p>dig — DNS lookup utility</p>
48 <div class="refsynopsisdiv">
50 <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>
51 <div class="cmdsynopsis"><p><code class="command">dig</code> [<code class="option">-h</code>]</p></div>
52 <div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
54 <div class="refsect1" lang="en">
55 <a name="id2563849"></a><h2>DESCRIPTION</h2>
56 <p><span><strong class="command">dig</strong></span>
57 (domain information groper) is a flexible tool
58 for interrogating DNS name servers. It performs DNS lookups and
59 displays the answers that are returned from the name server(s) that
60 were queried. Most DNS administrators use <span><strong class="command">dig</strong></span> to
61 troubleshoot DNS problems because of its flexibility, ease of use and
62 clarity of output. Other lookup tools tend to have less functionality
63 than <span><strong class="command">dig</strong></span>.
66 Although <span><strong class="command">dig</strong></span> is normally used with
68 arguments, it also has a batch mode of operation for reading lookup
69 requests from a file. A brief summary of its command-line arguments
70 and options is printed when the <code class="option">-h</code> option is given.
71 Unlike earlier versions, the BIND 9 implementation of
72 <span><strong class="command">dig</strong></span> allows multiple lookups to be issued
77 Unless it is told to query a specific name server,
78 <span><strong class="command">dig</strong></span> will try each of the servers listed
80 <code class="filename">/etc/resolv.conf</code>.
83 When no command line arguments or options are given,
84 <span><strong class="command">dig</strong></span> will perform an NS query for "." (the root).
87 It is possible to set per-user defaults for <span><strong class="command">dig</strong></span> via
88 <code class="filename">${HOME}/.digrc</code>. This file is read and
90 are applied before the command line arguments.
93 The IN and CH class names overlap with the IN and CH top level
94 domains names. Either use the <code class="option">-t</code> and
95 <code class="option">-c</code> options to specify the type and class,
96 use the <code class="option">-q</code> the specify the domain name, or
97 use "IN." and "CH." when looking up these top level domains.
100 <div class="refsect1" lang="en">
101 <a name="id2563944"></a><h2>SIMPLE USAGE</h2>
103 A typical invocation of <span><strong class="command">dig</strong></span> looks like:
105 <pre class="programlisting"> dig @server name type </pre>
110 <div class="variablelist"><dl>
111 <dt><span class="term"><code class="constant">server</code></span></dt>
113 is the name or IP address of the name server to query. This can
115 address in dotted-decimal notation or an IPv6
116 address in colon-delimited notation. When the supplied
117 <em class="parameter"><code>server</code></em> argument is a
119 <span><strong class="command">dig</strong></span> resolves that name before
121 server. If no <em class="parameter"><code>server</code></em>
122 argument is provided,
123 <span><strong class="command">dig</strong></span> consults <code class="filename">/etc/resolv.conf</code>
124 and queries the name servers listed there. The reply from the
126 server that responds is displayed.
128 <dt><span class="term"><code class="constant">name</code></span></dt>
130 is the name of the resource record that is to be looked up.
132 <dt><span class="term"><code class="constant">type</code></span></dt>
134 indicates what type of query is required —
135 ANY, A, MX, SIG, etc.
136 <em class="parameter"><code>type</code></em> can be any valid query
138 <em class="parameter"><code>type</code></em> argument is supplied,
139 <span><strong class="command">dig</strong></span> will perform a lookup for an
146 <div class="refsect1" lang="en">
147 <a name="id2569789"></a><h2>OPTIONS</h2>
149 The <code class="option">-b</code> option sets the source IP address of the query
150 to <em class="parameter"><code>address</code></em>. This must be a valid
152 one of the host's network interfaces or "0.0.0.0" or "::". An optional
154 may be specified by appending "#<port>"
157 The default query class (IN for internet) is overridden by the
158 <code class="option">-c</code> option. <em class="parameter"><code>class</code></em> is
160 class, such as HS for Hesiod records or CH for Chaosnet records.
163 The <code class="option">-f</code> option makes <span><strong class="command">dig </strong></span>
165 in batch mode by reading a list of lookup requests to process from the
166 file <em class="parameter"><code>filename</code></em>. The file contains a
168 queries, one per line. Each entry in the file should be organized in
169 the same way they would be presented as queries to
170 <span><strong class="command">dig</strong></span> using the command-line interface.
173 The <code class="option">-m</code> option enables memory usage debugging.
177 If a non-standard port number is to be queried, the
178 <code class="option">-p</code> option is used. <em class="parameter"><code>port#</code></em> is
179 the port number that <span><strong class="command">dig</strong></span> will send its
181 instead of the standard DNS port number 53. This option would be used
182 to test a name server that has been configured to listen for queries
183 on a non-standard port number.
186 The <code class="option">-4</code> option forces <span><strong class="command">dig</strong></span>
188 use IPv4 query transport. The <code class="option">-6</code> option forces
189 <span><strong class="command">dig</strong></span> to only use IPv6 query transport.
192 The <code class="option">-t</code> option sets the query type to
193 <em class="parameter"><code>type</code></em>. It can be any valid query type
195 supported in BIND 9. The default query type is "A", unless the
196 <code class="option">-x</code> option is supplied to indicate a reverse lookup.
197 A zone transfer can be requested by specifying a type of AXFR. When
198 an incremental zone transfer (IXFR) is required,
199 <em class="parameter"><code>type</code></em> is set to <code class="literal">ixfr=N</code>.
200 The incremental zone transfer will contain the changes made to the zone
201 since the serial number in the zone's SOA record was
202 <em class="parameter"><code>N</code></em>.
205 The <code class="option">-q</code> option sets the query name to
206 <em class="parameter"><code>name</code></em>. This useful do distinguish the
207 <em class="parameter"><code>name</code></em> from other arguments.
210 Reverse lookups — mapping addresses to names — are simplified by the
211 <code class="option">-x</code> option. <em class="parameter"><code>addr</code></em> is
213 address in dotted-decimal notation, or a colon-delimited IPv6 address.
214 When this option is used, there is no need to provide the
215 <em class="parameter"><code>name</code></em>, <em class="parameter"><code>class</code></em> and
216 <em class="parameter"><code>type</code></em> arguments. <span><strong class="command">dig</strong></span>
217 automatically performs a lookup for a name like
218 <code class="literal">11.12.13.10.in-addr.arpa</code> and sets the
220 class to PTR and IN respectively. By default, IPv6 addresses are
221 looked up using nibble format under the IP6.ARPA domain.
222 To use the older RFC1886 method using the IP6.INT domain
223 specify the <code class="option">-i</code> option. Bit string labels (RFC2874)
224 are now experimental and are not attempted.
227 To sign the DNS queries sent by <span><strong class="command">dig</strong></span> and
229 responses using transaction signatures (TSIG), specify a TSIG key file
230 using the <code class="option">-k</code> option. You can also specify the TSIG
231 key itself on the command line using the <code class="option">-y</code> option;
232 <em class="parameter"><code>hmac</code></em> is the type of the TSIG, default HMAC-MD5,
233 <em class="parameter"><code>name</code></em> is the name of the TSIG key and
234 <em class="parameter"><code>key</code></em> is the actual key. The key is a
236 encoded string, typically generated by
237 <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>.
239 Caution should be taken when using the <code class="option">-y</code> option on
240 multi-user systems as the key can be visible in the output from
241 <span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span>
242 or in the shell's history file. When
243 using TSIG authentication with <span><strong class="command">dig</strong></span>, the name
244 server that is queried needs to know the key and algorithm that is
245 being used. In BIND, this is done by providing appropriate
246 <span><strong class="command">key</strong></span> and <span><strong class="command">server</strong></span> statements in
247 <code class="filename">named.conf</code>.
250 <div class="refsect1" lang="en">
251 <a name="id2624336"></a><h2>QUERY OPTIONS</h2>
252 <p><span><strong class="command">dig</strong></span>
253 provides a number of query options which affect
254 the way in which lookups are made and the results displayed. Some of
255 these set or reset flag bits in the query header, some determine which
256 sections of the answer get printed, and others determine the timeout
257 and retry strategies.
260 Each query option is identified by a keyword preceded by a plus sign
261 (<code class="literal">+</code>). Some keywords set or reset an
262 option. These may be preceded
263 by the string <code class="literal">no</code> to negate the meaning of
265 keywords assign values to options like the timeout interval. They
266 have the form <code class="option">+keyword=value</code>.
267 The query options are:
270 <div class="variablelist"><dl>
271 <dt><span class="term"><code class="option">+[no]tcp</code></span></dt>
273 Use [do not use] TCP when querying name servers. The default
274 behavior is to use UDP unless an AXFR or IXFR query is
276 which case a TCP connection is used.
278 <dt><span class="term"><code class="option">+[no]vc</code></span></dt>
280 Use [do not use] TCP when querying name servers. This alternate
281 syntax to <em class="parameter"><code>+[no]tcp</code></em> is
282 provided for backwards
283 compatibility. The "vc" stands for "virtual circuit".
285 <dt><span class="term"><code class="option">+[no]ignore</code></span></dt>
287 Ignore truncation in UDP responses instead of retrying with TCP.
289 default, TCP retries are performed.
291 <dt><span class="term"><code class="option">+domain=somename</code></span></dt>
293 Set the search list to contain the single domain
294 <em class="parameter"><code>somename</code></em>, as if specified in
296 <span><strong class="command">domain</strong></span> directive in
297 <code class="filename">/etc/resolv.conf</code>, and enable
299 processing as if the <em class="parameter"><code>+search</code></em>
302 <dt><span class="term"><code class="option">+[no]search</code></span></dt>
304 Use [do not use] the search list defined by the searchlist or
306 directive in <code class="filename">resolv.conf</code> (if
308 The search list is not used by default.
310 <dt><span class="term"><code class="option">+[no]showsearch</code></span></dt>
312 Perform [do not perform] a search showing intermediate
315 <dt><span class="term"><code class="option">+[no]defname</code></span></dt>
317 Deprecated, treated as a synonym for <em class="parameter"><code>+[no]search</code></em>
319 <dt><span class="term"><code class="option">+[no]aaonly</code></span></dt>
321 Sets the "aa" flag in the query.
323 <dt><span class="term"><code class="option">+[no]aaflag</code></span></dt>
325 A synonym for <em class="parameter"><code>+[no]aaonly</code></em>.
327 <dt><span class="term"><code class="option">+[no]adflag</code></span></dt>
329 Set [do not set] the AD (authentic data) bit in the query. The
331 currently has a standard meaning only in responses, not in
333 but the ability to set the bit in the query is provided for
336 <dt><span class="term"><code class="option">+[no]cdflag</code></span></dt>
338 Set [do not set] the CD (checking disabled) bit in the query.
340 requests the server to not perform DNSSEC validation of
343 <dt><span class="term"><code class="option">+[no]cl</code></span></dt>
345 Display [do not display] the CLASS when printing the record.
347 <dt><span class="term"><code class="option">+[no]ttlid</code></span></dt>
349 Display [do not display] the TTL when printing the record.
351 <dt><span class="term"><code class="option">+[no]recurse</code></span></dt>
353 Toggle the setting of the RD (recursion desired) bit in the
355 This bit is set by default, which means <span><strong class="command">dig</strong></span>
356 normally sends recursive queries. Recursion is automatically
358 when the <em class="parameter"><code>+nssearch</code></em> or
359 <em class="parameter"><code>+trace</code></em> query options are
362 <dt><span class="term"><code class="option">+[no]nssearch</code></span></dt>
364 When this option is set, <span><strong class="command">dig</strong></span>
366 authoritative name servers for the zone containing the name
368 looked up and display the SOA record that each name server has
372 <dt><span class="term"><code class="option">+[no]trace</code></span></dt>
374 Toggle tracing of the delegation path from the root name servers
376 the name being looked up. Tracing is disabled by default. When
377 tracing is enabled, <span><strong class="command">dig</strong></span> makes
379 resolve the name being looked up. It will follow referrals from
381 root servers, showing the answer from each server that was used
385 <dt><span class="term"><code class="option">+[no]cmd</code></span></dt>
387 Toggles the printing of the initial comment in the output
389 the version of <span><strong class="command">dig</strong></span> and the query
391 been applied. This comment is printed by default.
393 <dt><span class="term"><code class="option">+[no]short</code></span></dt>
395 Provide a terse answer. The default is to print the answer in a
398 <dt><span class="term"><code class="option">+[no]identify</code></span></dt>
400 Show [or do not show] the IP address and port number that
402 answer when the <em class="parameter"><code>+short</code></em> option
404 short form answers are requested, the default is not to show the
405 source address and port number of the server that provided the
408 <dt><span class="term"><code class="option">+[no]comments</code></span></dt>
410 Toggle the display of comment lines in the output. The default
414 <dt><span class="term"><code class="option">+[no]stats</code></span></dt>
416 This query option toggles the printing of statistics: when the
418 was made, the size of the reply and so on. The default
420 to print the query statistics.
422 <dt><span class="term"><code class="option">+[no]qr</code></span></dt>
424 Print [do not print] the query as it is sent.
425 By default, the query is not printed.
427 <dt><span class="term"><code class="option">+[no]question</code></span></dt>
429 Print [do not print] the question section of a query when an
431 returned. The default is to print the question section as a
434 <dt><span class="term"><code class="option">+[no]answer</code></span></dt>
436 Display [do not display] the answer section of a reply. The
440 <dt><span class="term"><code class="option">+[no]authority</code></span></dt>
442 Display [do not display] the authority section of a reply. The
443 default is to display it.
445 <dt><span class="term"><code class="option">+[no]additional</code></span></dt>
447 Display [do not display] the additional section of a reply.
448 The default is to display it.
450 <dt><span class="term"><code class="option">+[no]all</code></span></dt>
452 Set or clear all display flags.
454 <dt><span class="term"><code class="option">+time=T</code></span></dt>
457 Sets the timeout for a query to
458 <em class="parameter"><code>T</code></em> seconds. The default
459 timeout is 5 seconds.
460 An attempt to set <em class="parameter"><code>T</code></em> to less
462 in a query timeout of 1 second being applied.
464 <dt><span class="term"><code class="option">+tries=T</code></span></dt>
466 Sets the number of times to try UDP queries to server to
467 <em class="parameter"><code>T</code></em> instead of the default, 3.
469 <em class="parameter"><code>T</code></em> is less than or equal to
471 tries is silently rounded up to 1.
473 <dt><span class="term"><code class="option">+retry=T</code></span></dt>
475 Sets the number of times to retry UDP queries to server to
476 <em class="parameter"><code>T</code></em> instead of the default, 2.
478 <em class="parameter"><code>+tries</code></em>, this does not include
482 <dt><span class="term"><code class="option">+ndots=D</code></span></dt>
484 Set the number of dots that have to appear in
485 <em class="parameter"><code>name</code></em> to <em class="parameter"><code>D</code></em> for it to be
486 considered absolute. The default value is that defined using
488 ndots statement in <code class="filename">/etc/resolv.conf</code>, or 1 if no
489 ndots statement is present. Names with fewer dots are
491 relative names and will be searched for in the domains listed in
493 <code class="option">search</code> or <code class="option">domain</code> directive in
494 <code class="filename">/etc/resolv.conf</code>.
496 <dt><span class="term"><code class="option">+bufsize=B</code></span></dt>
498 Set the UDP message buffer size advertised using EDNS0 to
499 <em class="parameter"><code>B</code></em> bytes. The maximum and minimum sizes
500 of this buffer are 65535 and 0 respectively. Values outside
501 this range are rounded up or down appropriately.
502 Values other than zero will cause a EDNS query to be sent.
504 <dt><span class="term"><code class="option">+edns=#</code></span></dt>
506 Specify the EDNS version to query with. Valid values
507 are 0 to 255. Setting the EDNS version will cause a
508 EDNS query to be sent. <code class="option">+noedns</code> clears the
509 remembered EDNS version.
511 <dt><span class="term"><code class="option">+[no]multiline</code></span></dt>
513 Print records like the SOA records in a verbose multi-line
514 format with human-readable comments. The default is to print
515 each record on a single line, to facilitate machine parsing
516 of the <span><strong class="command">dig</strong></span> output.
518 <dt><span class="term"><code class="option">+[no]fail</code></span></dt>
520 Do not try the next server if you receive a SERVFAIL. The
522 to not try the next server which is the reverse of normal stub
526 <dt><span class="term"><code class="option">+[no]besteffort</code></span></dt>
528 Attempt to display the contents of messages which are malformed.
529 The default is to not display malformed answers.
531 <dt><span class="term"><code class="option">+[no]dnssec</code></span></dt>
533 Requests DNSSEC records be sent by setting the DNSSEC OK bit
535 in the OPT record in the additional section of the query.
537 <dt><span class="term"><code class="option">+[no]sigchase</code></span></dt>
539 Chase DNSSEC signature chains. Requires dig be compiled with
542 <dt><span class="term"><code class="option">+trusted-key=####</code></span></dt>
545 Specifies a file containing trusted keys to be used with
546 <code class="option">+sigchase</code>. Each DNSKEY record must be
550 If not specified <span><strong class="command">dig</strong></span> will look for
551 <code class="filename">/etc/trusted-key.key</code> then
552 <code class="filename">trusted-key.key</code> in the current directory.
555 Requires dig be compiled with -DDIG_SIGCHASE.
558 <dt><span class="term"><code class="option">+[no]topdown</code></span></dt>
560 When chasing DNSSEC signature chains perform a top-down
562 Requires dig be compiled with -DDIG_SIGCHASE.
569 <div class="refsect1" lang="en">
570 <a name="id2625254"></a><h2>MULTIPLE QUERIES</h2>
572 The BIND 9 implementation of <span><strong class="command">dig </strong></span>
574 specifying multiple queries on the command line (in addition to
575 supporting the <code class="option">-f</code> batch file option). Each of those
576 queries can be supplied with its own set of flags, options and query
580 In this case, each <em class="parameter"><code>query</code></em> argument
582 individual query in the command-line syntax described above. Each
583 consists of any of the standard options and flags, the name to be
584 looked up, an optional query type and class and any query options that
585 should be applied to that query.
588 A global set of query options, which should be applied to all queries,
589 can also be supplied. These global query options must precede the
590 first tuple of name, class, type, options, flags, and query options
591 supplied on the command line. Any global query options (except
592 the <code class="option">+[no]cmd</code> option) can be
593 overridden by a query-specific set of query options. For example:
595 <pre class="programlisting">
596 dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
599 shows how <span><strong class="command">dig</strong></span> could be used from the
601 to make three lookups: an ANY query for <code class="literal">www.isc.org</code>, a
602 reverse lookup of 127.0.0.1 and a query for the NS records of
603 <code class="literal">isc.org</code>.
605 A global query option of <em class="parameter"><code>+qr</code></em> is
607 that <span><strong class="command">dig</strong></span> shows the initial query it made
609 lookup. The final query has a local query option of
610 <em class="parameter"><code>+noqr</code></em> which means that <span><strong class="command">dig</strong></span>
611 will not print the initial query when it looks up the NS records for
612 <code class="literal">isc.org</code>.
615 <div class="refsect1" lang="en">
616 <a name="id2625408"></a><h2>IDN SUPPORT</h2>
618 If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized
619 domain name) support, it can accept and display non-ASCII domain names.
620 <span><strong class="command">dig</strong></span> appropriately converts character encoding of
621 domain name before sending a request to DNS server or displaying a
622 reply from the server.
623 If you'd like to turn off the IDN support for some reason, defines
624 the <code class="envar">IDN_DISABLE</code> environment variable.
625 The IDN support is disabled if the variable is set when
626 <span><strong class="command">dig</strong></span> runs.
629 <div class="refsect1" lang="en">
630 <a name="id2625436"></a><h2>FILES</h2>
631 <p><code class="filename">/etc/resolv.conf</code>
633 <p><code class="filename">${HOME}/.digrc</code>
636 <div class="refsect1" lang="en">
637 <a name="id2625458"></a><h2>SEE ALSO</h2>
638 <p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
639 <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
640 <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
641 <em class="citetitle">RFC1035</em>.
644 <div class="refsect1" lang="en">
645 <a name="id2625495"></a><h2>BUGS</h2>
647 There are probably too many query options.
651 <div class="navfooter">
653 <table width="100%" summary="Navigation footer">
655 <td width="40%" align="left">
656 <a accesskey="p" href="Bv9ARM.ch10.html">Prev</a> </td>
657 <td width="20%" align="center"><a accesskey="u" href="Bv9ARM.ch10.html">Up</a></td>
658 <td width="40%" align="right"> <a accesskey="n" href="man.host.html">Next</a>
662 <td width="40%" align="left" valign="top">Manual pages </td>
663 <td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td>
664 <td width="40%" align="right" valign="top"> host</td>