host(1)



NAME

     host - look up host names using domain server


SYNOPSIS

     host [-l] [-v] [-w] [-r] [-d] [-t querytype] [-a] host [ server ]


DESCRIPTION

     Host  looks  for  information  about  Internet  hosts.   It   gets   this
     information  from  a set of interconnected servers that are spread across
     the country.  By default, it  simply  converts  between  host  names  and
     Internet addresses.  However with the -t or -a options, it can be used to
     find all of the information about this host that  is  maintained  by  the
     domain server.

     The arguments can be either host names  or  host  numbers.   The  program
     first attempts to interpret them as host numbers.  If this fails, it will
     treat them as host names.   A  host  number  consists  of  first  decimal
     numbers separated by dots, e.g. 128.6.4.194 A host name consists of names
     separated by dots, e.g. topaz.rutgers.edu. Unless the name ends in a dot,
     the local domain is automatically tacked on the end.  Thus a Rutgers user
     can say "host topaz", and it will actually look  up  "topaz.rutgers.edu".
     If this fails, the name is tried unchanged (in this case, "topaz").  This
     same convention is used for mail and other network utilities.  The actual
     suffix  to  tack  on  the  end is obtained by looking at the results of a
     "hostname" call, and using everything starting at the  first  dot.   (See
     below for a description of how to customize the host name lookup.)

     The first argument is the host name you want to look up.  If  this  is  a
     number,  an  "inverse  query"  is done, i.e. the domain system looks in a
     separate set of databases used to convert numbers to names.

     The second argument is optional.  It allows you to specify  a  particular
     server  to query.  If you don't specify this argument, the default server
     (normally the local machine) is used.

     If a name is specified, you may see  output  of  three  different  kinds.
     Here is an example that shows all of them:
        % host sun4
        sun4.rutgers.edu is a nickname for ATHOS.RUTGERS.EDU
        ATHOS.RUTGERS.EDU has address 128.6.5.46
        ATHOS.RUTGERS.EDU has address 128.6.4.4
        ATHOS.RUTGERS.EDU mail is handled by ARAMIS.RUTGERS.EDU
     The user has typed the command "host sun4".   The  first  line  indicates
     that  the  name  "sun4.rutgers.edu" is actually a nickname.  The official
     host name is "ATHOS.RUTGERS.EDU'.  The next two lines show  the  address.
     If a system has more than one network interface, there will be a separate
     address for each.  The last line indicates  that  ATHOS.RUTGERS.EDU  does
     not  receive  its  own mail.  Mail for it is taken by ARAMIS.RUTGERS.EDU.
     There may be more than one such line, since some systems have  more  than
     one  other  system  that  will  handle mail for them.  Technically, every
     system that can receive mail is supposed to have an entry of  this  kind.
     If  the  system  receives  its  own  mail,  there  should be an entry the
     mentions the system itself, for example "XXX mail  is  handled  by  XXX".
     However many systems that receive their own mail do not bother to mention
     that fact.  If a system has a "mail is handled by" entry, but no address,
     this  indicates  that it is not really part of the Internet, but a system
     that is on the network will forward  mail  to  it.   Systems  on  Usenet,
     Bitnet, and a number of other networks have entries of this kind.

     There are a number of options that can be  used  before  the  host  name.
     Most  of  these  options  are  meaningful  only  to the staff who have to
     maintain the domain database.

     The option -w causes host to wait forever for a  response.   Normally  it
     will time out after around a minute.

     The option -v causes printout to be in a "verbose" format.  This  is  the
     official  domain  master file format, which is documented in the man page
     for "named".  Without this option, output still follows  this  format  in
     general  terms,  but some attempt is made to make it more intelligible to
     normal users.  Without -v, "a", "mx", and "cname" records are written out
     as  "has address", "mail is handled by", and "is a nickname for", and TTL
     and class fields are not shown.

     The option -r causes recursion to be turned off  in  the  request.   This
     means  that  the  name  server  will  return  only data it has in its own
     database.  It will not ask other servers for more information.

     The option -d turns on debugging.   Network  transactions  are  shown  in
     detail.

     The option -t allows you to specify a particular type of  information  to
     be  looked  up.   The  arguments are defined in the man page for "named".
     Currently supported types are a, ns, md, mf,  cname,  soa,  mb,  mg,  mr,
     null,  wks,  ptr,  hinfo,  minfo,  mx,  uinfo,  uid, gid, unspec, and the
     wildcard, which may be written as either "any" or  "*".   Types  must  be
     given in lower case.  Note that the default is to look first for "a", and
     then "mx", except that if the verbose option is turned on, the default is
     only "a".

     The option -a (for "all") is equivalent to "-v -t any".

     The option -l causes a listing of a complete domain.  E.g.
        host -l rutgers.edu
     will give a listing of all hosts  in  the  rutgers.edu  domain.   The  -t
     option  is  used  to  filter  what information is presented, as you would
     expect.  The default is address information, which also include  PTR  and
     NS records.  The command
        host -l -v -t any rutgers.edu
     will give a complete download of the zone data for  rutgers.edu,  in  the
     official master file format.  (However the SOA record  is  listed  twice,
     for  arcane  reasons.)   NOTE: -l is implemented by doing a complete zone
     transfer and then filtering out the information the you have  asked  for.
     This command should be used only if it is absolutely necessary.


CUSTOMIZING HOST NAME LOOKUP

     In general, if the name supplied by the user does not have  any  dots  in
     it,  a default domain is appended to the end.  This domain can be defined
     in /etc/resolv.conf, but is normally derived by taking the local hostname
     after its first dot.  The user can override this, and specify a different
     default domain, using the environment variable LOCALDOMAIN.  In addition,
     the user can supply his own abbreviations for host names.  They should be
     in a file consisting of one line per abbreviation.  Each line contains an
     abbreviation,  a  space,  and then the full host name.  This file must be
     pointed to by an environment variable HOSTALIASES, which is the  name  of
     the file.


See Also

     named (8)


BUGS

     Unexpected effects can happen when you type a name that is  not  part  of
     the  local  domain.   Please  always keep in mind the fact that the local
     domain name is tacked onto the end of every name, unless  it  ends  in  a
     dot.  Only if this fails is the name used unchanged.

     The -l option only tries the first name server listed for the domain that
     you  have  requested.   If this server is dead, you may need to specify a
     server manually. E.g. to get a listing of foo.edu, you could try "host -t
     ns  foo.edu"  to get a list of all the name servers for foo.edu, and then
     try "host -l foo.edu xxx" for all xxx on the list of name servers,  until
     you find one that works.