DNSQUERY(1)

NAME
dnsquery - query domain name servers using resolver

SYNOPSIS
dnsquery [-n nameserver] [-t type] [-c class] [-r retry] [-p period] [-d] [-s] [-v] host

DESCRIPTION
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 nameserver are treated without case-sensitivity.

OPTIONS

-n nameserver
    The nameserver to be used in the query. Nameservers can appear as either Internet addresses of the form (w.x.y.z or xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx) or can appear as domain names. (Default: as specified in /etc/resolv.conf.)

-t type
    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 class
    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 retry
    The number of times to retry if the nameserver is not responding. (Default: 4.)

-p period
    Period to wait before timing out. (Default: RES_TIMEOUT.)

-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 datagram.)

-v  Synonym for the “-s” flag.

host
    The name of the host (or domain) of interest.

FILES
/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

DIAGNOSTICS
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.

SEE ALSO
nslookup(8), nstest(1), nsquery(1), named(8), resolver(5).

AUTHOR
Bryan Beecher

BUGS
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.

Dnsquery 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) IP addresses (e.g., 1.2.3.4.5).