14. april 2002 - 08:32
#8
<table height="300">
<tr>
<td width="20"></td>
<td valign="top">
<span class="txt">
<p></p><br>
<b>Services information</b>
<p></p><br>
<?
$PortName = array(80=>"HTTP", 21=>"FTP", 110=>"POP3", 25=>"SMTP", 23=>"Telnet", 123=>"NTP", 119=>"News", 3306=>"MySQL");
$PortsToTest = array(21, 3306, 80, 110);
function Validate_IP($ip) {
if (is_string($ip) && ereg('^([0-9]{1,3}).([0-9]{1,3}).'.'([0-9]{1,3}).([0-9]{1,3})$', $ip, $part)) {
if ($part[1] <= 255 && $part[2] <= 225 && $part[3] <= 255 && $part[4] <= 255) {
return true;
}
}
return false;
}
function CheckService($port, $server) {
$ch = @fsockopen($server, $port, $errno, $errstr, "5");
if ($ch) {
$status[0] = true;
$status[1] = "OK";
@fclose($ch);
}
else {
$status[0] = false;
$status[1] = $errstr;
}
return $status;
}
function checkhost($host = localhost, $port, $timeout = 30) {
$noc_test = fsockopen($host, $port, $errno, $errstr, $timeout);
if ($noc_test) {
fclose($noc_test);
return $noc_test;
}
else
{ }
}
$server = chop(trim($server));
if (empty($server)) {
$server = "127.0.0.1";
}
if (Validate_IP($server)) {
$ip = $server;
$host = gethostbyaddr($ip);
}
else {
$ip = gethostbyname($server);
$host = $server;
}
?>
<div align="center">Testing services at <?=$host?>...</div>
<br><br>
<table border="0" cellspacing="0" cellpadding="2" align="center" style="border: 1px dotted #000000;">
<tr>
<td style="border: 1px dotted #000000;"><strong>Service</strong></td>
<td style="border: 1px dotted #000000;"><strong>Status</strong></td>
<td style="border: 1px dotted #000000;"><strong>String</strong></td>
</tr>
<?
foreach ($PortsToTest as $port) {
$Status = CheckService($port, $server);
echo "<tr>";
echo "<td style=\"border: 1px dotted #000000;\"><strong>$PortName[$port]</strong></td>";
if ($Status[0]) {
echo "<td style=\"border: 1px dotted #000000; color: Lime;\">Online</td>";
}
else {
echo "<td style=\"border: 1px dotted #000000; color: Red;\">Offline</td>";
}
echo "<td style=\"border: 1px dotted #000000;\">$Status[1]</td>";
echo "</tr>";
}
?>
</table>
<br><br>
<form action="<?=$PHP_SELF?>" method="post">
<table align="center" cellspacing="2" cellpadding="0" border="0">
<tr>
<td align="center"><span class="txt">Want to test another server?</span></td>
</tr>
<tr>
<td align="center"><input type="text" name="server" value="<?=$server?>"></td>
</tr>
</table>
<p></p>
<input type="submit" name="submit" value="Get Informations!">
</form>
</td>
</tr>
</table>
Har testet, det virker på win...