logo

Programm zum Remote-Einschalten eines PCs über das Internet mithilfe des Wake-on-LAN-Protokolls.

Wake-on-LAN (WoL) ist ein Ethernet- oder Token-Ring-Computernetzwerkstandard, der es ermöglicht, einen Computer durch eine Netzwerknachricht einzuschalten oder aufzuwecken. 

  • Die Nachricht wird normalerweise von einem Programm an den Zielcomputer gesendet, das auf einem Gerät ausgeführt wird, das mit demselben lokalen Netzwerk verbunden ist, beispielsweise einem Smartphone.
  • Es ist auch möglich, die Nachricht von einem anderen Netzwerk aus zu initiieren, indem subnetzgesteuerte Broadcasts oder ein WOL-Gateway-Dienst verwendet werden.
  • Zu den äquivalenten Begriffen gehören Wake-on-WAN, Remote-Wake-up, Einschalten durch LAN, Einschalten durch LAN-Wiederaufnahme durch LAN-Wiederaufnahme im LAN und Wake-up-on-LAN.

Funktionsprinzip  

  • Wake-on-LAN („WOL“) wird mithilfe eines speziell entwickelten Pakets namens „Magic Packet“ implementiert, das an alle Computer in einem Netzwerk gesendet wird, darunter auch an den Computer, der aktiviert werden soll.
  • Das Magic Packet enthält die MAC-Adresse des Zielcomputers, eine Identifikationsnummer, die in jede Netzwerkschnittstellenkarte (NIC) oder andere Ethernet-Geräte in einem Computer integriert ist und eine eindeutige Erkennung und Adressierung in einem Netzwerk ermöglicht.
  • Heruntergefahrene oder ausgeschaltete Computer, die Wake-on-LAN unterstützen, enthalten Netzwerkgeräte, die eingehende Pakete im Energiesparmodus „abhören“ können, während das System ausgeschaltet ist.
  • Wenn ein magisches Paket empfangen wird, das an die MAC-Adresse des Geräts gerichtet ist, signalisiert die Netzwerkkarte dem Netzteil oder der Hauptplatine des Computers, das System aufzuwecken, ähnlich wie das Drücken des Netzschalters.
  • Das Magic Packet wird auf der Datenverbindungsschicht (Schicht 2 im OSI-Modell) gesendet und beim Senden an alle angeschlossenen Geräte in einem bestimmten Netzwerk unter Verwendung der Netzwerk-Broadcast-Adresse gesendet. die IP-Adresse (Schicht 3 im OSI-Modell) wird nicht verwendet.

Damit Wake-on-LAN funktioniert, müssen Teile der Netzwerkschnittstelle eingeschaltet bleiben. Dies verbraucht eine kleine Menge Standby-Strom, viel weniger als der normale Betriebsstrom. Das Deaktivieren von Wake-on-LAN bei Nichtbedarf kann daher den Stromverbrauch auf Computern, die ausgeschaltet sind, aber noch an eine Steckdose angeschlossen sind, leicht reduzieren.



Einfügen Sortieren Java

Magische Paketstruktur  
Das Magic Packet ist ein Broadcast-Frame, der irgendwo in seiner Nutzlast 6 Bytes aller 255 (FF FF FF FF FF FF in Hexadezimalzahl) enthält, gefolgt von sechzehn Wiederholungen der 48-Bit-MAC-Adresse des Zielcomputers für insgesamt 102 Bytes. 
Da das Magic Packet nur auf die obige Zeichenfolge gescannt und nicht tatsächlich von einem vollständigen Protokollstapel analysiert wird, kann es als jedes Netzwerk- und Transportschichtprotokoll gesendet werden, obwohl es normalerweise als UDP-Datagramm an Port 0, 7 oder 9 oder direkt über Ethernet als EtherType 0x0842 gesendet wird.

Ein Standard-Magic-Paket weist die folgenden grundlegenden Einschränkungen auf:   

  1. Erfordert die MAC-Adresse des Zielcomputers (möglicherweise ist auch ein SecureOn-Passwort erforderlich).
  2. Geben Sie keine Lieferbestätigung ab.
  3. Funktioniert möglicherweise nicht außerhalb des lokalen Netzwerks.
  4. Erfordert Hardwareunterstützung von Wake-On-LAN auf dem Zielcomputer.
  5. Die meisten drahtlosen 802.11-Schnittstellen halten in Energiesparzuständen keine Verbindung aufrecht und können kein Magic Packet empfangen.

Die Wake-on-LAN-Implementierung ist so konzipiert, dass sie sehr einfach ist und von den auf der Netzwerkschnittstellenkarte vorhandenen Schaltkreisen bei minimalem Strombedarf schnell verarbeitet werden kann. Da Wake-on-LAN unterhalb der IP-Protokollschicht arbeitet, ist die MAC-Adresse erforderlich und macht IP-Adressen und DNS-Namen bedeutungslos.

Java-Listen
C
// C program to remotely Power On a PC over the // internet using the Wake-on-LAN protocol. #include  #include  #include  #include  #include  #include    #include  #include  int main() {  int i;  unsigned char toSend[102]mac[6];  struct sockaddr_in udpClient udpServer;  int broadcast = 1 ;  // UDP Socket creation  int udpSocket = socket(AF_INET SOCK_DGRAM 0);  // Manipulating the Socket  if (setsockopt(udpSocket SOL_SOCKET SO_BROADCAST  &broadcast sizeof broadcast) == -1)  {  perror('setsockopt (SO_BROADCAST)');  exit(EXIT_FAILURE);  }  udpClient.sin_family = AF_INET;  udpClient.sin_addr.s_addr = INADDR_ANY;  udpClient.sin_port = 0;  //Binding the socket  bind(udpSocket (struct sockaddr*)&udpClient sizeof(udpClient));  for (i=0; i<6; i++)  toSend[i] = 0xFF;  // Let the MAC Address be ab:cd:ef:gh:ij:kl  mac[0] = 0xab; // 1st octet of the MAC Address  mac[1] = 0xcd; // 2nd octet of the MAC Address  mac[2] = 0xef; // 3rd octet of the MAC Address  mac[3] = 0xgh; // 4th octet of the MAC Address  mac[4] = 0xij; // 5th octet of the MAC Address  mac[5] = 0xkl; // 6th octet of the MAC Address  for (i=1; i<=16; i++)  memcpy(&toSend[i*6] &mac 6*sizeof(unsigned char));  udpServer.sin_family = AF_INET;  // Broadcast address  udpServer.sin_addr.s_addr = inet_addr('10.89.255.255');  udpServer.sin_port = htons(9);  sendto(udpSocket &toSend sizeof(unsigned char) * 102 0  (struct sockaddr*)&udpServer sizeof(udpServer));  return 0; } 

Ausgabe: 

This program will power on the switched-off PC  
whose MAC Address is used in this program (the
PC and the Host computer must be connected over
LAN).

Referenz :  
https://en.wikipedia.org/wiki/Wake-on-LAN
 

Quiz erstellen