dnsquery - query domain name servers using resolver
dnsquery [-n nameserver] [-t type] [-c class] [-r retry] [-p retry period] [-d] [-s] [-v] host
The dnsquery program is a general interface to nameservers via BIND resolver library calls. The program supports queries to the nameserver with an opcode of QUERY. This program is intended to be a replacement or supplement to programs like nstest, nsquery and nslookup. All arguments except for host and ns are treated without case-sensitivity.
-n |
The nameserver to be used in the query. Nameservers can appear as either Internet addresses of the form w.x.y.z or can appear as domain names. (default: as specified in /etc/resolv.conf) | ||
-t |
The type of resource record of interest. Types include: |
A
address |
||||
NS |
nameserver |
|||
CNAME |
canonical name |
|||
PTR |
domain name pointer |
|||
SOA |
start of authority |
|||
WKS |
well-known service |
|||
HINFO |
host information |
|||
MINFO |
mailbox information |
|||
MX |
mail exchange |
|||
RP |
responsible person |
|||
MG |
mail group member |
AFSDB
DCE or AFS server
ANY |
wildcard |
Note that any case may be used. (default: ANY)
-c |
The class of resource records of interest. Classes include: |
IN
Internet |
||||
HS |
Hesiod |
|||
CHAOS |
Chaos |
|||
ANY |
wildcard |
Note that any case may be used. (default: IN)
-r |
The number of times to retry if the nameserver is not responding. (default: 4) | ||
-p |
Period to wait before timing out. (default: RES_TIMEOUT) options field. (default: any answer) | ||
-d |
Turn on debugging. This sets the RES_DEBUG bit of the resolver’s options field. (default: no debugging) | ||
-s |
Use a stream rather than a packet. This uses a TCP stream connection with the nameserver rather than a UDP datagram. This sets the RES_USEVC bit of the resolver’s options field. (default: UDP) | ||
-v |
Synonym for the ’s’ flag. | ||
host |
The name of the host (or domain) of interest. |
/etc/resolv.conf
to get the default ns and search lists
<arpa/nameser.h> list of usable RR types and classes
<resolv.h> list of resolver flags
nslookup(@SYS_OPS_EXT@), nstest(@CMD_EXT@), nsquery(@CMD_EXT@), named(@SYS_OPS_EXT@), resolver(@FORMAT_EXT@)
If the resolver
fails to answer the query and debugging has not been turned
on, dnsquery will simply print a message like:
Query failed (rc = 1) : Unknown host
The value of the return code is supplied by h_errno.
Queries of a class other than IN can have interesting results since ordinarily a nameserver only has a list of root nameservers for class IN resource records.
Query uses a call to inet_addr() to determine if the argument for the ’-n’ option is a valid Internet address. Unfortunately, inet_addr() seems to cause a segmentation fault with some (bad) addresses (e.g. 1.2.3.4.5).
Bryan Beecher