= "4.2.0"){ extract($_POST); extract($_GET); extract($_SERVER); extract($_ENV); } include ("includes/menu.php"); set_time_limit(0); ?> Network Query Tool
Your IP address is and your hostname is ".$client_hname."";?>

Network Query Tool

Host Information NQT20030507 Host Connectivity

Resolve/Reverse Lookup
Get DNS Records
Whois (Web)
Whois (IP owner)

Check port:
Ping host
Traceroute to host
Do it all
$msg"; flush(); } function lookup($target) { global $ntarget; if ($target != "Enter host or IP") { $msg = "$target resolved to "; if( eregi("[a-zA-Z]", $target) ) $ntarget = gethostbyname($target); else $ntarget = gethostbyaddr($target); $msg .= "$ntarget"; message($msg); } } function dig($target) { global $ntarget; message("

DNS Query Results:

"); #$target = gethostbyaddr($target); #if (! eregi("[a-zA-Z]", ($target = gethostbyaddr($target))) ) if( (!eregi("[a-zA-Z]", $target) && (!eregi("[a-zA-Z]", $ntarget)))) $msg .= "Can't do a DNS query without a hostname."; else { if(!eregi("[a-zA-Z]", $target)) $target = $ntarget; if (! $msg .= trim(nl2br(`dig any '$target'`))) #bugfix $msg .= "The dig command is not working on your system."; } #TODO: Clean up output, remove ;;'s and DiG headers $msg .= "

"; message($msg); } function wwwhois($target) { global $ntarget; $server = "whois.crsnic.net"; message("

WWWhois Results:

"); #Determine which WHOIS server to use for the supplied TLD if((eregi("\.com\$|\.net\$|\.edu\$", $target)) || (eregi("\.com\$|\.net\$|\.edu\$", $ntarget))) $server = "whois.crsnic.net"; else if((eregi("\.info\$", $target)) || (eregi("\.info\$", $ntarget))) $server = "whois.afilias.net"; else if((eregi("\.org\$", $target)) || (eregi("\.org\$", $ntarget))) $server = "whois.corenic.net"; else if((eregi("\.name\$", $target)) || (eregi("\.name\$", $ntarget))) $server = "whois.nic.name"; else if((eregi("\.biz\$", $target)) || (eregi("\.biz\$", $ntarget))) $server = "whois.nic.biz"; else if((eregi("\.us\$", $target)) || (eregi("\.us\$", $ntarget))) $server = "whois.nic.us"; else if((eregi("\.cc\$", $target)) || (eregi("\.cc\$", $ntarget))) $server = "whois.enicregistrar.com"; else if((eregi("\.ws\$", $target)) || (eregi("\.ws\$", $ntarget))) $server = "whois.nic.ws"; else { $msg .= "I only support .com, .net, .org, .edu, .info, .name, .us, .cc, .ws, and .biz.
"; message($msg); return; } message("Connecting to $server...

"); if (! $sock = fsockopen($server, 43, $num, $error, 10)) { unset($sock); $msg .= "Timed-out connecting to $server (port 43)"; } else { fputs($sock, "$target\n"); while (!feof($sock)) $buffer .= fgets($sock, 10240); } fclose($sock); if(! eregi("Whois Server:", $buffer)) { if(eregi("no match", $buffer)) message("NOT FOUND: No match for $target
"); else message("Ambiguous query, multiple matches for $target:
"); } else { $buffer = split("\n", $buffer); for ($i=0; $i
"); if(! $sock = fsockopen($nextServer, 43, $num, $error, 10)) { unset($sock); $msg .= "Timed-out connecting to $nextServer (port 43)"; } else { fputs($sock, "$target\n"); while (!feof($sock)) $buffer .= fgets($sock, 10240); fclose($sock); } } $msg .= nl2br($buffer); $msg .= "

"; message($msg); } function arin($target) { $server = "whois.arin.net"; message("

IP Whois Results:

"); if (!$target = gethostbyname($target)) $msg .= "Can't IP Whois without an IP address."; else { message("Connecting to $server...

"); if (! $sock = fsockopen($server, 43, $num, $error, 20)) { unset($sock); $msg .= "Timed-out connecting to $server (port 43)"; } else { fputs($sock, "$target\n"); while (!feof($sock)) $buffer .= fgets($sock, 10240); fclose($sock); } if (eregi("RIPE.NET", $buffer)) $nextServer = "whois.ripe.net"; else if (eregi("whois.apnic.net", $buffer)) $nextServer = "whois.apnic.net"; else if (eregi("nic.ad.jp", $buffer)) { $nextServer = "whois.nic.ad.jp"; #/e suppresses Japanese character output from JPNIC $extra = "/e"; } else if (eregi("whois.registro.br", $buffer)) $nextServer = "whois.registro.br"; if($nextServer) { $buffer = ""; message("Deferred to specific whois server: $nextServer...

"); if(! $sock = fsockopen($nextServer, 43, $num, $error, 10)) { unset($sock); $msg .= "Timed-out connecting to $nextServer (port 43)"; } else { fputs($sock, "$target$extra\n"); while (!feof($sock)) $buffer .= fgets($sock, 10240); fclose($sock); } } $buffer = str_replace(" ", " ", $buffer); $msg .= nl2br($buffer); } $msg .= "

"; message($msg); } function checkp($target,$portNum) { message("

Checking Port $portNum...

"); if (! $sock = fsockopen($target, $portNum, $num, $error, 5)) $msg .= "Port $portNum does not appear to be open."; else { $msg .= "Port $portNum is open and accepting connections."; fclose($sock); } $msg .= "

"; message($msg); } function p($target) { message("

Ping Results:

"); if (! $msg .= trim(nl2br(`ping -n 5 $target`))) $msg .= "Ping failed. Host may not be active."; #bugfix $msg .= "

"; message($msg); } function tr($target) { message("

Traceroute Results:

"); if (! $msg .= trim(nl2br(`tracert $target`))) $msg .= "Traceroute failed. Host may not be active."; #bugfix $msg .= "

"; message($msg); } #If the form has been posted, process the query, otherwise there's #nothing to do yet if(!$queryType) { include ("includes/footer.php"); exit; } #Make sure the target appears valid // if( (!$target) || (!preg_match("/^[\w\d\.\-]+\.[\w\d]{1,4}$/i",$target)) ){ #bugfix // message("Error: You did not specify a valid target host or IP."); // exit; // } #Figure out which tasks to perform, and do them if(($queryType=="all") || ($queryType=="lookup")) lookup($target); // if(($queryType=="all") || ($queryType=="dig")) dig($target); echo "
"; if(($queryType=="all") || ($queryType=="checkp")) checkp($target,$portNum); echo "
"; if(($queryType=="all") || ($queryType=="p")) p($target); echo "
"; if(($queryType=="all") || ($queryType=="arin")) arin($target); echo "
"; if(($queryType=="all") || ($queryType=="wwwhois")) wwwhois($target); echo "
"; if(($queryType=="all") || ($queryType=="tr")) tr($target); ?>

NQT20030507 Network Query Tool 1.6
Copyright 2003 shaun@shat.net