4.4BSD/usr/share/man/cat1/dig.0
DIG(1) BSD Reference Manual DIG(1)
NNAAMMEE
dig - send domain name query packets to name servers
SSYYNNOOPPSSIISS
ddiigg [_@_s_e_r_v_e_r] _d_o_m_a_i_n [_<_q_u_e_r_y_-_t_y_p_e_>] [_<_q_u_e_r_y_-_c_l_a_s_s_>]
[_+_<_q_u_e_r_y_-_o_p_t_i_o_n_>] [_-_<_d_i_g_-_o_p_t_i_o_n_>] [_%_c_o_m_m_e_n_t]
DDEESSCCRRIIPPTTIIOONN
_D_i_g (domain information groper) is a flexible command line
tool which can be used to gather information from the
Domain Name System servers. _D_i_g has two modes: simple
interactive mode which makes a single query, and batch
which executes a query for each in a list of several query
lines. All query options are accessible from the command
line.
The usual simple use of _d_i_g will take the form:
dig @server domain query-type query-class
where:
_s_e_r_v_e_r may be either a domain name or a dot-notation
Internet address. If this optional field is omit
ted, _d_i_g will attempt to use the default name
server for your machine.
NNoottee:: If a domain name is specified, this will be
resolved using the domain name system resolver
(i.e., BIND). If your system does not support DNS,
you may _h_a_v_e to specify a dot-notation address.
Alternatively, if there is a server at your dis
posal somewhere, all that is required is that
/etc/resolv.conf be present and indicate where the
default name servers reside, so that _s_e_r_v_e_r
itself can be resolved. See _r_e_s_o_l_v_e_r(5) for infor
mation on /etc/resolv.conf. (WARNING: Changing
/etc/resolv.conf will affect the standard resolver
library and potentially several programs which use
it.) As an option, the user may set the environment
variable LOCALRES to name a file which is to be
used instead of /etc/resolv.conf (LOCALRES is spe
cific to the _d_i_g resolver and not referenced by
the standard resolver). If the LOCALRES variable is
not set or the file is not readable then
/etc/resolv.conf will be used.
_d_o_m_a_i_n is the domain name for which you are requesting
information. See OPTIONS [-x] for convenient way
to specify inverse address query.
4.4BSD August 30, 1990 1
DIG(1) BSD Reference Manual DIG(1)
_q_u_e_r_y_-_t_y_p_e
is the type of information (DNS query type) that
you are requesting. If omitted, the default is "a"
(T_A = address). The following types are recog
nized:
a T_A network address
any T_ANY all/any information about specified domain
mx T_MX mail exchanger for the domain
ns T_NS name servers
soa T_SOA zone of authority record
hinfo T_HINFO host information
axfr T_AXFR zone transfer
(must ask an authoritative server)
txt T_TXT arbitrary number of strings
(See RFC 1035 for the complete list.)
_q_u_e_r_y_-_c_l_a_s_s
is the network class requested in the query. If
omitted, the default is "in" (C_IN = Internet).
The following classes are recognized:
in C_IN Internet class domain
any C_ANY all/any class information
(See RFC 1035 for the complete list.)
NNoottee:: "Any" can be used to specify a class and/or a
type of query. _D_i_g will parse the first occurrence
of "any" to mean query-type = T_ANY. To specify
query-class = C_ANY you must either specify "any"
twice, or set query-class using "-c" option (see
below).
OOTTHHEERR OOPPTTIIOONNSS
%ignored-comment
"%" is used to included an argument that is simply
not parsed. This may be useful if running _d_i_g in
batch mode. Instead of resolving every @server-
domain-name in a list of queries, you can avoid the
overhead of doing so, and still have the domain
name on the command line as a reference. Example:
dig @128.9.0.32 %venera.isi.edu mx
isi.edu
-<dig option>
"-" is used to specify an option which effects the
operation of _d_i_g. The following options are
4.4BSD August 30, 1990 2
DIG(1) BSD Reference Manual DIG(1)
currently available (although not guaranteed to be
useful):
-x _d_o_t_-_n_o_t_a_t_i_o_n_-_a_d_d_r_e_s_s
Convenient form to specify inverse address
mapping. Instead of "dig 32.0.9.128.in-
addr.arpa" one can simply "dig -x
128.9.0.32".
-f _f_i_l_e
File for _d_i_g batch mode. The file contains a
list of query specifications (_d_i_g command
lines) which are to be executed succes
sively. Lines beginning with ';', '#', or
'\n' are ignored. Other options may still
appear on command line, and will be in
effect for each batch query.
-T _t_i_m_e
Time in seconds between start of successive
queries when running in batch mode. Can be
used to keep two or more batch _d_i_g commands
running roughly in sync. Default is zero.
-p _p_o_r_t
Port number. Query a name server listening
to a non-standard port number. Default is
53.
-P[_p_i_n_g_-_s_t_r_i_n_g]
After query returns, execute a _p_i_n_g(8) com
mand for response time comparison. This
rather unelegantly makes a call to the
shell. The last three lines of statistics is
printed for the command:
ping -s server_name 56 3
If the optional "ping string" is present, it
replaces "ping -s" in the shell command.
-t _q_u_e_r_y_-_t_y_p_e
Specify type of query. May specify either an
integer value to be included in the type
field or use the abbreviated mnemonic as
discussed above (i.e., mx = T_MX).
-c _q_u_e_r_y_-_c_l_a_s_s
Specify class of query. May specify either
an integer value to be included in the class
field or use the abbreviated mnemonic as
4.4BSD August 30, 1990 3
DIG(1) BSD Reference Manual DIG(1)
discussed above (i.e., in = C_IN).
-envsav
This flag specifies that the _d_i_g environment
(defaults, print options, etc.), after all
of the arguments are parsed, should be saved
to a file to become the default environment.
Useful if you do not like the standard set
of defaults and do not desire to include a
large number of options each time _d_i_g is
used. The environment consists of resolver
state variable flags, timeout, and retries
as well as the flags detailing _d_i_g output
(see below). If the shell environment vari
able LOCALDEF is set to the name of a file,
this is where the default _d_i_g environment is
saved. If not, the file "DiG.env" is created
in the current working directory.
NNoottee:: LOCALDEF is specific to the _d_i_g
resolver, and will not affect operation of
the standard resolver library.
Each time _d_i_g is executed, it looks for
"./DiG.env" or the file specified by the
shell environment variable LOCALDEF. If such
file exists and is readable, then the envi
ronment is restored from this file before
any arguments are parsed.
-envset
This flag only affects batch query runs.
When "-envset" is specified on a line in a
_d_i_g batch file, the _d_i_g environment after
the arguments are parsed, becomes the
default environment for the duration of the
batch file, or until the next line which
specifies "-envset".
-[no]stick
This flag only affects batch query runs. It
specifies that the _d_i_g environment (as read
initially or set by "-envset" switch) is to
be restored before each query (line) in a
_d_i_g batch file. The default "-nostick"
means that the _d_i_g environment does not
stick, hence options specified on a single
line in a _d_i_g batch file will remain in
effect for subsequent lines (i.e. they are
not restored to the "sticky" default).
4.4BSD August 30, 1990 4
DIG(1) BSD Reference Manual DIG(1)
+<query option>
"+" is used to specify an option to be changed in
the query packet or to change _d_i_g output specifics.
Many of these are the same parameters accepted by
_n_s_l_o_o_k_u_p(1). If an option requires a parameter,
the form is as follows:
+keyword[=value]
Most keywords can be abbreviated. Parsing of the
"+" options is very simplistic -- a value must
not be separated from its keyword by white space.
The following keywords are currently available:
Keyword Abbrev. Meaning [default]
[no]debug (deb) turn on/off debugging mode [deb]
[no]d2 turn on/off extra debugging mode [nod2]
[no]recurse (rec) use/don't use recursive lookup [rec]
retry=# (ret) set number of retries to # [4]
time=# (ti) set timeout length to # seconds [4]
[no]ko keep open option (implies vc) [noko]
[no]vc use/don't use virtual circuit [novc]
[no]defname (def) use/don't use default domain name [def]
[no]search (sea) use/don't use domain search list [sea]
domain=NAME (do) set default domain name to NAME
[no]ignore (i) ignore/don't ignore trunc. errors [noi]
[no]primary (pr) use/don't use primary server [nopr]
[no]aaonly (aa) authoritative query only flag [noaa]
[no]sort (sor) sort resource records [nosor]
[no]cmd echo parsed arguments [cmd]
[no]stats (st) print query statistics [st]
[no]Header (H) print basic header [H]
[no]header (he) print header flags [he]
[no]ttlid (tt) print TTLs [tt]
[no]cl print class info [nocl]
[no]qr print outgoing query [noqr]
[no]reply (rep) print reply [rep]
[no]ques (qu) print question section [qu]
[no]answer (an) print answer section [an]
[no]author (au) print authoritative section [au]
[no]addit (ad) print additional section [ad]
pfdef set to default print flags
pfmin set to minimal default print flags
pfset=# set print flags to #
(# can be hex/octal/decimal)
pfand=# bitwise and print flags with #
pfor=# bitwise or print flags with #
The retry and time options affect the retransmis
sion strategy used by resolver library when sending
4.4BSD August 30, 1990 5
DIG(1) BSD Reference Manual DIG(1)
datagram queries. The algorithm is as follows:
for i = 0 to retry - 1
for j = 1 to num_servers
send_query
wait((time * (2**i)) / num_servers)
end
end
(Note: _d_i_g always uses a value of 1 for
num_servers.)
DDEETTAAIILLSS
_D_i_g once required a slightly modified version of the BIND
_r_e_s_o_l_v_e_r(3) library. BIND's resolver has (as of BIND 4.9)
been augmented to work properly with _D_i_g. Essentially,
_D_i_g is a straight-forward (albeit not pretty) effort of
parsing arguments and setting appropriate parameters. _D_i_g
uses resolver routines res_init(), res_mkquery(),
res_send() as well as accessing _res structure.
FFIILLEESS
/etc/resolv.conf initial domain name and name server
addresses
EENNVVIIRROONNMMEENNTT
LOCALRES file to use in place of /etc/resolv.conf
LOCALDEF default environment file
AAUUTTHHOORR
Steve Hotz hotz@isi.edu
AACCKKNNOOWWLLEEDDGGMMEENNTTSS
_D_i_g uses functions from _n_s_l_o_o_k_u_p(1) authored by Andrew
Cherenson.
BBUUGGSS
_D_i_g has a serious case of "creeping featurism" -- the
result of considering several potential uses during it's
development. It would probably benefit from a rigorous
diet. Similarly, the print flags and granularity of the
items they specify make evident their rather ad hoc gene
sis.
_D_i_g does not consistently exit nicely (with appropriate
status) when a problem occurs somewhere in the resolver
(NOTE: most of the common exit cases are handled). This
is particularly annoying when running in batch mode. If
it exits abnormally (and is not caught), the entire batch
aborts; when such an event is trapped, _d_i_g simply contin
ues with the next query.
4.4BSD August 30, 1990 6
DIG(1) BSD Reference Manual DIG(1)
SSEEEE AALLSSOO
named(8), resolver(3), resolver(5), nslookup(1)
4.4BSD August 30, 1990 7