DNS Users Tools

Securing and Optimizing Linux: RedHat Edition -A Hands on Guide
Prev | Chapter 21. Software -Networking | Next

# 21.10. DNS Users Tools

The commands listed belows are some that we use often, but many more exist. Check the man pages and documentation for more details and information.

nslookup. The nslookup program allows the user to query Internet domain name servers interactively or non-interactively. In interactive mode the user can query name servers for information about various hosts and domains, and print a list of hosts in a domain. In non-interactive mode the user can just print the name and request information for a host or domain. Interactive mode has a lot of options and commands; it is recommended that you see the man page for nslookup, or the help under nslookup Interactive mode.

To enter under nslookup Interactive mode, use the command:

     [root@deep] /# nslookup

     Default Server:  deep.openna.com
     Address:  208.164.186.1

     > help
     $Id: nslookup.help,v 8.4 1996/10/25 18:09:41 vixie Exp $

     Commands:	(identifiers are shown in uppercase, [] means optional)
     NAME	- print info about the host/domain NAME using default server
     NAME1 NAME2	- as above, but use NAME2 as server
     help or ?	- print info on common commands; see nslookup(1) for details
     set OPTION	- set an option
     all	- print options, current server and host
     [no]debug	- print debugging information
     [no]d2	- print exhaustive debugging information

To run in non-interactive mode, use the command:

     [root@deep] /# nslookup www.redhat.com

     Server:  deep.openna.com
     Address:  208.164.186.1

     Non-authoritative answer:
     Name:    www.portal.redhat.com
     Addresses:  206.132.41.202, 206.132.41.203
     Aliases:  www.redhat.com

Where `www.redhat.com` is the host name or Internet address of the name server to be looked up.

dnsquery. The dnsquery program queries domain name servers via the resolver library calls `/etc/resolv.conf`. To query domain name servers using resolver, use the command:

     [root@deep] /# dnsquery <host>

Example 21-1. dnsquery

     [root@deep] /# dnsquery www.redhat.com

     ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40803
     ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
     ;;      www.redhat.com, type = ANY, class = IN
     www.redhat.com.         	2h19m46s IN CNAME  www.portal.redhat.com.
     redhat.com.             	2h18m13s IN NS  	ns.redhat.com.
     redhat.com.             	2h18m13s IN NS  	ns2.redhat.com.
     redhat.com.             	2h18m13s IN NS  	ns3.redhat.com.
     redhat.com.             	2h18m13s IN NS  	speedy.redhat.com.
     ns.redhat.com.          	1d2h18m8s IN A  	207.175.42.153
     ns2.redhat.com.         	1d2h18m8s IN A  	208.178.165.229
     ns3.redhat.com.         	1d2h18m8s IN A  	206.132.41.213
     speedy.redhat.com.      	2h18m13s IN A   	199.183.24.251

Where <host> is the name of the host you want to query.

host. The host program looks up host names using DNS. To look up host names using domain server, use the command:

     [root@deep] /# host <FQDN, domain names, host names, or host numbers>

Example 21-2. Look up host names

     [root@deep] /# host redhat.com

     redhat.com has address 207.175.42.154

Where <FQDN, domain names, host names, or host numbers> is either FDQN `www.redhat.com`, domain names `redhat.com`, host names `www` or host numbers `207.175.42.154`.

To find all of the information about a host maintained by the DNS, use the command:

     [root@deep] /# host -a <domain names >

Example 21-3. Using host

     [root@deep] /# host -a redhat.com

     Trying null domain
     rcode = 0 (Success), ancount=6
     The following answer is not authoritative:
     The following answer is not verified as authentic by the server:
     redhat.com      8112 IN NS      ns.redhat.com
     redhat.com      8112 IN NS      ns2.redhat.com
     redhat.com      8112 IN NS      ns3.redhat.com
     redhat.com      8112 IN NS      speedy.redhat.com
     redhat.com      8112 IN A        207.175.42.154
     redhat.com      11891 IN         SOA     ns.redhat.com noc.redhat.com(
     2000021402	;serial (version)
     3600    	;refresh period
     1800    	;retry refresh this often
     604800  	;expiration period
     86400   	;minimum TTL
     )
     For authoritative answers, see:
     redhat.com      8112 IN NS      ns.redhat.com
     redhat.com      8112 IN NS      ns2.redhat.com
     redhat.com      8112 IN NS      ns3.redhat.com
     redhat.com      8112 IN NS      speedy.redhat.com
     Additional information:
     ns.redhat.com   94507	IN        	A       207.175.42.153
     ns2.redhat.com  94507 	IN	A       208.178.165.229
     ns3.redhat.com  94507 	IN        	A       206.132.41.213
     speedy.redhat.com       	8112 IN 	A       199.183.24.251

This option can be used to find all of the information that is maintained by the domain server about this host, in our example `redhat.com`.

To list a complete domain, use the command:

     [root@deep] /# host -l <domain names >

Example 21-4. List a complete domain

     [root@deep] /# host -l openna.com

     openna.com name server deep.openna.com
     openna.com name server mail.openna.com
     localhost.openna.com has address 127.0.0.1
     deep.openna.com has address 208.164.186.1
     mail.openna.com has address 208.164.186.2
     www.openna.com has address 208.164.186.3

This option, in the official master file format, will give a complete download of the zone data for the domain name `openna.com`. This command should be used only if it is absolutely necessary.

Prev | Home | Next
DNS Administrative Tools | Up | Installed files