Wake on Lan senden unter Windows 7

Gast #2500935
Lesenswert?

Moin!

Ich hab da ein Problem mit Wake On LAN. Ich möchte meinen Server per WOL 
von einem Windows 7 Laptop aus aufwecken.

Wenn ich mich in die Fritzbox einlogge kann ich darüber den Server 
starten. Folglich ist der Server richtig konfiguriert.

Aber mit keinem der ausprobierten Programme war es mir möglich vom 
Laptop aus ein WOL Packet zu senden. Ich hab per Netzwerkshiffer 
nachgeschaut, es wird nichts gesendet. Der Laptop ist per WLAN mit der 
Fritzbox verbunden, falls das wichtig ist.

Jemand ne Idee wodran das liegen könnte?
Gast #2501350
Lesenswert?

Hmm,
also ich verwende - ebenfalls unter 7 - das Programm WOLcmd.exe zum 
Erwecken meines Fileservers. Versuch's doch einfach mal damit. Auf ein 
getestetes Programm mehr oder weniger scheint es ja nicht mehr 
anzukommen :)


Gruessle

André
#2501480
Lesenswert?

Generelles Problem mit WOL:
Wenn der aufzuweckende Rechner aus ist, vergessen Router/PCs nach ein 
paar Minuten gerne die MAC-Adresse des Rechners und können das 
Magic-Paket nicht mehr zustellen. Dann hilft manchmal die Broadcast-IP 
statt der Rechner IP einzutragen. (wolcmd macht das glaube ich 
standardmässsig so)

----

Irgendeine VPN-Software drauf oder VMware/Virtualbox/VirtualPC oder 
sonst Software, die evtl. Paketfilter installiert haben könnte und das 
möglicherweise wegfiltern könnte?
Gast #2501508
Lesenswert?

Bernd H. schrieb:
> Irgendeine VPN-Software drauf oder VMware/Virtualbox/VirtualPC oder
> sonst Software, die evtl. Paketfilter installiert haben könnte und das
> möglicherweise wegfiltern könnte?

MEINE GÜTE!!!!! Wie soll man denn bitte auf sowas kommen?!?

Ich hab jetzt den VirtualBox HostOnly Netzwerkadapter deaktiviert, und 
nun geht es! Danke! Mal im Ernst, wie bist du auf die Idee mit dem 
VMware/Virtualbox/VirtualPC gekommen?
Gast #4443900
Lesenswert?

Bernd H. schrieb:
> Irgendeine VPN-Software drauf oder VMware/Virtualbox/VirtualPC oder
> sonst Software, die evtl. Paketfilter installiert haben könnte und das
> möglicherweise wegfiltern könnte?

Danke Dir. Hatte mich schon dumm und dämlich gesucht. Von 3 PCs & 2 
Smartphones konnte ich meinen Server wecken, nur von meinem PC aus 
nicht. VirtualBox Host-Only Network Adapter deaktiviert und nun gehts. 
Da muß man erstmal draufkommen. Danke Danke Danke

Zwar schon länger her aber mir egal.
Gast #4443998
Lesenswert?

Max schrieb:

> Aber mit keinem der ausprobierten Programme war es mir möglich vom
> Laptop aus ein WOL Packet zu senden.

Das ist unter Win7 (eigentlich schon ab Vista) für Anwendungen nur noch 
mit sehr heftigen Verrenkungen möglich, weil Winzigweich die Verwendung 
von "RAW"-Sockets sehr stark reglementiert hat (und nur über so einen 
kann man wirklich ein "echtes" WoL-Paket senden).

Angeblich erhöht das die Sicherheit, tatsächlich ist das aber genauso 
schwachsinnig wie etwa die Linux-Restriktion, dass nur root an TCP-Ports 
< 1024 "listen" darf.

Solche Beschränkungen funktionieren im Sinne der Sicherheit nämlich 
immer nur genau dann, wenn sich ALLE daran halten. Da man das von 
einem potentiellen Angreifer aber niemals erwarten kann (sondern 
natürlich eher das genaue Gegenteil), ist das alles nur 
Pseudosicherheit. Also im Endeffekt vollkommen nutzloser grenzdebiler 
Schwachsinn, der bezüglich der Sicherheit allenfalls temporär positiv 
wirksam sein kann (nämlich: bis sich der Angreifer darauf eingestellt 
hat).
(Firma: Q3) #4444132
Lesenswert?

- ein schlafender Rechner hat keine IP-Adresse
- wenn ein Switch die MAC-Adresse aus seiner Liste gelöscht hat und es 
kommt ein Paket für diese MAC-Adresee an, sendet er es wie ein Hub an 
alle Ports
- am Besten funktioniert ein UDP-Paket an die Broadcast-IP des Netzes

Wen es interessiert, hier ist PHP-Code für WOL. den man z.B. auf einem 
NAS mit Webserver ablegen kann:
1
function wol($broadcast, $mac)
2
{
3
    $mac_array = split(':', $mac);
4

5
    $hwaddr = '';
6

7
    foreach($mac_array AS $octet)
8
    {
9
        $hwaddr .= chr(hexdec($octet));
10
    }
11

12
    // Create Magic Packet
13

14
    $packet = '';
15
    for ($i = 1; $i <= 6; $i++)
16
    {
17
        $packet .= chr(255);
18
    }
19

20
    for ($i = 1; $i <= 16; $i++)
21
    {
22
        $packet .= $hwaddr;
23
    }
24

25
    $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
26
    if ($sock)
27
    {
28
        $options = socket_set_option($sock, 1, 6, true);
29

30
        if ($options >=0) 
31
        {    
32
            $e = socket_sendto($sock, $packet, strlen($packet), 0, $broadcast, 7);
33
            socket_close($sock);
34
        }    
35
    }
36
}
Gast #4444148
Lesenswert?

c-hater schrieb:
> Das ist unter Win7 (eigentlich schon ab Vista) für Anwendungen nur noch
> mit sehr heftigen Verrenkungen möglich, weil Winzigweich die Verwendung
> von "RAW"-Sockets sehr stark reglementiert hat (und nur über so einen
> kann man wirklich ein "echtes" WoL-Paket senden).

Es gibt keine rechte WOL packet

http://support.amd.com/TechDocs/20213.pdf
[...]
This sequence can be located anywhere within the
packet, but must be preceded by a synchronization
stream. The synchronization stream allows the scanning
state machine to be much simpler. The synchronization
stream is defined as 6 bytes of FFh.
[...]

Man darf also die Sequenz einfach in einen UDP oder ICMP paket 
mitschicken und schon braucht man keine RAW-Socket
Gast #4445424
Lesenswert?

Peter II schrieb:

> Es gibt keine rechte WOL packet
[...]
> but must be preceded by a synchronization
> stream

Du hast nicht verstanden, was in diesem Nebensatz steckt...

> Man darf also die Sequenz einfach in einen UDP oder ICMP paket
> mitschicken und schon braucht man keine RAW-Socket

Genau das geht eben nicht. Das steckt in diesem Nebensatz...

Das ganze Feature, was AMD in deinem Zitat beschreibt, hilft nur den 
Herstellern von L4-Switches, ihre Hardware billig mit Remote-WoL 
ausstatten zu können. Es hilft dir nur rein garnix unter üblichen OS. Du 
müsstest an den Layer0 (also den NIC-Treiber selber) ran, um dieses 
Feature nutzen zu können. Und da kommst du noch viel schwerer dran als 
an "RAW"-Sockets. Meistens schlicht garnicht, weil die Treiber erst 
garkeine entsprechende Funktionalität exportieren...

Kurzfassung: Du hast keine Ahnung, wovon du redest.
(Firma: Q3) #4445553
Lesenswert?

c-hater schrieb:
> Genau das geht eben nicht. Das steckt in diesem Nebensatz...

Doch, doch! Ich widerspreche aus eigener Erfahrung!

Die spezielle "Magic-" Folge (6 mal die MAC plus irgendwas dazwischen) 
kann in einem beliebigen Ethernet-Frame stecken, egal, ob da noch ein 
TCP-Header oder sonstwas davor bzw. drum herum steht. Hauptsache, das 
kommt am Netzwerkprozessor "vorbei". Wird die Bytefolge (und um nichts 
anderes geht es) innerhalb eines Frames entdeckt, führt das zum 
Aufwecken ...
(Firma: Q3) #4445943
Lesenswert?

Peter II schrieb:
> c-hater schrieb:
>> Kurzfassung: Du hast keine Ahnung, wovon du redest.
>
> oder du, hast du das dokument gelesen was die synchronization ist?
>
> aber für dich suche ich es gerne noch mal raus:
>
> [...]
> The synchronization
> stream is defined as 6 bytes of FFh.
> [...]

Das ist doch bereits Bestandteil des "magic packet"!

Zitat: "Es enthält sechsmal in Folge den hexadezimalen Wert FF; 
unmittelbar danach erscheint die ununterbrochene 16-malige Wiederholung 
der MAC-Adresse der Netzwerkkarte des jeweiligen Zielsystems."

Und das darf in jedem beliebigen Ethernetframe drinstecken, egal ob 
mit zus. Headern oder nicht ....

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren