Using NSlookup

advertisement
Using NSlookup.exe
The information in this article applies to:
 Microsoft Windows NT Server version 4.0
SUMMARY
Nslookup.exe is a command-line administrative tool for testing and troubleshooting
DNS servers. This tool is installed along with the TCP/IP protocol through Control Panel.
This article includes several tips for using Nslookup.exe.
MORE INFORMATION
To use Nslookup.exe, please note the following:
 The TCP/IP protocol must be installed on the computer running Nslookup.exe
 At least one DNS server must be specified in the DNS Service Search Order field
on the DNS tab of the Microsoft TCP/IP Properties page.
 Nslookup will always devolve the name from the current context. If you fail to
fully qualify a name query (that is, use trailing dot), the query will be appended
to the current context. For example, the current DNS settings are att.com and a
query is performed on www.microsoft.com; the first query will go out as
www.microsoft.com.att.com because of the query being unqualified. This
behavior may be inconsistent with other vendor's versions of Nslookup, and this
article is presented to clarify the behavior of Microsoft Windows NT Nslookup.exe
 If you have implemented the use of the search list in the Domain Suffix Search
Order defined on the DNS tab of the Microsoft TCP/IP Properties page,
devolution will not occur. The query will be appended to the domain suffixes
specified in the list. To avoid using the search list, always use a Fully Qualified
Domain Name (that is, add the trailing dot to the name).
Nslookup.exe can be run in two modes: interactive and noninteractive. Noninteractive
mode is useful when only a single piece of data needs to be returned. The syntax for
noninteractive mode is:
nslookup [-option] [hostname] [server]
To start Nslookup.exe in interactive mode, simply type "nslookup" at the command
prompt:
C:\> nslookup
Default Server: nameserver1.domain.com
Address: 10.0.0.1
>
Typing "help" or "?" at the command prompt will generate a list of available commands.
Anything typed at the command prompt that is not recognized as a valid command is
assumed to be a host name and an attempt is made to resolve it using the default
server. To interrupt interactive commands, press CTRL+C. To exit interactive mode and
return to the command prompt, type "exit" (without the quotation marks) at the
command prompt.
The following is the help output and contains the complete list of options:
Commands:
(identifiers are shown in uppercase, [] means optional)
NAME
NAME1 NAME2
help or ?
set OPTION
- print info about the host/domain NAME using default
server
- as above, but use NAME2 as server
- print info on common commands
- set an option
all
- print options, current server and host
[no]debug
- print debugging information
[no]d2
- print exhaustive debugging information
[no]defname
- append domain name to each query
[no]recurse
- ask for recursive answer to query
[no]search
- use domain search list
[no]vc
- always use a virtual circuit
domain=NAME
- set default domain name to NAME
srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1, N2,
and so on
root=NAME
- set root server to NAME
retry=X
- set number of retries to X
timeout=X
- set initial time-out interval to X seconds
type=X
- set query type (for example, A, ANY, CNAME, MX,
NS, PTR, SOA, SRV)
querytype=X
- same as type
class=X
- set query class (for example, IN (Internet),
ANY)
[no]msxfr
ixfrver=X
- use MS fast zone transfer
- current version to use in IXFR transfer request
server NAME
server
lserver NAME
finger [USER]
root
ls [opt] DOMAIN
-a
-d
-t TYPE
- set default server to NAME, using current default
- set default server to NAME, using initial server
- finger the optional NAME at the current default host
- set current default server to the root
[> FILE] - list addresses in DOMAIN (optional: output to
FILE)
-
list canonical names and aliases
list all records
list records of the given type (for example, A, CNAME,
MX, NS, PTR, and so on)
view FILE
- sort an 'ls' output file and view it with pg
exit
- exit the program
A number of different options can be set in Nslookup.exe by running the set command
at the command prompt. A complete listing of these options is obtained by typing "set
all" (without the quotation marks). See above, under the set command for a printout of
the available options.
Looking up Different Data Types
To look up different data types within the domain name space, use the "set type" or
"set q[uerytype]" command at the command prompt. For example, to query for the
mail exchanger data, type the following:
C:\> nslookup
Default Server: ns1.domain.com
Address: 10.0.0.1
> set q=mx
> mailhost
Server: ns1.domain.com
Address: 10.0.0.1
mailhost.domain.com
MX preference = 0, mail exchanger =
mailhost.domain.com
mailhost.domain.com
internet address = 10.0.0.5
>
The first time a query is made for a remote name, the answer is authoritative, but
subsequent queries are nonauthoritative. The first time a remote host is queried, the
local DNS server contacts the DNS server that is authoritative for that domain. The
local DNS server will then cache that information, so that subsequent queries are
answered nonauthoritatively out of the local server's cache.
Querying Directly from Another Name Server
To query another name server directly, use the server or lserver commands to switch
to that name server. The lserver command uses the local server to get the address of
the server to switch to, while the server command uses the current default server to
get the address.
Example:
C:\> nslookup
Default Server: nameserver1.domain.com
Address: 10.0.0.1
> server 10.0.0.2
Default Server: nameserver2.domain.com
Address: 10.0.0.2
>
Using Nslookup.exe to Transfer Entire Zone
Nslookup can be used to transfer an entire zone by using the ls command. This is
useful to see all the hosts within a remote domain. The syntax for the ls command is:
ls [- a | d | t type] domain [> filename]
Using ls with no arguments will return a list of all address and name server data. The -a
switch will return alias and canonical names, -d will return all data, and -t will filter by
type.
Example:
>ls domain.com
[nameserver1.domain.com]
nameserver1.domain.com.
NS
server = ns1.domain.com
nameserver2.domain.com
NS
server = ns2.domain.com
nameserver1
A
10.0.0.1
nameserver2
A
10.0.0.2
>
Zone transfers can be blocked at the DNS server so that only authorized addresses or
networks can perform this function. The following error will be returned if zone security
has been set:
*** Can't list domain <example.com>.: Query refused
For additional information, please see the following article(s) in the Microsoft
Knowledge Base:
Q193837 Windows NT 4.0 DNS Server Default Zone Security Settings
Troubleshooting Nslookup.exe
Default Server Timed Out:
When starting the Nslookup.exe utility, the following errors may occur:
*** Can't find server name for address <w.x.y.z>: Timed out
NOTE: <w.x.y.z> is the first DNS server listed in the DNS Service Search Order list.
*** Can't find server name for address 127.0.0.1: Timed out
The first error indicates that the DNS server cannot be reached or the service is not
running on that computer. To correct this problem, either start the DNS service on that
server or check for possible connectivity problems.
The second error indicates that no servers have been defined in the DNS Service
Search Order list. To correct this problem, add the IP address of a valid DNS server to
this list.
For additional information, please see the following article(s) in the Microsoft
Knowledge Base:
Q172060 NSLOOKUP: Can't Find Server Name for Address 127.0.0.1
Can't Find Server Name when Starting Nslookup.exe:
When starting the Nslookup.exe utility, the following error may occur:
*** Can't find server name for address w.x.y.z: Non-existent domain
This error occurs when there is no PTR record for the name server's IP address. When
Nslookup.exe starts, it does a reverse lookup to get the name of the default server. If
no PTR data exists, this error message is returned. To correct make sure that a reverse
lookup zone exists and contains PTR records for the name servers.
For additional information, please see the following article(s) in the Microsoft
Knowledge Base:
Q172953 How to Install and Configure Microsoft DNS Server
Nslookup on Child Domain Fails:
When querying or doing a zone transfer on a child domain, Nslookup may return the
following errors:
*** ns.domain.com can't find child.domain.com.: Non-existent domain
*** Can't list domain child.domain.com.: Non-existent domain
In DNS Manager, a new domain can be added under the primary zone, thus creating a
child domain. Creating a child domain this way does not create a separate db file for
the domain, thus querying that domain or running a zone transfer on it will produce the
above errors. Running a zone transfer on the parent domain will list data for both the
parent and child domains. To work around this problem, create a new primary zone on
the DNS server for the child domain.
Version
: winnt:4.0
Platform
: winnt
Issue type
: kbinfo
Download