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