FTP Server-Status abfragen
Verfasst: 12. Feb 2014, 14:38
Hallo,
ich habe mir ein Modul zusammengebastelt, welches die Verfügbarkeit der Services eines Servers abfragt u. anzeigt.
Das Modul sieht so aus:
Eingabe:
Ausgabe:
Wer's mal runterladen will: http://greatif.cwsurf.de/files/redaxo_s ... ul_1.0.rar
Das Modul checkt also via "fsockopen" die Ports für FTP, HTTP, etc. und gibt dementsprechend grünes oder rotes Licht... Soweit alles Prima.
Jetzt aber zu meiner Frage:
Ich habe hier (über eine dynamische IP) einen FTP-Server (Software: CesarFTP) gestartet, dem ich über DynDNS eine feste URL zugewiesen habe. Die dynamische IP wird mittels DynDNS Updater immer akutalisiert, sodass der FTP-Server immer unter der bestimmten URL zu erreichen ist. Das funzt soweit ebenfalls bestens.
Wenn ich jetzt über das o.g. Modul die Erreichbarkeit des FTP-Servers über diese DynDNS-URL feststellen will, bekomme ich beim FTP-Port immer ausgegeben, dass dieser nicht erreichbar ist - auch wenn der Server on ist.
Hat jemand ne Idee, wie sich dieses Problem lösen lässt, d.h. wie man im o.g. Modul die Erreichbarkeit eines FTP-Servers mit dynamischer IP u. vorgeschalteter fester URL abfragen kann?!
ich habe mir ein Modul zusammengebastelt, welches die Verfügbarkeit der Services eines Servers abfragt u. anzeigt.
Das Modul sieht so aus:
Eingabe:
Code: Alles auswählen
<b>Server:</b><br />
<input type=text size=80 name=VALUE[1] value="REX_VALUE[1]"><br />
<b>Position der Status-Tabelle:</b><br />
<i>(left, right od. center)</i><br />
<input type=text size=80 name=VALUE[2] value="REX_VALUE[2]">
Code: Alles auswählen
<link href="/files/status/status-tabelle.css" type="text/css" media="screen" rel="stylesheet" />
<?php
function check_port($port) {
$conn = @fsockopen("REX_VALUE[1]", $port, $errno, $errstr, 5);
if ($conn) {
fclose($conn);
return true;
}
}
function server_report() {
$report = array();
$svcs = array('21'=>'FTP',
'22'=>'SSH',
'25'=>'SMTP',
'80'=>'HTTP',
'110'=>'POP3',
'143'=>'IMAP',
'3306'=>'MySQL');
foreach ($svcs as $port=>$service) {
$report[$service] = check_port($port);
}
return $report;
}
$report = server_report();
?>
<div id="status-tabelle" align="REX_VALUE[2]">
<b>REX_VALUE[1]</b>
<table>
<tr>
<td>Service</td>
<td>Status</td>
</tr>
<tr>
<td>FTP</td>
<td><?php echo $report['FTP'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\" title=\"Offline\">"; ?></td>
</tr>
<tr>
<td>SSH</td>
<td><?php echo $report['SSH'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\" title=\"Offline\">"; ?></td>
</tr>
<tr>
<td>SMTP</td>
<td><?php echo $report['SMTP'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\" title=\"Offline\">"; ?></td>
</tr>
<tr>
<td>HTTP</td>
<td><?php echo $report['HTTP'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\" title=\"Offline\">"; ?></td>
</tr>
<tr>
<td>POP3</td>
<td><?php echo $report['POP3'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\" title=\"Offline\">"; ?></td>
</tr>
<tr>
<td>IMAP</td>
<td><?php echo $report['IMAP'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\" title=\"Offline\">"; ?></td>
</tr>
<tr>
<td>MySQL</td>
<td><?php echo $report['MySQL'] ? "<img src=\"files/status/gruen.png\" title=\"Online\">" : "<img src=\"files/status/rot.png\" title=\"Offline\">"; ?></td>
</tr>
</table>
</div>
Das Modul checkt also via "fsockopen" die Ports für FTP, HTTP, etc. und gibt dementsprechend grünes oder rotes Licht... Soweit alles Prima.
Jetzt aber zu meiner Frage:
Ich habe hier (über eine dynamische IP) einen FTP-Server (Software: CesarFTP) gestartet, dem ich über DynDNS eine feste URL zugewiesen habe. Die dynamische IP wird mittels DynDNS Updater immer akutalisiert, sodass der FTP-Server immer unter der bestimmten URL zu erreichen ist. Das funzt soweit ebenfalls bestens.
Wenn ich jetzt über das o.g. Modul die Erreichbarkeit des FTP-Servers über diese DynDNS-URL feststellen will, bekomme ich beim FTP-Port immer ausgegeben, dass dieser nicht erreichbar ist - auch wenn der Server on ist.
Hat jemand ne Idee, wie sich dieses Problem lösen lässt, d.h. wie man im o.g. Modul die Erreichbarkeit eines FTP-Servers mit dynamischer IP u. vorgeschalteter fester URL abfragen kann?!