logo

Programma, lai attālināti ieslēgtu datoru, izmantojot internetu, izmantojot Wake-on-LAN protokolu.

Wake-on-LAN (WoL) ir Ethernet vai marķiera gredzena datoru tīklu standarts, kas ļauj ieslēgt vai pamodināt datoru ar tīkla ziņojumu. 

  • Parasti ziņojumu uz mērķa datoru nosūta programma, kas tiek izpildīta ierīcē, kas savienota ar to pašu lokālo tīklu, piemēram, viedtālrunī.
  • Ir iespējams arī iniciēt ziņojumu no cita tīkla, izmantojot apakštīkla apraides vai WOL vārtejas pakalpojumu.
  • Līdzvērtīgi termini ietver wake on WAN attālās modināšanas ieslēgšana ar LAN ieslēgšana ar LAN atsākšana ar LAN atsākšana LAN un aktivizēšana LAN.

Darbības princips  

  • Wake-on-LAN ("WOL") tiek īstenota, izmantojot īpaši izstrādātu paketi, ko sauc par burvju paketi, kas tiek nosūtīta visiem datoriem tīklā, tostarp pamodināmajam datoram.
  • Burvju pakete satur mērķa datora MAC adresi un identifikācijas numuru, kas iebūvēts katrā tīkla interfeisa kartē (NIC) vai citās datora Ethernet ierīcēs, kas ļauj to unikāli atpazīt un adresēt tīklā.
  • Izslēgtos vai izslēgtos datoros, kas spēj aktivizēt LAN, būs tīkla ierīces, kas spēj “klausīties” ienākošās paketes mazjaudas režīmā, kamēr sistēma ir izslēgta.
  • Ja tiek saņemta maģiska pakete, kas tiek novirzīta uz ierīces MAC adresi, NIC signalizē datora barošanas avotam vai mātesplatei, lai sāktu sistēmas aktivizēšanu tādā pašā veidā, kā to darītu, nospiežot barošanas pogu.
  • Burvju pakete tiek nosūtīta datu posma slānī (2. slānis OSI modelī) un pēc nosūtīšanas tiek pārraidīta uz visām pievienotajām ierīcēm noteiktā tīklā, izmantojot tīkla apraides adresi; IP adrese (OSI modelī 3. slānis) netiek izmantota.

Lai Wake-on-LAN darbotos, tīkla saskarnes daļām ir jāpaliek ieslēgtām. Tas patērē nelielu daudzumu gaidstāves enerģijas daudz mazāk nekā parastā darbības jauda. Atspējojot modināšanas LAN, kad tas nav nepieciešams, var nedaudz samazināties enerģijas patēriņš datoros, kas ir izslēgti, bet joprojām ir pievienoti strāvas kontaktligzdai.



Burvju pakešu struktūra  
Maģiskā pakete ir apraides rāmis, kas satur 6 baitus no visiem 255 (FF FF FF FF FF FF heksadecimālā formātā), kam seko sešpadsmit mērķa datora 48 bitu MAC adreses atkārtojumi, kopā 102 baiti. 
Tā kā burvju pakete tiek skenēta tikai attiecībā uz iepriekš minēto virkni un faktiski netiek parsēta ar pilnu protokolu steku, to var nosūtīt kā jebkuru tīkla un transporta slāņa protokolu, lai gan parasti tā tiek nosūtīta kā UDP datagramma uz portu 0 7 vai 9 vai tieši caur Ethernet kā EtherType 0x0842.

Standarta burvju paketei ir šādi pamata ierobežojumi:   

  1. Nepieciešama mērķa datora MAC adrese (var būt nepieciešama arī SecureOn parole).
  2. Nesniedziet piegādes apstiprinājumu.
  3. Var nedarboties ārpus lokālā tīkla.
  4. Nepieciešams Wake-On-LAN aparatūras atbalsts mērķa datorā.
  5. Lielākā daļa 802.11 bezvadu saskarņu neuztur saiti mazjaudas stāvokļos un nevar saņemt burvju paketi.

Wake-on-LAN ieviešana ir izstrādāta tā, lai tā būtu ļoti vienkārša, un to ātri apstrādā tīkla interfeisa kartē esošā shēma ar minimālu enerģijas patēriņu. Tā kā Wake-on-LAN darbojas zem IP protokola slāņa, ir nepieciešama MAC adrese, kas padara IP adreses un DNS nosaukumus bezjēdzīgus.

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

Izvade: 

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

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

Izveidojiet viktorīnu