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 con-
verts 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 suf-
fix 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 argu-
ment, the default server (normally the local machine) is
used.
If a name is specified, you may see output of three dif-
ferent 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 indi-
cates that it is not really part of the Internet, but a sys-
tem 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 nor-
mally 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.