nslookup - query domain name servers interactively
nslookup [ -l ] [ address ]
nslookup is an interactive program to query Internet domain name
servers. The user can contact servers to request information about a
specific host or print a list of hosts in the domain.
-l Use the local host's name server instead of the servers in
/etc/resolv.conf. (If /etc/resolv.conf does not exist or does
not contain server information, the -l option does not have
address Use the name server on the host machine with the given Inter-
The Internet domain name-space is tree-structured, with top-level
domains such as:
COM commercial establishments
EDU educational institutions
GOV government agencies
MIL MILNET hosts
If you are looking for a specific host, you need to know something
about the host's organization in order to determine the top-level
domain it belongs to. For instance, if you want to find the Internet
address of a machine at UCLA, do the following:
o Connect with the root server using the root command. The root
server of the name space has knowledge of the top-level domains.
o Since UCLA is a university, its domain name is ucla.edu. Con-
nect with a server for the ucla.edu domain with the command
serverucla.edu. The response will print the names of hosts that
act as servers for that domain. Note: the root server does not
have information about ucla.edu, but knows the names and
addresses of hosts that do. Once located by the root server,
all future queries will be sent to the UCLA name server.
o To request information about a particular host in the domain
(for instance, locus), just type the host name. To request a
listing of hosts in the UCLA domain, use the ls command. The ls
command requires a domain name (in this case, ucla.edu) as an
Note: if you are connected with a name server that handles more than
one domain, all lookups for host names must be fully specified with its
domain. For instance, the domain harvard.edu is served by
seismo.css.gov, which also services the css.gov and cornell.edu
domains. A lookup request for the host aiken in the harvard.edu domain
must be specified as aiken.harvard.edu. However, the
commands can be used to automatically append a domain name to each
After a successful lookup of a host, use the finger command to see who
is on the system, or to finger a specific person. To get other infor-
mation about the host, use the
command to change the type of information desired and request another
lookup. (finger requires the type to be A.)
Commands may be interrupted at any time by typing CTRL-C. To exit,
type CTRL-D (EOF). The command line length must be less than 80 char-
acters. Note: an unrecognized command will be interpreted as a host
Look up information for host using the current default server or
using server if it is specified.
Change the default server to domain. lserver uses the initial
server to look up information about domain while server uses the
current default server. If an authoritative answer can't be
found, the names of servers that might have the answer are
root Changes the default server to the server for the root of the
domain name space. Currently, the host sri-nic.arpa is used;
this command is a synonym for `lserver sri-nic.arpa'.) The name
of the root server can be changed with the set root command.
finger [ name]
Connect with the finger server on the current host, which is
defined by a previous successful lookup for a host's address
information (see the set querytype=A command). As with the
shell, output can be redirected to a named file using >> and >>>>.
List the information available for domain. The default output
contains host names and their Internet addresses. The -a option
lists aliases of hosts in the domain. The -h option lists CPU
and operating system information for the domain. As with the
shell, output can be redirected to a named file using >> and >>>>.
When output is directed to a file, hash marks are printed for
every 50 records received from the server.
Sort and list the output of the ls command with more(1).
? Print a brief summary of commands.
setkeyword [ = value ] This command is used to change state information
that affects the lookups. Valid keywords are:
all Prints the current values of the various options to set.
Information about the current default server and host is
Turn debugging mode on. A lot more information is printed
about the packet sent to the server and the resulting
answer. The default is nodebug.
Append the default domain name to every lookup. The
default is nodefname.
Change the default domain name to filename. The default
domain name is appended to all lookup requests if defname
option has been set. The default is the value in
Change the type of information returned from a query to
A The host's Internet address (the default).
CNAME The canonical name for an alias.
HINFO The host CPU and operating system type.
MD The mail destination.
MX The mail exchanger.
MB The mailbox domain name.
MG The mail group member.
MINFO The mailbox or mail list information.
(Other types specified in the RFC883 document are valid,
but are not very useful.)
Tell the name server to query other servers if it does
not have the information. The default is recurse.
Set the number of times to retry a request before giving
up to count. When a reply to a request is not received
within a certain amount of time (changed with set time-
out), the request is resent. The default is count is 2.
Change the name of the root server to host. This affects
the root command. The default root server is sri-
Change the time-out for a reply to interval seconds. The
default interval is 10 seconds.
Always use a virtual circuit when sending requests to the
server. The default is novc.
If the lookup request was not successful, an error message is printed.
Possible errors are:
The server did not respond to a request after a certain amount
of time (changed with set timeout=value) and a certain number of
retries (changed with set retry=value).
Depending on the query type set with the set querytype command,
no information about the host was available, though the host
name is valid.
The host or domain name does not exist.
Network is unreachable
The connection to the name or finger server could not be made at
the current time. This error commonly occurs with finger
The name server found an internal inconsistency in its database
and could not return a valid answer.
The name server refused to service the request.
The following error should not occur and it indicates a bug in the pro-
The name server found that the request packet was not in the
/etc/resolv.conf initial domain name and name server addresses.
resolver(3), resolv.conf(5), named(8C),
RFC 1034, RFC 1035
30 June 1989 NSLOOKUP(8C)