{"id":5867,"date":"2018-05-18T10:42:45","date_gmt":"2018-05-18T15:42:45","guid":{"rendered":"https:\/\/itsoftware.com.co\/content\/?p=5867"},"modified":"2019-11-19T10:19:01","modified_gmt":"2019-11-19T15:19:01","slug":"encender-remotamente-pc-wake-on-lan-wol","status":"publish","type":"post","link":"https:\/\/itsoftware.com.co\/content\/encender-remotamente-pc-wake-on-lan-wol\/","title":{"rendered":"Encender remotamente un PC con Wake on LAN (WOL)"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contenidos<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Alternar tabla de contenidos\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #0645ad;color:#0645ad\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #0645ad;color:#0645ad\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/itsoftware.com.co\/content\/encender-remotamente-pc-wake-on-lan-wol\/#Como_funciona_Wake_on_LAN\" >C\u00f3mo funciona Wake on LAN<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/itsoftware.com.co\/content\/encender-remotamente-pc-wake-on-lan-wol\/#Pasos_para_activar_Wake_on_LAN\" >Pasos para activar Wake on LAN<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/itsoftware.com.co\/content\/encender-remotamente-pc-wake-on-lan-wol\/#1_Activar_Wake_on_LAN_en_la_BIOS\" >1. Activar Wake on LAN en la BIOS.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/itsoftware.com.co\/content\/encender-remotamente-pc-wake-on-lan-wol\/#2_Activar_Wake_on_LAN_en_la_tarjeta_de_red\" >2. Activar Wake on LAN en la tarjeta de red.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/itsoftware.com.co\/content\/encender-remotamente-pc-wake-on-lan-wol\/#3_Activar_el_reenvio_el_packete_Wake_on_LAN_desde_internet_al_PC\" >3. Activar el reenv\u00edo el packete Wake on LAN desde internet al PC<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/itsoftware.com.co\/content\/encender-remotamente-pc-wake-on-lan-wol\/#4_Usar_un_programa_para_encender_remotamente_un_PC\" >4. Usar un programa para encender remotamente un PC<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/itsoftware.com.co\/content\/encender-remotamente-pc-wake-on-lan-wol\/#Enviar_Wake_on_LAN_desde_PHP\" >Enviar Wake on LAN desde PHP<\/a><\/li><\/ul><\/nav><\/div>\n<p>Encender remotamente un PC es posible mediante el uso de la funcionalidad <strong>Wake on LAN<\/strong> (WOL). <strong>Wake on LAN<\/strong> es una caracter\u00edstica disponible en la gran mayor\u00eda de equipos, que permite mantener escuchando a la tarjeta de red, aun cuando el PC est\u00e9 apagado (conectado a la corriente),\u00a0 para recibir un paquete especial para activar el encendido de un computador.<br \/>\n<!--more--><\/p>\n<figure id=\"attachment_5868\" aria-describedby=\"caption-attachment-5868\" style=\"width: 963px\" class=\"wp-caption aligncenter\"><img fetchpriority=\"high\" decoding=\"async\" class=\"size-full wp-image-5868\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2018\/05\/Encendido-remoto-de-un-PC-Wake-on-LAN.png\" alt=\"Encendido remoto de un PC Wake on LAN\" width=\"963\" height=\"547\" \/><figcaption id=\"caption-attachment-5868\" class=\"wp-caption-text\">Encendido remoto de un PC Wake on LAN<\/figcaption><\/figure>\n<p>Te invitamos a seguir leyendo en las siguientes p\u00e1ginas m\u00e1s detalle sobre este tema:<\/p>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"Como_funciona_Wake_on_LAN\"><\/span>C\u00f3mo funciona Wake on LAN<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<hr \/>\n<p>El encendido remoto de un equipo (WOL) funciona gracias a una caracter\u00edstica presente en los PCs, que permite en un modo de bajo consumo de energ\u00eda, que las tarjetas ethernet se mantengan escuchando los paquetes ethernet; de este modo cuando se difunde un paquete conocido como \u00abmagic packet\u00bb en una red, y \u00e9ste llega a la tarjeta de red con una direcci\u00f3n MAC coincidente, desde ah\u00ed se env\u00eda un comando a la BIOS para que \u00e9sta encienda el PC.<\/p>\n<p>Este paquete m\u00e1gico,\u00a0 que generalmente se env\u00eda mediante el protocolo UDP en los puertos 7 \u00f3 9.\u00a0 Esta trama est\u00e1 formada por un valor de 255 (FF FF FF FF FF FF), seguida de 16 veces la direcci\u00f3n MAC del PC que se quiere encender.<\/p>\n<p>Conociendo esta base te\u00f3rica debemos realizar la siguiente\u00a0 serie de pasos para habilitar esta funci\u00f3n:<\/p>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"Pasos_para_activar_Wake_on_LAN\"><\/span>Pasos para activar Wake on LAN<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<hr \/>\n<h3><span class=\"ez-toc-section\" id=\"1_Activar_Wake_on_LAN_en_la_BIOS\"><\/span>1. Activar Wake on LAN en la BIOS.<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<hr \/>\n<p>Aunque para cada BIOS de un PC las opciones pueden cambiar de men\u00fas y nombres, debemos buscar una secci\u00f3n conocida como bajo consumo de energ\u00eda o gesti\u00f3n avanzada de poder (Advanced Power Management), y ah\u00ed se busca la opci\u00f3n Wake on LAN (WOL) o Power On o su similar en espa\u00f1ol :<\/p>\n<figure id=\"attachment_5869\" aria-describedby=\"caption-attachment-5869\" style=\"width: 369px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"size-full wp-image-5869\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2018\/05\/Ejemplo-Wake-On-LAN-BIOS.jpg\" alt=\"Ejemplo Wake On LAN BIOS\" width=\"369\" height=\"304\" \/><figcaption id=\"caption-attachment-5869\" class=\"wp-caption-text\">Ejemplo Wake On LAN BIOS<\/figcaption><\/figure>\n<figure id=\"attachment_5871\" aria-describedby=\"caption-attachment-5871\" style=\"width: 490px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\" wp-image-5871\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2018\/05\/BIOS-Advanced-Power-Managment.png\" alt=\"BIOS Advanced Power Managment\" width=\"490\" height=\"367\" \/><figcaption id=\"caption-attachment-5871\" class=\"wp-caption-text\">BIOS Advanced Power Managment<\/figcaption><\/figure>\n<hr \/>\n<h3><span class=\"ez-toc-section\" id=\"2_Activar_Wake_on_LAN_en_la_tarjeta_de_red\"><\/span>2. Activar Wake on LAN en la tarjeta de red.<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<hr \/>\n<p>Para hacer esto, debemos ingresar al sistema operativo de la m\u00e1quina para habilitar la funci\u00f3n WOL en la tarjeta de red, por ejemplo en Windows, lo activamos as\u00ed:<\/p>\n<figure id=\"attachment_5872\" aria-describedby=\"caption-attachment-5872\" style=\"width: 514px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5872\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2018\/05\/Activar-Wake-on-LAN-en-la-tarjeta-de-red.png\" alt=\"Activar Wake on LAN en la tarjeta de red\" width=\"514\" height=\"473\" \/><figcaption id=\"caption-attachment-5872\" class=\"wp-caption-text\">Activar Wake on LAN en la tarjeta de red<\/figcaption><\/figure>\n<hr \/>\n<h3><span class=\"ez-toc-section\" id=\"3_Activar_el_reenvio_el_packete_Wake_on_LAN_desde_internet_al_PC\"><\/span>3. Activar el reenv\u00edo el packete Wake on LAN desde internet al PC<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<hr \/>\n<p>Este paso es necesario si queremos en encender remotamente un PC desde internet. Para este fin entonces necesitamos hacer un Port Forwarding en el router de internet, para que los paquetes que lleguen a la direcci\u00f3n IP fija o al DDNS, por el puerto UDP 7 \u00f3 9, sean reenviados a una direcci\u00f3n IP dentro de la red LAN del router.<\/p>\n<p>Por ejemplo en un router ZTE F660, se montar\u00eda de la siguiente forma:<\/p>\n<p>1. Se crea una aplicaci\u00f3n para que use desde los puertos UDP del 7 al 9:<\/p>\n<figure id=\"attachment_5874\" aria-describedby=\"caption-attachment-5874\" style=\"width: 788px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5874\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2018\/05\/WOL-App-List.png\" alt=\"WOL App List\" width=\"788\" height=\"614\" \/><figcaption id=\"caption-attachment-5874\" class=\"wp-caption-text\">WOL App List<\/figcaption><\/figure>\n<p>2. Se registra el port forwarding de la aplicaci\u00f3n creada en el punto 1.<\/p>\n<figure id=\"attachment_5873\" aria-describedby=\"caption-attachment-5873\" style=\"width: 793px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5873\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2018\/05\/WOL-Port-Forwarding.png\" alt=\"WOL Port Forwarding\" width=\"793\" height=\"623\" \/><figcaption id=\"caption-attachment-5873\" class=\"wp-caption-text\">WOL Port Forwarding<\/figcaption><\/figure>\n<hr \/>\n<h3><span class=\"ez-toc-section\" id=\"4_Usar_un_programa_para_encender_remotamente_un_PC\"><\/span>4. Usar un programa para encender remotamente un PC<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<hr \/>\n<p>Finalmente necesitamos un programa que se encargue de construir el paquete m\u00e1gico y lo env\u00ede, ya sea desde la misma red LAN, o desde internet.<\/p>\n<p>Por ejemplo con el <a href=\"https:\/\/github.com\/basildane\/WakeOnLAN\/releases\/tag\/2.11.20\">programa<\/a> Wake on LAN , registramos el PC que se desea encender, la direcci\u00f3n IP, que puede ser la IP de la red LAN, (si estamos trabajando internamente), o la direcci\u00f3n IP fija de nuestra conexi\u00f3n a internet, (si hacemos esta funci\u00f3n desde internet) la direcci\u00f3n MAC, y el puerto UDP que usaremos:<\/p>\n<figure id=\"attachment_5878\" aria-describedby=\"caption-attachment-5878\" style=\"width: 527px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5878\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2018\/05\/Registro-de-Equipo-en-Programa-Wake-On-LAN.png\" alt=\"Registro de Equipo en Programa Wake On LAN\" width=\"527\" height=\"394\" \/><figcaption id=\"caption-attachment-5878\" class=\"wp-caption-text\">Registro de Equipo en Programa Wake On LAN<\/figcaption><\/figure>\n<p>La direcci\u00f3n MAC de un equipo en windows la podemos encontrar mediante el comando ipconfig \/all<\/p>\n<figure id=\"attachment_5876\" aria-describedby=\"caption-attachment-5876\" style=\"width: 978px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5876\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2018\/05\/Conocer-la-MAC-de-una-tarjeta-de-red.png\" alt=\"Conocer la MAC de una tarjeta de red\" width=\"978\" height=\"234\" \/><figcaption id=\"caption-attachment-5876\" class=\"wp-caption-text\">Conocer la MAC de una tarjeta de red<\/figcaption><\/figure>\n<p>Y finalmente podemos <strong>encender el PC\u00a0<\/strong>desde la aplicaci\u00f3n con la opci\u00f3n Despertarse:<\/p>\n<figure id=\"attachment_5877\" aria-describedby=\"caption-attachment-5877\" style=\"width: 763px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5877\" src=\"https:\/\/itsoftware.com.co\/content\/wp-content\/uploads\/2018\/05\/Encender-PC-con-Wake-On-LAN.png\" alt=\"Encender PC con Wake On LAN\" width=\"763\" height=\"573\" \/><figcaption id=\"caption-attachment-5877\" class=\"wp-caption-text\">Encender PC con Wake On LAN<\/figcaption><\/figure>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"Enviar_Wake_on_LAN_desde_PHP\"><\/span>Enviar Wake on LAN desde PHP<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<hr \/>\n<p>La funci\u00f3n WOL la podemos construir en un programa o aplicaci\u00f3n que estemos desarollando, donde debemos armar el magic packet a partir de la direcci\u00f3n MAC, y enviarlo por la red.<\/p>\n<p>En este ejemplo la funci\u00f3n<em> ejecutaAccion($mac_hexadecimal)<\/em> se encarga de construir el paquete m\u00e1gico, a partir de la direcci\u00f3n MAC en hexadecimal:<\/p>\n<pre>public function ejecutaAccion($mac_hexadecimal) {\n\n $array_mac = explode(\":\", $mac_hexadecimal);\n\n $mac = \"\";\n for ($i = 0; $i &lt; count($array_mac); $i++) {\n   $mac.=chr(hexdec($array_mac[$i]));\n  }\n\n $paquete = chr(255) . chr(255) . chr(255) . chr(255) . chr(255) . chr(255) ;\n\n for ($i = 0; $i &lt; 16; $i++) {\n   $paquete.=$mac;\n  }\n\n  $this-&gt;paquete = $paquete;\n\n  $this-&gt;respuesta = $this-&gt;enviaOrden();\n\n  return $this-&gt;respuesta;\n }<\/pre>\n<p>Y finalmente tenemos la funci\u00f3n <em>enviarOrden()<\/em>, que permite enviar el paquete m\u00e1gico a una direcci\u00f3n IP:<\/p>\n<pre>private function enviaOrden() {\n\n $fp = @fsockopen(\"udp:\/\/\" . \"192.168.50.255\", 9, $errno, $errstr, 3);\n\n if (!$fp) {\n    $this-&gt;$msg = \"Error al conectarse con \" . $this-&gt;direccion_ip . \"&lt;br&gt;\";\n    $res = 0;\n  } else {\n   fwrite($fp, $this-&gt;paquete);\n   $res = 1;\n   fclose($fp);\n  }\n  return $res;\n }<\/pre>\n<p>De este modo, en una aplicaci\u00f3n PHP sencilla podemos hacer el encendido remoto de un PC.<\/p>\n<p>La funci\u00f3n Wake On LAN es muy \u00fatil para funciones de soporte remoto, para encendido en masa de muchos equipos, por ejemplo una sala de equipos, o para por ejemplo encender el PC de nuestra casa cuando nos encontremos en la oficina.<\/p>\n<p>Este art\u00edculo hace parte del sistema de divulgaci\u00f3n de conocimiento de <a href=\"http:\/\/itsoftware.com.co\">ITSoftware SAS<\/a>.<\/p>\n<h4>Si te gust\u00f3, por favor no olvides compartirlo en las redes sociales. \ud83d\ude09<\/h4>\n","protected":false},"excerpt":{"rendered":"<p>Encender remotamente un PC es posible mediante el uso de la funcionalidad Wake on LAN (WOL). Wake on LAN es una caracter\u00edstica disponible en la gran mayor\u00eda de equipos, que[&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1060,1418],"tags":[1485,1486,1481,1484,1480,1482,1483,1479],"class_list":["post-5867","post","type-post","status-publish","format-standard","hentry","category-hardware","category-networking","tag-arrancar-pc-remotamente","tag-arrancar-varios-pc-al-tiempo","tag-encender-equipo-remotamente","tag-encender-varios-equipos-a-la-vez","tag-prender-equipo-remotamente","tag-prender-pc-remotamente","tag-prender-varios-equipos-a-la-vez","tag-wake-on-lan"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/posts\/5867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/comments?post=5867"}],"version-history":[{"count":0,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/posts\/5867\/revisions"}],"wp:attachment":[{"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/media?parent=5867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/categories?post=5867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itsoftware.com.co\/content\/wp-json\/wp\/v2\/tags?post=5867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}