Hallo,
die Suche hat mich nicht so richtig weitergebracht.
Ich möchte IT Geräte die im lokalen LAN hängen per IPS Webfront oder I-Front einschalten und ev. auch wieder ausschalten können, und das Ganze mit WakeOnLan Paketen.
Ich nutze bereits Steiners Geräte Abfrage mit Sys_Ping vielleicht lässt sich hier eine Erweiterung durchführen aber ich schätze, so etwas gint es sowieso bereits irgendwo?
Irgendwelche Ideen?
dapor
16. Juni 2011 um 11:34
2
<?php
$mac = '00:xx:xx:xx:xx:xx; //MAC Adresse
$ip = 'udp://meine.domain.de'; //oder mit IP z.B.: udp://192.168.0.1
$port = 80;
function wakeup($mac_addr,$router_addr, $port) {
if ($fp = fsockopen($router_addr, $port, $errno, $errstr, 4)) {
//erlaubte Zeichen:
$hexchars = array("0","1","2","3","4","5","6","7","8","9",
"A","B","C","D","E","F",
"a","b","c","d","e","f"
);
// 6 "volle" bytes (Also mit Wert 255 bzw. FF in hexadezimal)
$data = "\xFF\xFF\xFF\xFF\xFF\xFF";
$hexmac = "";
// Jetzt werden unntige zeichen in der mac-adresse
// entfern (also z.B. die bindestriche usw.)
for ($i = 0; $i < strlen($mac_addr); $i++) {
if (!in_array(substr($mac_addr, $i, 1), $hexchars)) {
$mac_addr = str_replace(substr($mac_addr, $i, 1), "",
$mac_addr);
echo $mac_addr;
}
}
for ($i = 0; $i < 12; $i += 2) {
$hexmac .= chr(hexdec(substr($mac_addr, $i, 2)));
}
// Hexadresse wird 16mal hintereinandergeschrieben
for ($i = 0; $i < 16; $i++) {
$data .= $hexmac;
}
fputs($fp, $data);
fclose($fp);
echo 'MagicPaket wurde verschickt';
return true;
}
Else {
echo "<b>Warnung: $errno</b> $errstr<br>";
return false;
}
}
wakeup($mac, $ip, $port);
?>
habe es aber nicht getestet...übrigens das ergebnis von 2min Lady G.
Ergebnis von 2min Lady G.
Konnte es aber selber noch nihct testen…
danke dapor, das testen übernehme ich… Danke
dapor
16. Juni 2011 um 11:41
4
super, warte dann auf Feedback…
ralf
16. Juni 2011 um 12:02
5