DNS Connection Question
    trlists at clayst.com 
    trlists at clayst.com
       
    Wed Oct 20 12:03:01 EDT 2004
    
    
  
On 20 Oct 2004 dsr at tao.merseine.nu wrote:
> Virtually every nameserver will have authoritative records for
> "localhost" (although they may be "NXDOMAIN"). That should be a
> minimal 1 packet request, 1 packet response, no waiting.
I was thinking about what domain to use for the test and had decided to 
try localhost.  At first I thought of the nameserver's domain, but then 
realized the server can't be authoritative for its own domain or 
there's a loop (is this allowed?) -- though it would probably have its 
own domain in its cache.
Played around with dig a bit -- a query like this:
	dig @server localhost +time=1
seems to do what I want.  Returns an exit code of 9 if it can't reach 
the server, 0 if it can, which means I can ignore the output itself.
The time option seems to determine half the actual elapsed time, for 
example:
     $ time dig @blu.org localhost +time=2
     ; <<>> DiG 9.2.1 <<>> @www.microsoft.com localhost +time=2
     ;; global options:  printcmd
     ;; connection timed out; no servers could be reached
     real    0m4.030s
     user    0m0.000s
     sys     0m0.020s
+time=1 seems to do what I want, on the server on which the code will 
run.
For Bob G, the PHP functions (checkdnsrr() or, in PHP 5, 
dns_get_record()) won't work for this purpose as they do not allow you 
to specify the server, only the host to look up.  As a result I'd have 
to use the socket functions, so just invoking dig may be the best 
solution.
--
Tom
    
    
More information about the Discuss
mailing list