NSPING(8)

NAME
nsping - measure reachability and latency of DNS nameservers

SYNOPSIS
nsping [-drR] [-c count] [-z zone] [-h hostname] [-t timer] [-p port] [-P port] [-a address] [-T type]
[<address>]

DESCRIPTION
Nsping uses DNS queries to monitor reachability and operation of nameservers, as well as the latency of DNS queries. It does this by sending random recursive DNS queries to the nameserver (avoiding the effects of DNS caching) and measuring the amount of time between the sending of the query and the receipt of the response packet.

The latency of DNS transactions depends heavily on the data being queried for. The zone within which to query can be specified explicitly on the command line, or inferred from the local host. To measure the responsiveness of a nameserver for information it is authoritative for, specify one it's zones of authority as this zone.

To measure basic network latency and DNS processing time, specify a hostname on the command line. If this is done, DNS queries sent by nsping will not be randomized, and nameservice caching will cause the program to measure only network+processing time. If latency between the first and subsequent queries does not vary greatly, nameservice caching may not be enabled on the probed server.

Finally, a rough estimate of the latency between two sets of nameservers can be measured by querying one of those servers for information within a zone authoritative for the other servers. This would be more useful if there was a way to specify which of a zone's servers a target server queries.

Nsping recognizes the following options:

-c count
    Total number of DNS queries to send (default infinite).

-z zone
    The DNS domain to formulate queries in.

-h hostname
    Do not use random queries, but rather query repeatedly for one hostname.

-t timespec
    Specify the interval timeout to send packets with, as an expression of seconds.subseconds (ie, 0.5 = half second). (default 1 second).

-p port
    The remote DNS server port.

-P port
    The local port to send queries from

-a address
    The local address from which to send queries.

-T type
    The type of information to query for (default "a" for Internet "A" record).

-d  Print debugging output (don't do this).

-r  (Redundant) use recursive queries.

-R  Don't use recursive queries.

EXAMPLES

nsping ns.victim.com
    Ping the nameserver "ns.victim.com" until interrupted using defaults (random queries, local domain name as zone, etc).

nsping -z internic.net -t .5 ns.victim.com
    As above, but query for names within the domain "internic.net", and do so every half-second instead of every second.

nsping -h www.yahoo.com ns.victim.com
    Query repeatedly for "www.yahoo.com" from ns.victim.com.

AUTHOR
Thomas H. Ptacek, <tqbf@secnet.com>

BUGS
This is embryonic software. If you find a bug, let me know; I won't be surprised, but I will try to fix it for you. =)

HISTORY
Real benchmarking tools can be found at WWW.CAIDA.ORG; this tool is merely inspired from them.