Rechner via PHP Pingen

Hier ein Script zum pingen (getestet unter Linux) eines Rechners. Hierbei ging es generell darum eine kleine Übersicht über Pools zu schaffen, bei der man auf einen Blick sieht, welche Rechner angeschalten sind und welche nicht.

Zusätzlich war noch geplant eine Abfrage per WMI zu machen um hier auch noch anzuzeigen, ob der Rechner belegt ist, oder nicht. Diese implementierung wird noch nachgeholt.

Prinzip:
Um dieses Script zu verwenden genügt es, die entsprechende php Datei im <img> Tag als Source mit dem entsprechenden Rechnernamen (ohne suffix) anzugeben ( z.b. <img src=“availability.php?name=mycomp“ width=“114″ height=“114″ /> ).
Entsprechende Bilder die verwendet wurden sind im Anhang zu finden. Diese Bilder werden zur Laufzeit mit dem gewählten Font entsprechend mit dem angegebenen Rechnernamen beschriftet.

Vorsicht: Dieses script bedarf noch diverse Anpassungen (u.a. Security) um das Ausführen diverser Befehle auf einem evtl. unsicheren System zu vermeiden .

Anmerkung: Der WWW Benutzer muss natürlich über entsprechend Rechte verfügen das Programm „Ping“ mit der Funktion „exec“ auszuführen.

Datei: availability.php
$rechnername = strtoupper($_GET[„name“]);
$rechnername = addslashes($rechnername);
$address = gethostbyname($rechnername.“.domainsuffix“);

$command = „ping -c 1 -t 10 “ . $address;
$r = exec($command);
if ($r[0]==“r“)
{
$socket = socket_create (AF_INET, SOCK_STREAM, 0);
if ($socket < 0)
{
$srcpic = „rechner.jpg“;
} else {
$srcpic = „rechner_on.jpg“;
}
}else{

$srcpic = „rechner.jpg“;

}

$img_handle = imagecreatefromjpeg($srcpic);

$font = ‚/path/to/FONT.ttf‘;
$black = imagecolorallocate($img_handle, 0, 0, 0);
imagettftext($img_handle, 20, 0, 15, 62, $black, $font, $rechnername);

header („Content-type: image/png“);
ImagePng($img_handle);

?>

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.