nsping
— measure
reachability and latency of DNS nameservers
nsping |
[-drR ] [-c
count] [-z
zone] [-h
hostname] [-t
timer] [-p
port] [-P
port] [-a
address] [-T
type]
[<address>] |
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.
Thomas H. Ptacek, <tqbf@secnet.com>
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. =)
Real benchmarking tools can be found at WWW.CAIDA.ORG; this tool
is merely inspired from them.