<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<!--
 - Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
 -
 - Permission to use, copy, modify, and distribute this software for any
 - purpose with or without fee is hereby granted, provided that the above
 - copyright notice and this permission notice appear in all copies.
 -
 - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
 - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
 - AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
 - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
 - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
 - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 - PERFORMANCE OF THIS SOFTWARE.
-->

<!-- $Id: nslookup.docbook,v 1.3.6.3 2004/08/30 00:50:11 marka Exp $ -->

<!--
 - Copyright (c) 1985, 1989
 -    The Regents of the University of California.  All rights reserved.
 - 
 - Redistribution and use in source and binary forms, with or without
 - modification, are permitted provided that the following conditions
 - are met:
 - 1. Redistributions of source code must retain the above copyright
 -    notice, this list of conditions and the following disclaimer.
 - 2. Redistributions in binary form must reproduce the above copyright
 -    notice, this list of conditions and the following disclaimer in the
 -    documentation and/or other materials provided with the distribution.
 - 3. All advertising materials mentioning features or use of this software
 -    must display the following acknowledgement:
 -     This product includes software developed by the University of
 -     California, Berkeley and its contributors.
 - 4. Neither the name of the University nor the names of its contributors
 -    may be used to endorse or promote products derived from this software
 -    without specific prior written permission.
 - 
 - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 - ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 - SUCH DAMAGE.
-->

<refentry>

<refentryinfo>
<date>Jun 30, 2000</date>
</refentryinfo>

<refmeta>
<refentrytitle>nslookup</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>

<refnamediv>
<refname>nslookup</refname>
<refpurpose>query Internet name servers interactively</refpurpose>
</refnamediv>

<refsynopsisdiv>
<cmdsynopsis>
  <command>nslookup</command>
  <arg><option>-option</option></arg>
  <arg choice=opt>name | -</arg>
  <arg choice=opt>server</arg>
</cmdsynopsis>
</refsynopsisdiv>

<refsect1>
<title>DESCRIPTION</title>
<para>
<command>Nslookup</command>
is a program to query Internet domain name servers.  <command>Nslookup</command>
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.
</para>
</refsect1>

<refsect1>
<title>ARGUMENTS</title>
<para>
Interactive mode is entered in the following cases:
<OrderedList Numeration=Loweralpha>
<Listitem>
<para>
when no arguments are given (the default name server will be used)
</para>
</Listitem>
<Listitem>
<para>
when the first argument is a hyphen (-) and the second argument is
the host name or Internet address of a name server.
</para>
</Listitem>
</OrderedList>
</para>

<para>
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.
</para>

<para>
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:
<InformalExample>
<PROGRAMLISTING>
nslookup -query=hinfo  -timeout=10
</PROGRAMLISTING>
</InformalExample>
</para>

</refsect1>

<refsect1>
<title>INTERACTIVE COMMANDS</title>
<variablelist>
<varlistentry><term>host <optional>server</optional></term>
<listitem><para>
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
search list is used to qualify the name.
</para>

<para>
To look up a host not in the current domain, append a period to
the name.
</para></listitem></varlistentry>

<varlistentry><term><constant>server</constant> <replaceable class="parameter">domain</replaceable></term>
<listitem><para></para></listitem></varlistentry>
<varlistentry><term><constant>lserver</constant> <replaceable class="parameter">domain</replaceable></term>
<listitem><para>
Change the default server to <replaceable>domain</replaceable>; <constant>lserver</constant> uses the initial
server to look up information about <replaceable>domain</replaceable>, while <constant>server</constant> uses
the current default server.  If an authoritative answer can't be
found, the names of servers that might have the answer are
returned.
</para></listitem></varlistentry>

<varlistentry><term><constant>root</constant></term>
<listitem><para>not implemented</para></listitem></varlistentry>

<varlistentry><term><constant>finger</constant></term>
<listitem><para>not implemented</para></listitem></varlistentry>

<varlistentry><term><constant>ls</constant></term>
<listitem><para>not implemented</para></listitem></varlistentry>

<varlistentry><term><constant>view</constant></term>
<listitem><para>not implemented</para></listitem></varlistentry>

<varlistentry><term><constant>help</constant></term>
<listitem><para>not implemented</para></listitem></varlistentry>

<varlistentry><term><constant>?</constant></term>
<listitem><para>not implemented</para></listitem></varlistentry>

<varlistentry><term><constant>exit</constant></term>
<listitem><para>Exits the program.</para></listitem></varlistentry>

<varlistentry><term><constant>set</constant> <replaceable>keyword<optional>=value</optional></replaceable></term>
<listitem><para>This command is used to change state information that affects
the lookups.  Valid keywords are:
 <variablelist>
  <varlistentry><term><constant>all</constant></term>
  <listitem>
  <para>Prints the current values of the frequently used
  options to <command>set</command>.  Information about the  current default
  server and host is also printed.
  </para>
  </listitem>
  </varlistentry>

  <varlistentry><term><constant>class=</constant><replaceable>value</replaceable></term>
  <listitem><para>
   Change the query class to one of:
   <variablelist>
    <varlistentry><term><constant>IN</constant></term>
    <listitem><para>the Internet class</para></listitem></varlistentry>
    <varlistentry><term><constant>CH</constant></term>
    <listitem><para>the Chaos class</para></listitem></varlistentry>
    <varlistentry><term><constant>HS</constant></term>
    <listitem><para>the Hesiod class</para></listitem></varlistentry>
    <varlistentry><term><constant>ANY</constant></term>
    <listitem><para>wildcard</para></listitem></varlistentry>
   </variablelist>
   The class specifies the protocol group of the information.
   </para><para>
   (Default = IN; abbreviation = cl)
   </para></listitem>
  </varlistentry>

  <varlistentry><term><constant><replaceable><optional>no</optional></replaceable>debug</constant></term>
  <listitem><para>
  Turn debugging mode on.  A lot more information is
  printed about the packet sent to the server and the
  resulting answer.
  </para><para>
  (Default = nodebug; abbreviation = <optional>no</optional>deb)
  </para></listitem></varlistentry>

  <varlistentry><term><constant><replaceable><optional>no</optional></replaceable>d2</constant></term>
  <listitem><para>
  Turn debugging mode on.  A lot more information is
  printed about the packet sent to the server and the
  resulting answer.
  </para><para>
  (Default = nod2)
  </para></listitem></varlistentry>

  <varlistentry><term><constant>domain=</constant><replaceable>name</replaceable></term>
  <listitem><para>
  Sets the search list to <replaceable>name</replaceable>.
  </para></listitem></varlistentry>

  <varlistentry><term><constant><replaceable><optional>no</optional></replaceable>search</constant></term>
  <listitem><para>
  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.
  </para><para>
  (Default = search)
  </para></listitem></varlistentry>

  <varlistentry><term><constant>port=</constant><replaceable>value</replaceable></term>
  <listitem><para>
  Change the default TCP/UDP name server port to <replaceable>value</replaceable>.
  </para><para>
  (Default = 53; abbreviation = po)
  </para></listitem></varlistentry>

  <varlistentry><term><constant>querytype=</constant><replaceable>value</replaceable></term>
  <listitem><para></para></listitem></varlistentry>

  <varlistentry><term><constant>type=</constant><replaceable>value</replaceable></term>
  <listitem><para>
  Change the top of the information query.
  </para><para>
  (Default = A; abbreviations = q, ty)
  </para></listitem></varlistentry>

  <varlistentry><term><constant><replaceable><optional>no</optional></replaceable>recurse</constant></term>
  <listitem><para>
  Tell the name server to query other servers if it does not have the
  information.
  </para><para>
  (Default = recurse; abbreviation = [no]rec)
  </para></listitem></varlistentry>

  <varlistentry><term><constant>retry=</constant><replaceable>number</replaceable></term>
  <listitem><para>
  Set the number of retries to number.
  </para></listitem></varlistentry>

  <varlistentry><term><constant>timeout=</constant><replaceable>number</replaceable></term>
  <listitem><para>
  Change the initial timeout interval for waiting for a
  reply to number seconds.
  </para></listitem></varlistentry>

  <varlistentry><term><constant><replaceable><optional>no</optional></replaceable>vc</constant></term>
  <listitem><para>
  Always use a virtual circuit when sending requests to the server.
  </para><para>
  (Default = novc)
  </para></listitem></varlistentry>

  </variablelist>
</para></listitem></varlistentry>
</variablelist>
</refsect1>

<refsect1>
<title>FILES</title>
<para>
<filename>/etc/resolv.conf</filename>
</para>
</refsect1>

<refsect1>
<title>SEE ALSO</title>
<para>
<citerefentry>
<refentrytitle>dig</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>host</refentrytitle><manvolnum>1</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>.
</para>
</refsect1>

<refsect1>
<title>Author</title>
<para>
Andrew Cherenson
</para>
</refsect1>
</refentry>
