logo

Program pro vzdálené zapnutí počítače přes internet pomocí protokolu Wake-on-LAN.

Wake-on-LAN (WoL) je síťový standard Ethernet nebo token ring, který umožňuje zapnout nebo probudit počítač pomocí síťové zprávy. 

  • Zpráva je obvykle odeslána do cílového počítače programem spuštěným na zařízení připojeném ke stejné místní síti, jako je smartphone.
  • Je také možné iniciovat zprávu z jiné sítě pomocí vysílání zaměřeného na podsíť nebo služby brány WOL.
  • Ekvivalentní termíny zahrnují probuzení přes WAN vzdálené probuzení zapnutí pomocí LAN zapnutí LAN obnovením obnovení LAN v LAN a probuzení v LAN.

Princip činnosti  

jak převést řetězec na int java
  • Wake-on-LAN ('WOL') je implementováno pomocí speciálně navrženého paketu zvaného magic packet, který je odeslán všem počítačům v síti mezi nimi počítači, který má být probuzen.
  • Magický paket obsahuje MAC adresu cílového počítače a identifikační číslo zabudované do každé síťové karty („NIC“) nebo jiného ethernetového zařízení v počítači, které umožňuje jeho jedinečné rozpoznání a adresu v síti.
  • Vypnuté nebo vypnuté počítače schopné Wake-on-LAN budou obsahovat síťová zařízení schopná „naslouchat“ příchozím paketům v režimu nízké spotřeby, zatímco je systém vypnutý.
  • Pokud je přijat magický paket, který je nasměrován na MAC adresu zařízení, NIC signalizuje napájecímu zdroji počítače nebo základní desce, aby zahájila probuzení systému téměř stejným způsobem, jako by to udělalo stisknutí tlačítka napájení.
  • Magický paket je odeslán na vrstvě datového spojení (vrstva 2 v modelu OSI) a po odeslání je vysílán do všech připojených zařízení v dané síti pomocí vysílací adresy sítě; IP adresa (vrstva 3 v modelu OSI) se nepoužívá.

Aby Wake-on-LAN fungovalo, části síťového rozhraní musí zůstat zapnuté. To spotřebovává malé množství energie v pohotovostním režimu mnohem méně než normální provozní energie. Vypnutí funkce Wake-on-LAN, když ji nepotřebujete, se proto může mírně lišit a snížit spotřebu energie na počítačích, které jsou vypnuté, ale stále jsou zapojeny do elektrické zásuvky.



Struktura magického paketu  
Magický paket je vysílaný rámec obsahující kdekoli ve svém užitečném zatížení 6 bajtů ze všech 255 (FF FF FF FF FF FF v hexadecimální soustavě), po kterém následuje šestnáct opakování 48bitové MAC adresy cílového počítače v celkovém počtu 102 bajtů. 
Vzhledem k tomu, že magický paket je skenován pouze na výše uvedený řetězec a není ve skutečnosti analyzován úplným zásobníkem protokolů, může být odeslán jako jakýkoli protokol síťové a transportní vrstvy, i když je obvykle odesílán jako datagram UDP na port 0 7 nebo 9 nebo přímo přes Ethernet jako EtherType 0x0842.

Hru holub pro android

Standardní magický paket má následující základní omezení:   

  1. Vyžaduje MAC adresu cílového počítače (může také vyžadovat heslo SecureOn).
  2. Neposkytujte potvrzení o doručení.
  3. Nemusí fungovat mimo místní síť.
  4. Vyžaduje hardwarovou podporu Wake-On-LAN na cílovém počítači.
  5. Většina bezdrátových rozhraní 802.11 neudržuje spojení ve stavech nízké spotřeby a nemůže přijmout magický paket.

Implementace Wake-on-LAN je navržena tak, aby byla velmi jednoduchá a aby byla rychle zpracována obvody na kartě síťového rozhraní s minimálními požadavky na napájení. Protože Wake-on-LAN funguje pod vrstvou protokolu IP, je vyžadována MAC adresa a IP adresy a názvy DNS nemají smysl.

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; } 

výstup: 

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).

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

příkaz arp
Vytvořit kvíz