nslookup - query Internet name servers interactively
nslookup [-option ...] [host-to-find | -[server]]
Nslookup is a program to query Internet domain name servers. Nslookup has two modes: interactive and non-interactive. Interactive mode allows the user to query name servers for information about various hosts and domains or to print a list of hosts in a domain. Non-interactive mode is used to print just the name and requested information for a host or domain.
Interactive mode is entered in the following cases:
Non-interactive mode is used when the name or Internet address of the host to be looked up is given as the first argument. The optional second argument specifies the host name or address of a name server.
The options listed under the ``set'' command below can be specified in the .nslookuprc file in the user's home directory if they are listed one per line. Options can also be specified on the command line if they precede the arguments and are prefixed with a hyphen. For example, to change the default query type to host information, and the initial timeout to 10 seconds, type:
nslookup -query=hinfo -timeout=10
Commands may be interrupted at any time by typing a control-C. To exit, type a control-D (EOF) or type exit. The command line length must be less than 256 characters. To treat a built-in command as a host name, precede it with an escape character (.& .) N.B.: unrecognized command will be interpreted as a N.B.:0 0N.B.:1
host [server]
Look up information for host using the current default server or
using server, if specified. If host is an Internet address and
the query type is A or PTR, the name of the host is returned.
If host is a name and does not have a trailing period, the default
domain name is appended to the name. (This behavior depends
on the state of the set options domain, srchlist, defname,
and search.)
To look up a host not in the current domain, append a period to the name.
server domain
lserver domain
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 re
turned.
finger [name] [> filename]
finger [name] [>> filename]
Connects with the finger server on the current host. The current
host is defined when a previous lookup for a host was successful
and returned address information (see the ``set
querytype=A'' command). The name is optional. > and >> can be
used to redirect output in the usual manner.
ls [option] domain [> filename]
ls [option] domain [>> filename]
List the information available for domain, optionally creating
or appending to filename. The default output contains host names
and their Internet addresses. Option can be one of the following:
When output is directed to a file, hash marks are printed for every 50 records received from the server.
view filename
Sorts and lists the output of previous ls command(s) with
more(1)
.
help
set keyword [=value]
This command is used to change state information that affects
the lookups. Valid keywords are:
class=value
Change the query class to one of:
The class specifies the protocol group of the information.
(Default = IN; abbreviation = cl)
[no] debug
Turn debugging mode on. A lot more information is
printed about the packet sent to the server and the resulting
answer.
(Default = nodebug; abbreviation = [no]deb)
[no] d2 Turn exhaustive debugging mode on. Essentially all fields of every packet are printed.
(Default = nod2)
domain=name
Change the default domain name to name. The default domain
name is appended to a lookup request depending on
the state of the defname and search options. The domain
search list contains the parents of the default
domain if it has at least two components in its name.
For example, if the default domain is CC.Berkeley.EDU,
the search list is CC.Berkeley.EDU and Berkeley.EDU.
Use the ``set srchlist'' command to specify a different
list. Use the ``set all'' command to display the list.
(Default = value from hostname(1) , /etc/resolv.conf, or LOCALDOMAIN; abbreviation = do)
srchlist=name1/name2/...
Change the default domain name to name1 and the domain
search list to name1, name2, etc. A maximum of 6 names
separated by slashes (/) can be specified. For example,
set srchlist=lcs.MIT.EDU/ai.MIT.EDU/MIT.EDU
sets the domain to lcs.MIT.EDU and the search list to the three names. This command overrides the default domain name and search list of the ``set domain'' command. Use the ``set all'' command to display the list.
(Default = value based on hostname(1) , /etc/resolv.conf, or LOCALDOMAIN; abbreviation = srchl)
[no] defname
If set, append the default domain name to a single-component
lookup request (i.e., one that does not contain
a period).
(Default = defname; abbreviation = [no]defname)
[no] search
If the lookup request contains at least one period but
doesn't end with a trailing period, append the domain
names in the domain search list to the request until an
answer is received.
(Default = search; abbreviation = [no]sea)
port=value
Change the default TCP/UDP name server port to value.
(Default = 53; abbreviation = po)
querytype=value
type=value
Change the type of information query to one of:
Other types (ANY, AXFR, MB, MD, MF, NULL) are described in the RFC-1035 document.
(Default = A; abbreviations = q, ty)
[no] recurse
Tell the name server to query other servers if it does
not have the information.
(Default = recurse; abbreviation = [no]rec)
retry=number
Set the number of retries to number. When a reply to a
request is not received within a certain amount of time
(changed with ``set timeout''), the timeout period is
doubled and the request is resent. The retry value
controls how many times a request is resent before giving
up.
(Default = 4, abbreviation = ret)
root=host
Change the name of the root server to host. This affects
the ``root'' command.
(Default = ns.internic.net.; abbreviation = ro)
timeout=number
Change the initial timeout interval for waiting for a
reply to number seconds. Each retry doubles the timeout
period.
(Default = 5 seconds; abbreviation = ti)
[no] vc Always use a virtual circuit when sending requests to the server.
(Default = novc; abbreviation = [no]v)
[no] ignoretc
Ignore packet truncation errors.
(Default = noignoretc; abbreviation = [no]ig)
If the lookup request was not successful, an error message is printed. Possible errors are:
Timed out
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'').
No response from server
No name server is running on the server machine.
No records
The server does not have resource records of the current query
type for the host, although the host name is valid. The query
type is specified with the ``set querytype'' command.
Non-existent domain
The host or domain name does not exist.
Connection refused
Network is unreachable
The connection to the name or finger server could not be made at
the current time. This error commonly occurs with ls and finger
requests.
Server failure
The name server found an internal inconsistency in its database
and could not return a valid answer.
Refused
The name server refused to service the request.
Format error
The name server found that the request packet was not in the proper
format. It may indicate an error in nslookup.
named(8) , resolver(3) , resolver(5) ; RFC-1034, ``Domain Names Concepts and Facilities''; RFC-1035, ``Domain Names - Implementation and Specification''.
Andrew Cherenson