- Mitglied seit
- 10. Jan 2014
- Beiträge
- 393
- Punkte für Reaktionen
- 0
- Punkte
- 0
Hallo,
aufgrund mehrerer Diskussionen wegen des Themas "WOL geht nicht über Internet", habe ich ein wenig geforscht.
Auf Wikipedia (http://de.wikipedia.org/wiki/Wake_On_LAN) steht, dass WOL nicht nur per Broadcast verschickt werden kann, sonder auch gezielt an eine IP-Adresse.
Dazu braucht man allerdings auch einen Client, der das unterstützt (Linux "ether-wake" kann es z.B. nicht, Linux "wol" schon).
Ich benutze unter Android das hier https://play.google.com/store/apps/details?id=com.benfinnigan.wol
Und im Screenshot kann man auch die Option "Send as broadcast" sehen.
Was muss man also machen, damit man die DS aus dem Internet aufwecken kann?
1. DDNS besorgen
2. Portweiterleitung einrichten. Protokoll UDP, Sourceport 9 (kann geändert werden), Zielport 9, Zielhost DS
3. MAC-Adresse der DS besorgen
4. Client einrichten. MAC ist die der DS, IP/Domain ist der DDNS-Name, Port 9 (kann geändert werden), KEIN Broadcast
5. DS ausschalten
6. DS über Internet wieder einschalten und freuen
Cool...
In der Überschrift steht aber auch "Run on lan"???
Mir kam die Idee, dass man das doch auch missbrauchen könnte.
Im WOL Paket wird die MAC des zu weckenden Systems mitgeschickt, damit die Netzwerkkarte nur dann den Rechner weckt, wenn man sie auch explizit anspricht.
Wenn das System aber online ist, könnte man dort einen Service implementieren, der auf ein bestimmtes Paket lauscht und dann eine Aktion ausführt.
Ich habe ein kleines Spassprogramm "rol" geschrieben (Quick&Dirty), das man für die DS kompilieren kann.
Das Programm lauscht auf UDP Port 9 und erwartet ein Paket für die MAC "AF-FE-AF-FE-00-01"
Wenn dieses Paket eintrifft, wird das Kommando ausgeführt, dass beim Start von rol als Parameter angegeben wurde.
Als root kann man z.B.
./rol "/sbin/shutdown -h 0"
machen.
Und beim Eintreffen des richtigen Pakets fährt die DS runter.
Ist, wie gesagt, Quick&Dirty.
Anhang anzeigen rol.c.txt
aufgrund mehrerer Diskussionen wegen des Themas "WOL geht nicht über Internet", habe ich ein wenig geforscht.
Auf Wikipedia (http://de.wikipedia.org/wiki/Wake_On_LAN) steht, dass WOL nicht nur per Broadcast verschickt werden kann, sonder auch gezielt an eine IP-Adresse.
Dazu braucht man allerdings auch einen Client, der das unterstützt (Linux "ether-wake" kann es z.B. nicht, Linux "wol" schon).
Ich benutze unter Android das hier https://play.google.com/store/apps/details?id=com.benfinnigan.wol
Und im Screenshot kann man auch die Option "Send as broadcast" sehen.
Was muss man also machen, damit man die DS aus dem Internet aufwecken kann?
1. DDNS besorgen
2. Portweiterleitung einrichten. Protokoll UDP, Sourceport 9 (kann geändert werden), Zielport 9, Zielhost DS
3. MAC-Adresse der DS besorgen
4. Client einrichten. MAC ist die der DS, IP/Domain ist der DDNS-Name, Port 9 (kann geändert werden), KEIN Broadcast
5. DS ausschalten
6. DS über Internet wieder einschalten und freuen
Cool...
In der Überschrift steht aber auch "Run on lan"???
Mir kam die Idee, dass man das doch auch missbrauchen könnte.
Im WOL Paket wird die MAC des zu weckenden Systems mitgeschickt, damit die Netzwerkkarte nur dann den Rechner weckt, wenn man sie auch explizit anspricht.
Wenn das System aber online ist, könnte man dort einen Service implementieren, der auf ein bestimmtes Paket lauscht und dann eine Aktion ausführt.
Ich habe ein kleines Spassprogramm "rol" geschrieben (Quick&Dirty), das man für die DS kompilieren kann.
Das Programm lauscht auf UDP Port 9 und erwartet ein Paket für die MAC "AF-FE-AF-FE-00-01"
Wenn dieses Paket eintrifft, wird das Kommando ausgeführt, dass beim Start von rol als Parameter angegeben wurde.
Als root kann man z.B.
./rol "/sbin/shutdown -h 0"
machen.
Und beim Eintreffen des richtigen Pakets fährt die DS runter.
Ist, wie gesagt, Quick&Dirty.
Anhang anzeigen rol.c.txt