'2.2') { $cmd = '/usr/bin/drill'; } else { $cmd = '/usr/bin/dig'; } if(isset($_POST['create_alias']) && (is_hostname($host) || is_ipaddr($host))) { if($_POST['override']) $override = true; $resolved = gethostbyname($host); $type = "hostname"; if($resolved) { $resolved = array(); exec("{$cmd} {$host_esc} A | /usr/bin/grep {$host_esc} | /usr/bin/grep -v ';' | /usr/bin/awk '{ print $5 }'", $resolved); $isfirst = true; foreach($resolved as $re) { if($re <> "") { if(!$isfirst) $addresses .= " "; $addresses .= rtrim($re) . "/32"; $isfirst = false; } } $newalias = array(); if($override) $alias_exists = false; if($alias_exists == false) { $newalias['name'] = $aliasname; $newalias['type'] = "network"; $newalias['address'] = $addresses; $newalias['descr'] = "Created from Diagnostics-> DNS Lookup"; if($override) $a_aliases[$id] = $newalias; else $a_aliases[] = $newalias; write_config(); $createdalias = true; } } } if ($_POST) { unset($input_errors); $reqdfields = explode(" ", "host"); $reqdfieldsn = explode(",", "Host"); do_input_validation($_POST, $reqdfields, $reqdfieldsn, $input_errors); if (!is_hostname($host) && !is_ipaddr($host)) { $input_errors[] = gettext("Host must be a valid hostname or IP address."); } else { // Test resolution speed of each DNS server. $dns_speeds = array(); $dns_servers = array(); exec("/usr/bin/grep nameserver /etc/resolv.conf | /usr/bin/cut -f2 -d' '", $dns_servers); foreach ($dns_servers as $dns_server) { $query_time = exec("{$cmd} {$host_esc} " . escapeshellarg("@" . trim($dns_server)) . " | /usr/bin/grep Query | /usr/bin/cut -d':' -f2"); if($query_time == "") $query_time = gettext("No response"); $new_qt = array(); $new_qt['dns_server'] = $dns_server; $new_qt['query_time'] = $query_time; $dns_speeds[] = $new_qt; unset($new_qt); } } $type = "unknown"; $resolved = ""; $ipaddr = ""; $hostname = ""; if (!$input_errors) { if (is_ipaddr($host)) { $type = "ip"; $resolved = gethostbyaddr($host); $ipaddr = $host; if ($host != $resolved) $hostname = $resolved; } elseif (is_hostname($host)) { $type = "hostname"; $resolved = gethostbyname($host); if($resolved) { $resolved = array(); exec("{$cmd} {$host_esc} A | /usr/bin/grep {$host_esc} | /usr/bin/grep -v ';' | /usr/bin/awk '{ print $5 }'", $resolved); } $hostname = $host; if ($host != $resolved) $ipaddr = $resolved[0]; } if ($host == $resolved) { $resolved = gettext("No record found"); } } } function display_host_results ($address,$hostname,$dns_speeds) { $map_lengths = function($element) { return strlen($element[0]); }; echo gettext("IP Address") . ": {$address} \n"; echo gettext("Host Name") . ": {$hostname} \n"; echo "\n"; $text_table = array(); $text_table[] = array(gettext("Server"), gettext("Query Time")); if (is_array($dns_speeds)) { foreach ($dns_speeds as $qt) { $text_table[] = array(trim($qt['dns_server']), trim($qt['query_time'])); } } $col0_padlength = max(array_map($map_lengths, $text_table)) + 4; foreach ($text_table as $text_row) { echo str_pad($text_row[0], $col0_padlength) . $text_row[1] . "\n"; } } include("head.inc"); ?>
= "") { echo $hostitem . "
"; $found++; } } } else { echo $resolved; } if($found > 0) { ?>
An alias already exists for the hostname .
Alias created with name





























 
  ">