{"id":261531,"date":"2015-07-15T17:09:02","date_gmt":"2015-07-15T13:09:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=261531"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=261531","title":{"rendered":"\u0423\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e Mac-\u0430\u0434\u0440\u0435\u0441\u0443 C# (Wake On Lan)"},"content":{"rendered":"<p>             \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430. \u042d\u0442\u0430 \u0442\u0435\u043c\u0430, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u043c\u043d\u043e\u0433\u0438\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430, \u043d\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0435\u0449\u0435 \u0440\u0430\u0437 \u0443\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438. \u0421\u0432\u043e\u044e \u0441\u0442\u0430\u0442\u044c\u044e \u044f \u0440\u0430\u0437\u0434\u0435\u043b\u044e \u043d\u0430 \u0434\u0432\u0435 \u0447\u0430\u0441\u0442\u0438:   <\/p>\n<ul>\n<li>\u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u0430, HostName, Mac-address;<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 &quot;<a href=\"https:\/\/ru.wikipedia.org\/wiki\/Wake-on-LAN#Magic_packet\">magic packet<\/a>&quot; \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430.<\/li>\n<\/ul>\n<p>  \u0412\u043e\u0442 \u0442\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/eb3\/5f2\/a00\/eb35f2a0063740899befce3cfa2cd6c3.JPG\"\/><\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u0430.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h4>1. \u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438: \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u0430, HostName, Mac-address<\/h4>\n<p>  \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0443\u043d\u043a\u0442. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043d\u0430\u043f\u0438\u0448\u0443 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443.<\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 Visual Studio WPF C#. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442- \u044d\u0442\u043e ListView, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f.<\/p>\n<p>  <i>\u041a\u043e\u0434 XAML<\/i>  <\/p>\n<pre><code> &lt;ListView Margin=&quot;12,84,12,12&quot; Name=&quot;listView1&quot;&gt;             &lt;ListView.ContextMenu&gt;                 &lt;ContextMenu &gt;                     &lt;MenuItem Header=&quot;\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c&quot;&gt;                         &lt;MenuItem Header=&quot;IP-adress&quot; Name=&quot;copyIP&quot; Click=&quot;copyIP_Click&quot; \/&gt;                         &lt;MenuItem Header=&quot;HostName&quot; Name=&quot;copyName&quot; Click=&quot;copyName_Click&quot; \/&gt;                         &lt;MenuItem Header=&quot;Mac-adress&quot; Name=&quot;copyMacAddress&quot; Click=&quot;copyMacAddress_Click&quot; \/&gt;                     &lt;\/MenuItem&gt;                     &lt;MenuItem Header=&quot;\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a&quot; Name=&quot;ClearList&quot; Click=&quot;ClearList_Click&quot; \/&gt;                     &lt;MenuItem Header=&quot;\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a&quot;\/&gt;                     &lt;MenuItem Header=&quot;\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f&quot;&gt;                         &lt;MenuItem Header=&quot;\u0423\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&quot; Name=&quot;PowerOn&quot; Click=&quot;PowerOn_Click&quot; \/&gt;                         &lt;MenuItem Header=&quot;\u0423\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435&quot; IsEnabled=&quot;False&quot; \/&gt;                     &lt;\/MenuItem&gt;                     &lt;MenuItem Header=&quot;\u041e\u0442\u043c\u0435\u043d\u0430&quot;\/&gt;                 &lt;\/ContextMenu&gt;             &lt;\/ListView.ContextMenu&gt;             &lt;ListView.View&gt;                 &lt;GridView&gt;                     &lt;GridView.Columns&gt;                         &lt;GridViewColumn Header=&quot;IP-\u0410\u0434\u0440\u0435\u0441&quot; DisplayMemberBinding=&quot;{Binding Path=ipAdress}&quot; Width=&quot;200&quot;&gt;&lt;\/GridViewColumn&gt;                         &lt;GridViewColumn Header=&quot;HostName&quot; DisplayMemberBinding=&quot;{Binding Path=nameComputer}&quot; Width=&quot;250&quot;&gt;&lt;\/GridViewColumn&gt;                         &lt;GridViewColumn Header=&quot;Mac \u0430\u0434\u0440\u0435\u0441&quot; DisplayMemberBinding=&quot;{Binding Path=MacAdress}&quot; Width=&quot;250&quot;&gt;&lt;\/GridViewColumn&gt;                     &lt;\/GridView.Columns&gt;                 &lt;\/GridView&gt;             &lt;\/ListView.View&gt;         &lt;\/ListView&gt; <\/code><\/pre>\n<p>  <i>\u041a\u043e\u0434 C#<\/i>  <\/p>\n<pre><code class=\"cs\"> class TableHost     {         public string ipAdress { get; set; }         public string nameComputer { get; set; }         public string MacAdress { get; set; }     } <\/code><\/pre>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u043c \u0443\u0437\u043d\u0430\u0435\u043c \u0441\u0432\u043e\u0439 IP-\u0430\u0434\u0440\u0435\u0441 \u0438 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438. \u041a\u043e\u0434 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u0430 \u043e\u043d \u043d\u0435 \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u043e\u0441\u043e\u0431\u044b\u0445 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p>  <i>\u041a\u043e\u0434 C#<\/i><\/p>\n<pre><code class=\"cs\"> \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 ip-\u0430\u0434\u0440\u0435\u0441\u0430.             System.Net.IPAddress ip = System.Net.Dns.GetHostByName(host).AddressList[0];   private void button2_Click(object sender, RoutedEventArgs e)         {             int i = int.Parse(ipToString[0]);             int j = int.Parse(ipToString[1]);                 {                     for(int k = 0;k&lt;6;k++)                     {                         for (int m = 0; m &lt; 254; m++)                         {                              \/\/\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0432 \u043d\u043e\u0432\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435                             Thread _thread = new Thread(() =&gt; GetInform(string.Format(&quot;{0}.{1}.{2}.{3}&quot;, i.ToString(), j.ToString(), k.ToString(), m.ToString())));                             _thread.Start();                                                     }                     }                 }                         }  private void GetInform(string textName)         {             string IP_Address = &quot;&quot;;             string HostName = &quot;&quot;;             string MacAddress = &quot;&quot;;              try             {                 \/\/\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 IP                 entry = Dns.GetHostEntry(textName);                 foreach (IPAddress a in entry.AddressList)                 {                     IP_Address = a.ToString();                     break;                 }                  \/\/\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c HostName                 HostName = entry.HostName;                  \/\/\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c Mac-address                 IPAddress dst = IPAddress.Parse(textName);                   byte[] macAddr = new byte[6];                 uint macAddrLen = (uint)macAddr.Length;                  if (SendARP(BitConverter.ToInt32(dst.GetAddressBytes(), 0), 0, macAddr, ref macAddrLen) != 0)                     throw new InvalidOperationException(&quot;SendARP failed.&quot;);                  string[] str = new string[(int)macAddrLen];                 for (int i = 0; i &lt; macAddrLen; i++)                     str[i] = macAddr[i].ToString(&quot;x2&quot;);                  MacAddress = string.Join(&quot;:&quot;, str);                  \/\/\u0414\u0430\u043b\u0435\u0435, \u0435\u0441\u043b\u0438 \u0432\u0441\u0451 \u0443\u0441\u043f\u0435\u0448\u043d\u043e, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0432\u0441\u0451 \u0432 ListView                 Dispatcher.Invoke(new Action(() =&gt;                 {                      _host.Add(new TableHost() { ipAdress = IP_Address, nameComputer = HostName, MacAdress = MacAddress });                     listView1.ItemsSource = null;                     listView1.ItemsSource = _host;                 }));             }             catch { }                     } <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0432\u0441\u0451, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e. \u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u044d\u0442\u0430\u043f\u0443.<\/p>\n<h4>2. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u00abmagic packet\u00bb \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430<\/h4>\n<p>  \u0421 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0441\u044f <a href=\"https:\/\/ru.wikipedia.org\/wiki\/Wake-on-LAN#Magic_packet\">\u0437\u0434\u0435\u0441\u044c<\/a>. \u042d\u0442\u043e\u0442 \u044d\u0442\u0430\u043f, \u043a\u0430\u043a \u0432\u044b \u0441\u0430\u043c\u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u043c, \u0442\u0430\u043a \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e. \u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434 \u044f \u043d\u0430\u043f\u0438\u0448\u0443 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<p>  \u041a\u043e\u0434 \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u0442\u043e \u0443\u0436 \u0438 \u0441\u0442\u0440\u0430\u0448\u043d\u044b\u0439, \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u0434\u0432\u0430 \u044d\u0442\u0430\u043f\u0430: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u0430 \u0438 \u0435\u0433\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430. <\/p>\n<p>  <i>\u041a\u043e\u0434 C#<\/i><\/p>\n<pre><code class=\"cs\">        [DllImport(&quot;iphlpapi.dll&quot;, ExactSpelling = true)]         public static extern int SendARP(int destIp, int srcIP, byte[] macAddr, ref uint physicalAddrLen); private void WakeFunction(string MAC_ADDRESS)         {             WOLClass client = new WOLClass();             client.Connect(new IPAddress(0xffffffff), 0x2fff);             client.SetClientToBrodcastMode();             int counter = 0;             \/\/\u0431\u0443\u0444\u0435\u0440 \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438             byte[] bytes = new byte[1024];             \/\/\u041f\u0435\u0440\u0432\u044b\u0435 6 \u0431\u0438\u0442 0xFF             for (int y = 0; y &lt; 6; y++)                 bytes[counter++] = 0xFF;             \/\/\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u043c MAC \u0430\u0434\u0440\u0435\u0441 16 \u0440\u0430\u0437             for (int y = 0; y &lt; 16; y++)             {                 int i = 0;                 for (int z = 0; z &lt; 6; z++)                 {                     bytes[counter++] = byte.Parse(MAC_ADDRESS.Substring(i, 2), NumberStyles.HexNumber);                     i += 2;                 }             }              \/\/\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0430\u043a\u0435\u0442             int reterned_value = client.Send(bytes, 1024);         }  public class WOLClass : UdpClient     {         public WOLClass()             : base()         { }         \/\/\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c broadcast \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439         public void SetClientToBrodcastMode()         {             if (this.Active)                 this.Client.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Broadcast, 0);         }     } <\/code><\/pre>\n<p>  \u0412\u043e\u0442, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0438 \u0432\u0441\u0451, \u044f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u043b\u0441\u044f \u043f\u0440\u043e\u0431\u0435\u0436\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u043c \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e\u0439, \u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0414\u043b\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u044f \u043d\u0430\u043f\u043e\u043b\u043d\u0438\u043b \u044d\u0442\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0435\u0449\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043a\u0430\u043a-\u0442\u043e \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0435\u0435. \u0415\u0441\u043b\u0438 \u043a\u043e\u0433\u043e \u0442\u043e \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u2014 \u0437\u0434\u0435\u0441\u044c \u0435\u0441\u0442\u044c, \u0447\u0442\u043e \u0432\u0437\u044f\u0442\u044c \u0434\u043b\u044f \u0441\u0435\u0431\u044f. \u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432\u0435\u0441\u044c \u043a\u043e\u0434:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 XAML<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"xml\">&lt;Window x:Class=&quot;Network.MainWindow&quot;         xmlns=&quot;http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation&quot;         xmlns:x=&quot;http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml&quot;         Title=&quot;MainWindow&quot; Height=&quot;497&quot; Width=&quot;872&quot; Closing=&quot;Window_Closing&quot;&gt;     &lt;Grid&gt;         &lt;ListView Margin=&quot;12,84,12,12&quot; Name=&quot;listView1&quot;&gt;             &lt;ListView.ContextMenu&gt;                 &lt;ContextMenu &gt;                     &lt;MenuItem Header=&quot;\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c&quot;&gt;                         &lt;MenuItem Header=&quot;IP-adress&quot; Name=&quot;copyIP&quot; Click=&quot;copyIP_Click&quot; \/&gt;                         &lt;MenuItem Header=&quot;HostName&quot; Name=&quot;copyName&quot; Click=&quot;copyName_Click&quot; \/&gt;                         &lt;MenuItem Header=&quot;Mac-adress&quot; Name=&quot;copyMacAddress&quot; Click=&quot;copyMacAddress_Click&quot; \/&gt;                     &lt;\/MenuItem&gt;                     &lt;MenuItem Header=&quot;\u041e\u0447\u0438\u0441\u0442\u0438\u0441\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a&quot; Name=&quot;ClearList&quot; Click=&quot;ClearList_Click&quot; \/&gt;                     &lt;MenuItem Header=&quot;\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a&quot;\/&gt;                     &lt;MenuItem Header=&quot;\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f&quot;&gt;                         &lt;MenuItem Header=&quot;\u0423\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&quot; Name=&quot;PowerOn&quot; Click=&quot;PowerOn_Click&quot; \/&gt;                         &lt;MenuItem Header=&quot;\u0423\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435&quot; IsEnabled=&quot;False&quot; \/&gt;                     &lt;\/MenuItem&gt;                     &lt;MenuItem Header=&quot;\u041e\u0442\u043c\u0435\u043d\u0430&quot;\/&gt;                 &lt;\/ContextMenu&gt;             &lt;\/ListView.ContextMenu&gt;             &lt;ListView.View&gt;                 &lt;GridView&gt;                     &lt;GridView.Columns&gt;                         &lt;GridViewColumn Header=&quot;IP-\u0410\u0434\u0440\u0435\u0441&quot; DisplayMemberBinding=&quot;{Binding Path=ipAdress}&quot; Width=&quot;200&quot;&gt;&lt;\/GridViewColumn&gt;                         &lt;GridViewColumn Header=&quot;HostName&quot; DisplayMemberBinding=&quot;{Binding Path=nameComputer}&quot; Width=&quot;250&quot;&gt;&lt;\/GridViewColumn&gt;                         &lt;GridViewColumn Header=&quot;Mac \u0430\u0434\u0440\u0435\u0441&quot; DisplayMemberBinding=&quot;{Binding Path=MacAdress}&quot; Width=&quot;250&quot;&gt;&lt;\/GridViewColumn&gt;                     &lt;\/GridView.Columns&gt;                 &lt;\/GridView&gt;             &lt;\/ListView.View&gt;         &lt;\/ListView&gt;         &lt;TextBox Height=&quot;23&quot; HorizontalAlignment=&quot;Left&quot; Margin=&quot;221,15,0,0&quot; Name=&quot;textBox1&quot; VerticalAlignment=&quot;Top&quot; Width=&quot;164&quot; \/&gt;         &lt;Label  Height=&quot;27&quot; HorizontalAlignment=&quot;Left&quot; Margin=&quot;219,36,0,0&quot; Name=&quot;label1&quot; VerticalAlignment=&quot;Top&quot; Width=&quot;316&quot;&gt;             IP-\u0430\u0434\u0440\u0435\u0441\u0441\/Host-\u0438\u043c\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430,                              \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: 192.168.1.1         &lt;\/Label&gt;         &lt;Button Content=&quot;\u041d\u0430\u0447\u0430\u0442\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435&quot; Height=&quot;52&quot; HorizontalAlignment=&quot;Left&quot; Margin=&quot;12,15,0,0&quot; Name=&quot;button2&quot; VerticalAlignment=&quot;Top&quot; Width=&quot;153&quot; Click=&quot;button2_Click&quot; \/&gt;         &lt;Label Content=&quot;\u0412\u0430\u0448 IP:&quot; Height=&quot;28&quot; HorizontalAlignment=&quot;Right&quot; Margin=&quot;0,1,125,0&quot; Name=&quot;label2&quot; VerticalAlignment=&quot;Top&quot; Width=&quot;50&quot; \/&gt;         &lt;Label Height=&quot;28&quot; Margin=&quot;0,1,2,0&quot; Name=&quot;label3&quot; VerticalAlignment=&quot;Top&quot; HorizontalAlignment=&quot;Right&quot; Width=&quot;117&quot; \/&gt;         &lt;Button Content=&quot;\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c&quot; Height=&quot;23&quot; HorizontalAlignment=&quot;Left&quot; Margin=&quot;415,15,0,0&quot; Name=&quot;button1&quot; VerticalAlignment=&quot;Top&quot; Width=&quot;120&quot; Click=&quot;button1_Click_1&quot; \/&gt;         &lt;ComboBox Height=&quot;23&quot; HorizontalAlignment=&quot;Right&quot; Margin=&quot;0,45,62,0&quot; Name=&quot;comboBox1&quot; VerticalAlignment=&quot;Top&quot; Width=&quot;199&quot; SelectionChanged=&quot;comboBox1_SelectionChanged&quot; \/&gt;         &lt;Grid Background=&quot;#FF9D9D9D&quot; HorizontalAlignment=&quot;Right&quot; Margin=&quot;0,91,-191,10&quot; Name=&quot;rectangle1&quot; Width=&quot;178&quot;&gt;             &lt;Label Content=&quot;IP- \u0430\u0434\u0440\u0435\u0441&quot; Height=&quot;28&quot; Margin=&quot;16,25,23,0&quot; Name=&quot;label4&quot; VerticalAlignment=&quot;Top&quot; \/&gt;             &lt;TextBox Height=&quot;23&quot; HorizontalAlignment=&quot;Left&quot; Margin=&quot;16,53,0,0&quot; Name=&quot;textBox2&quot; VerticalAlignment=&quot;Top&quot; Width=&quot;139&quot; \/&gt;             &lt;TextBox Height=&quot;23&quot; HorizontalAlignment=&quot;Left&quot; Margin=&quot;16,124,0,0&quot; Name=&quot;textBox3&quot; VerticalAlignment=&quot;Top&quot; Width=&quot;139&quot; \/&gt;             &lt;Label Content=&quot;HostName&quot; Height=&quot;28&quot; Margin=&quot;16,90,23,0&quot; Name=&quot;label5&quot; VerticalAlignment=&quot;Top&quot; \/&gt;             &lt;TextBox Height=&quot;23&quot; HorizontalAlignment=&quot;Left&quot; Margin=&quot;16,203,0,0&quot; Name=&quot;textBox4&quot; VerticalAlignment=&quot;Top&quot; Width=&quot;139&quot; \/&gt;             &lt;Label Content=&quot;Mac-address&quot; Height=&quot;28&quot; Margin=&quot;16,169,23,0&quot; Name=&quot;label6&quot; VerticalAlignment=&quot;Top&quot; \/&gt;             &lt;Button Content=&quot;\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c&quot; Height=&quot;23&quot; HorizontalAlignment=&quot;Left&quot; Margin=&quot;16,0,0,58&quot; Name=&quot;button3&quot; VerticalAlignment=&quot;Bottom&quot; Width=&quot;139&quot; Click=&quot;button3_Click&quot; \/&gt;             &lt;Button Content=&quot;\u0417\u0430\u043a\u0440\u044b\u0442\u044c&quot; Height=&quot;23&quot; HorizontalAlignment=&quot;Left&quot; Margin=&quot;16,0,0,19&quot; Name=&quot;button4&quot; VerticalAlignment=&quot;Bottom&quot; Width=&quot;139&quot; Click=&quot;button4_Click&quot; \/&gt;         &lt;\/Grid&gt;     &lt;\/Grid&gt; &lt;\/Window&gt;  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u043a\u043e\u0434 C#<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cs\">using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Net; using System.Runtime.InteropServices; using System.Threading; using System.Net.Sockets; using System.Globalization; using System.IO;  namespace Network {     \/\/\/ &lt;summary&gt;     \/\/\/ Interaction logic for MainWindow.xaml     \/\/\/ &lt;\/summary&gt;     public partial class MainWindow : Window     {         [DllImport(&quot;iphlpapi.dll&quot;, ExactSpelling = true)]         public static extern int SendARP(int destIp, int srcIP, byte[] macAddr, ref uint physicalAddrLen);          List&lt;TableHost&gt; _host = new List&lt;TableHost&gt;();         string hostname = &quot;&quot;;         IPHostEntry entry ;         string[] ipToString = new string[4];           public MainWindow()         {             InitializeComponent();                              \/\/string[] first = adress.ToString().Split('.');                 \/\/string[] second = IPAddress.Parse(&quot;192.168.1.0&quot;).ToString().Split('.');             \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d\u0438 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430.             String host = System.Net.Dns.GetHostName();             \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 ip-\u0430\u0434\u0440\u0435\u0441\u0430.             System.Net.IPAddress ip = System.Net.Dns.GetHostByName(host).AddressList[0];             \/\/ \u041f\u043e\u043a\u0430\u0437 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432 label'\u0435.             label3.Content = ip.ToString();             ipToString = ip.ToString().Split('.');             ADd();         }          string[] ipadressText;         string[] hostnameText;         string[] macaddressText;          private void ADd()         {             string[] str = File.ReadAllLines(&quot;IPMAC.txt&quot;);             ipadressText = new string[str.Length];             hostnameText = new string[str.Length];             macaddressText = new string[str.Length];             for (int i = 0; i &lt; str.Length; i++)             {                 string[] s = str[i].Split('#');                 ipadressText[i] = s[0];                 hostnameText[i] = s[1];                 macaddressText[i] = s[2];                 comboBox1.Items.Add(s[1]);             }                      }          private void WakeFunction(string MAC_ADDRESS)         {             WOLClass client = new WOLClass();             client.Connect(new IPAddress(0xffffffff), 0x2fff);             client.SetClientToBrodcastMode();             int counter = 0;             \/\/\u0431\u0443\u0444\u0444\u0435\u0440 \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438             byte[] bytes = new byte[1024];             \/\/\u041f\u0435\u0440\u0432\u044b\u0435 6 \u0431\u0438\u0442 0xFF             for (int y = 0; y &lt; 6; y++)                 bytes[counter++] = 0xFF;             \/\/\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u043c MAC \u0430\u0434\u0440\u0435\u0441 16 \u0440\u0430\u0437             for (int y = 0; y &lt; 16; y++)             {                 int i = 0;                 for (int z = 0; z &lt; 6; z++)                 {                     bytes[counter++] = byte.Parse(MAC_ADDRESS.Substring(i, 2), NumberStyles.HexNumber);                     i += 2;                 }             }              \/\/\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u044b\u0439 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0430\u043a\u0435\u0442             int reterned_value = client.Send(bytes, 1024);         }           private void GetInform(string textName)         {             string IP_Address = &quot;&quot;;             string HostName = &quot;&quot;;             string MacAddress = &quot;&quot;;              try             {                 \/\/\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 IP                 entry = Dns.GetHostEntry(textName);                 foreach (IPAddress a in entry.AddressList)                 {                     IP_Address = a.ToString();                     break;                 }                  \/\/\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c HostName                 HostName = entry.HostName;                  \/\/\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c Mac-address                 IPAddress dst = IPAddress.Parse(textName);                   byte[] macAddr = new byte[6];                 uint macAddrLen = (uint)macAddr.Length;                  if (SendARP(BitConverter.ToInt32(dst.GetAddressBytes(), 0), 0, macAddr, ref macAddrLen) != 0)                     throw new InvalidOperationException(&quot;SendARP failed.&quot;);                  string[] str = new string[(int)macAddrLen];                 for (int i = 0; i &lt; macAddrLen; i++)                     str[i] = macAddr[i].ToString(&quot;x2&quot;);                  MacAddress = string.Join(&quot;:&quot;, str);                  \/\/\u0414\u0430\u043b\u0435\u0435, \u0435\u0441\u043b\u0438 \u0432\u0441\u0451 \u0443\u0441\u043f\u0435\u0448\u043d\u043e, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u043f\u0438\u0441\u043e\u043a, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0432\u0441\u0451 \u0432 ListView                 Dispatcher.Invoke(new Action(() =&gt;                 {                      _host.Add(new TableHost() { ipAdress = IP_Address, nameComputer = HostName, MacAdress = MacAddress });                     listView1.ItemsSource = null;                     listView1.ItemsSource = _host;                 }));             }             catch { }                     }           private void button1_Click(object sender, RoutedEventArgs e)         {              \/\/string message = &quot;&quot;;             \/\/Print(GetIP(textBox1.Text), GetHostName(textBox1.Text), GetMac(message));         }          private void button2_Click(object sender, RoutedEventArgs e)         {             int i = int.Parse(ipToString[0]);             int j = int.Parse(ipToString[1]);                 {                     for(int k = 0;k&lt;6;k++)                     {                         for (int m = 0; m &lt; 254; m++)                         {                             Thread _thread = new Thread(() =&gt; GetInform(string.Format(&quot;{0}.{1}.{2}.{3}&quot;, i.ToString(), j.ToString(), k.ToString(), m.ToString())));                             _thread.Start();                                                     }                     }                 }                         }          private void PowerOn_Click(object sender, RoutedEventArgs e)         {             try             {                 WakeFunction(_host[listView1.SelectedIndex].MacAdress.ToString().Replace(&quot;:&quot;, &quot;&quot;));                 MessageBox.Show(&quot;\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e!&quot;, &quot;\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435!&quot;, MessageBoxButton.OK, MessageBoxImage.Information);             }             catch { MessageBox.Show(&quot;\u0417\u0430\u043f\u0440\u043e\u0441 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u0442\u043d\u044b\u0439!&quot;,&quot;\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435!\u041e\u0448\u0438\u0431\u043a\u0430!&quot;,MessageBoxButton.OK,MessageBoxImage.Error); }         }          private void ClearList_Click(object sender, RoutedEventArgs e)         {             _host.Clear();             listView1.Items.Refresh();         }          private void copyIP_Click(object sender, RoutedEventArgs e)         {             Clipboard.SetText(_host[listView1.SelectedIndex].ipAdress.ToString());         }          private void copyName_Click(object sender, RoutedEventArgs e)         {             Clipboard.SetText(_host[listView1.SelectedIndex].nameComputer.ToString());         }          private void copyMacAddress_Click(object sender, RoutedEventArgs e)         {             Clipboard.SetText(_host[listView1.SelectedIndex].MacAdress.ToString());         }          private void button1_Click_1(object sender, RoutedEventArgs e)         {             GetInform(textBox1.Text);         }          private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)         {             StreamWriter write = new StreamWriter(@&quot;C:\\Users\\***\\IPMAC.txt&quot;, true);              for (int index = 0; index &lt; _host.Count; index++)             {                  if (!macaddressText.Contains(_host[index].MacAdress))                     write.WriteLine(_host[index].ipAdress + &quot;#&quot; + _host[index].nameComputer + &quot;#&quot; + _host[index].MacAdress);             }             write.Close();         }          void P()         {             for (double i = -192; i &lt; 10; i += 0.004)             {                 Dispatcher.Invoke(new Action(() =&gt;                 {                     rectangle1.Margin = new Thickness(0, 101, i, 10);                 }));              }\/\/12,0,12,1           }          private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)         {             \/\/ii = rectangle1.Width;             textBox2.Text = ipadressText[comboBox1.SelectedIndex];             textBox3.Text = comboBox1.SelectedItem.ToString();             textBox4.Text = macaddressText[comboBox1.SelectedIndex];             Thread thread = new Thread(P);             thread.Start();         }          private void button3_Click(object sender, RoutedEventArgs e)         {             try             {                 WakeFunction(textBox4.Text.Replace(&quot;:&quot;, &quot;&quot;));                 MessageBox.Show(&quot;\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e!&quot;, &quot;\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435!&quot;, MessageBoxButton.OK, MessageBoxImage.Information);             }             catch { MessageBox.Show(&quot;\u0417\u0430\u043f\u0440\u043e\u0441 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u0442\u043d\u044b\u0439!&quot;, &quot;\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435!\u041e\u0448\u0438\u0431\u043a\u0430!&quot;, MessageBoxButton.OK, MessageBoxImage.Error); }         }          private void button4_Click(object sender, RoutedEventArgs e)         {             Thread thread = new Thread(CLose);             thread.Start();         }          void CLose()         {             for (double i = 9; i &gt; -193; i -= 0.004)             {                 Dispatcher.Invoke(new Action(() =&gt;                 {                     rectangle1.Margin = new Thickness(0, 101, i, 10);                 }));              }\/\/12,0,12,1         }     }      class TableHost     {         public string ipAdress { get; set; }         public string nameComputer { get; set; }         public string MacAdress { get; set; }     }      public class WOLClass : UdpClient     {         public WOLClass()             : base()         { }         \/\/\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c broadcast \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439         public void SetClientToBrodcastMode()         {             if (this.Active)                 this.Client.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Broadcast, 0);         }     } }  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/262699\/\"> http:\/\/habrahabr.ru\/post\/262699\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>             \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430. \u042d\u0442\u0430 \u0442\u0435\u043c\u0430, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u043c\u043d\u043e\u0433\u0438\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430, \u043d\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0435\u0449\u0435 \u0440\u0430\u0437 \u0443\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438. \u0421\u0432\u043e\u044e \u0441\u0442\u0430\u0442\u044c\u044e \u044f \u0440\u0430\u0437\u0434\u0435\u043b\u044e \u043d\u0430 \u0434\u0432\u0435 \u0447\u0430\u0441\u0442\u0438:   <\/p>\n<ul>\n<li>\u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 IP-\u0430\u0434\u0440\u0435\u0441\u0430, HostName, Mac-address;<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 &quot;<a href=\"https:\/\/ru.wikipedia.org\/wiki\/Wake-on-LAN#Magic_packet\">magic packet<\/a>&quot; \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430.<\/li>\n<\/ul>\n<p>  \u0412\u043e\u0442 \u0442\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/eb3\/5f2\/a00\/eb35f2a0063740899befce3cfa2cd6c3.JPG\"\/><\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c \u043a \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u0430.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-261531","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/261531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=261531"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/261531\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=261531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=261531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=261531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}