WOL 网络唤醒远程开机

2019年11月4日 5913点热度 4人点赞 4条评论


有关WOL的基础知识,以及如何在开启进BIOS,主板是否支持wol等等,此处不在叙述,这些相信网上都有,且教程一搜一大堆,寻找起来并不困难。

此文的前提是,你已经能通过局域网进行唤醒你的电脑了,否则,没必要继续看下去了。

我平时如果在家,常用的方式就是让天猫精灵帮我开机,也就一句话的事儿;

不在家的话就登录到路由器后台,(我用的梅林固件)位置在网络工具 - 通过网络(LAN)唤醒
输入Mac地址就能唤醒电脑了。

这个方式不好的地方就是每次都要访问路由器后台,给家人和朋友使用也不太方便友好,而且容易误操作;

还有一种方法就是通过VPN接入家庭内网,然后使用工具或软件发唤醒包到某个设备,但同样操作起来也不是很方便,甚至有经常连不上VPN。

上面说的方法虽然都可行,但是终归用起来还是有些罗里吧嗦,感觉不太好。

后来想到了一个思路,通过互联网或者一个页面,进行一键唤醒,省去其他步骤

当时也不太懂,跟朋友一起就想着去抓天猫精灵回传的数据,来实现远程唤醒电脑,
在朋友的帮助下,数据包也抓到了,但是最后测试用起来也是问题一大堆,也就不了了之。

前两天看到网上有说的方法,直接映射设备任意端口,只要发送魔幻包过来,也能实现远程开机的方法,

按照这个思路,于是就有了这个:https://api.vv1234.cn/wol/ 广域网远程唤醒接口
使用也很简单,只需要提供路由器DDNS地址,设备Mac地址,唤醒设备使用的端口即可,
强烈建议您自己设计构造form表单,按需传参过来即可,如果有好看的模板,欢迎供稿。
示例:
https://api.vv1234.cn/wol/wol.php?hostname=Home.ddns.org&mac=04:D4:4N:4D:8F:CF&port=999

基本操作如下,通过端口转发,映射一个端口出去,然后通过接口发送数据包过去,
此时可以通过WakeOnLanMonitor来监测能否正常接收到数据包
附:WakeOnLanMonitor  蓝奏云下载地址:https://www.lanzous.com/i75o0cd?t  密码 Gcod
如果能正常接收到数据包,此时可以将设备关机测试一下能否开机。
当然了,梅林固件有些地方不一样,由于没有ARP绑定的功能,将电脑关机后,导致端口转发的流量都没办法正常唤醒设备,
为了方便使用,需要写个ARP绑定的脚本,示例
# ARP绑定IP地址
arp -s 192.168.2.100 04:D4:4N:4D:8F:CF

然后在Tools/Script添加即可

 

Gcod

人生若只如初见,何事秋风悲画扇

文章评论

  • hk_byy

    示例接口:
    https://api.vv1234.cn/wol/wol.php?hostname=Home.ddns.org&mac=04:D4:4N:4D:8F:CF&port=999
    请教,最近家里443端口封闭,hostname输入域名是无法开机的,使用公网IP是可以开机的。是不是API接口没有考虑到域名加端口的方式,还是我使用的问题。

    2022年10月4日
    • Gcod

      @hk_byy 建议检查域名解析是否有误

      2022年10月6日
      • hk_byy

        @Gcod 经多次测试,公网IP也是不可以的,现在偶尔会成功。我之前也自建了PHP网页形式的唤醒,应该跟您提供的差不多“wol.php?”,也是不可唤醒状态。今天又测试了其他形式的网页wol唤醒服务,可以成功唤醒,但是用的应该不是php协议,唤醒安卓APP在公网状态是可以用的。以下这两种形式都可以使用。
        1、https://www.ruibos.com/wol/
        2、https://www.depicus.com/wake-on-lan/woli?m=001143BDA600&i=212.159.110.168&s=255.255.255.255&p=4343

        2022年10月6日
  • repostone

    没必要再继续看下去了。

    2019年11月4日