Notes on BSD Nslookup/Nsquery
-----------------------------

These two programs were ported directly from Berkeley Unix, so if you are
looking for the "real" nslookup, complete with abstruse syntax like "set
typ=CNAME", then here you go.  Count yourself a technoweenie :-).  These
programs require a class 1 packet driver.  You do not need to be online to
set these up.

To set up these programs, edit WATTCP.CFG.  If you already have a working
WATTCP.CFG from another application, WATTCP.CFG here can just be a pointer
to it:

   include=e:\internet\wattcp.cfg

Otherwise, if you have static IP, uncomment the my_ip line and give your
static IP address:

   my_ip=127.0.0.1

If you have dynamic IP, leave that commented out and put this instead:

   include=e:\internet\ipaddr.cfg

You will have to create IPADDR.CFG at connect time and give its pathname
here; see file README on my site.

If your gateway is static, uncomment the gateway line and fill that in:

   gateway=127.0.0.2

If your gateway is dynamic, either give the gateway you *usually* get, or
leave the gateway line commented out and put this:

   include=e:\internet\gateway.cfg

Here again, you will have to create GATEWAY.CFG at connect time and give its
pathname here.  See README.

Set netmask as follows (do *not* use your real netmask with SLIP or PPP):

   netmask=0.0.0.0

hostname can be left commented out if you have dynamic IP, or if you have
static IP you can uncomment it and fill it in.

Uncomment domainslist and set it to this (do *not* use your real domain):

   domainslist=""

Uncomment the nameserver line, and give the IP address of your nameserver:

   nameserver=127.0.0.3

At the end of the file, add the following three lines:

   sockdelay=90
   mss=512
   domainto=20

That will increase the timeouts for connecting to a site and looking up a
domain name.  It will also limit the size of incoming packets to 512 bytes,
which prevents packet fragmentation and permits Frank Molzahn's SLIP drivers
to work.  Note that all of the above is generic for any WATTCP application;
see README.

Next, edit RESOLV.CNF.  Uncomment the domain line and set it to your domain
(the part of your machine name after the first dot):

   domain sdi.agate.net

(For me.)  If you have dynamic IP, you can just set domain to the part of
your email address after the "@" (it doesn't matter much):

   domain gte.net

Uncomment the nameserver line and give the IP address of your nameserver
again:

   nameserver 127.0.0.3

Finally, edit your AUTOEXEC.BAT file to set the ABCETCDIR variable to the
directory where you installed BSD Nslookup/Nsquery:

   SET ABCETCDIR=E:\INTERNET\NSLB01A

(For me.)  Reboot to let the new AUTOEXEC.BAT take effect.

The simple way to use Nslookup is to give either a domain name or an IP
address on the command line:

   nslookup tvdog.sdi.agate.net
   nslookup 204.117.9.33

Given the domain name, Nslookup replies with the IP address.  Given the
address, it replies with the domain name.  The really interesting stuff is
only available when you run Nslookup interactively, though:

   nslookup

Type help to list the commands; I can't possibly explain them.  An
explanation of the Internet domain name system can be found in the Linux
Network Administrator's Guide, among other places.  The Guide is available
at http://www.linux.org/ .

One thing you can do is select another nameserver, then look up a name using
that server:

   > server 127.0.0.3
   Default Server:  dns.foo.bar.net
   Address:  127.0.0.3

   > wuarchive.wustl.edu
   Server:  dns.foo.bar.net
   Address:  127.0.0.3

   Non-authoritative answer:
   Name:    wuarchive.wustl.edu
   Address:  128.252.135.4

Other things you can do are list all the machines in your ISP's domain, list
all the nameservers they use (they probably have some they didn't tell you
about), list all the mail servers, and find out what machine
"ftp.foo.bar.net" *really* is.

Nsquery is the simpler application.  Here is the syntax:

   nsquery tvdog.sdi.agate.net
   nsquery -d tvdog.sdi.agate.net
   nsquery tvdog.sdi.agate.net 127.0.0.3

The first line just looks up the domain name and returns the IP address. 
The second also gives debugging information, listing the nameservers polled. 
The third line looks up the domain name using nameserver 127.0.0.3 instead
of the default one.
