我想使用 WoL 或“VTL”(虚拟三线)唤醒我的电脑。但是,因为我和其他设备在同一个路由器上,所以我无法使用 WoL。然后我在谷歌上搜索虚拟三线 - 没有我想要的结果。所以我的朋友建议我买一个 VTL,他说如果我可以制作一个 C/C++ 脚本,当 ping 到电脑的 IP 时,它会唤醒电脑,并且电脑上有端口 (rm-servers.no-ip.org:25570),它会将电脑从睡眠模式中唤醒。但我不知道该怎么做,我需要一些帮助,因为我对 C/C++ 了解不多。有人能告诉我如何将它放在处于睡眠模式的电脑上吗?或者,我不喜欢,放在另一台电脑上?
技术规格:
连接特定的 DNS 后缀:
说明:Marvell Yukon 88E8001/8003/8010 PCI 千兆以太网控制器
物理地址:00-13-D4-9C-2D-60
DHCP 已启用:是
IPv4 地址:192.168.1.105
IPv4 子网掩码:255.255.255.0
IPv4 默认网关:192.168.1.1
IPv4 DHCP 服务器:192.168.1.1
IPv4 DNS 服务器:192.168.0.1
IPv4 WINS 服务器:
NetBIOS over Tcpip 已启用:是
链路本地 IPv6 地址:fe80::4b6:9454:25e0:171e%12
IPv6 默认网关:
IPv6 DNS 服务器:
答案1
如果这是可能的,我会感到非常惊讶,因为“WoL”是嵌入在网卡硬件中的附加功能。
对于您要做的事情,您的计算机网络堆栈需要处于可用状态,这意味着系统没有处于休眠状态,因此您无法使用它。
我不确定你说的“与其他设备在同一个路由器上”是什么意思。如果你与要唤醒的设备在同一个子网/局域网上,则可以使用 WoL,因为它不通过路由器。但是如果你确实需要通过路由器,那么这会困难得多。
答案2
在我看来,您想要做的是唤醒网络内的一台机器,而您所在的是外部网络?
如果是这样,那么您朋友的思路似乎是正确的。您需要做一些研究。
我知道的唯一选择是使用另一台机器(最好是低功耗的 NAS/raspberry pi 之类的机器),监听连接到目标机器同一子网的特定端口上的传入数据包(您需要在路由器上转发该端口)。如果机器收到某种“唤醒 $ip”消息,它将在子网中向您传递给它的 ip 地址(或硬编码)发送 WOL 请求。
我不熟悉运行基于 Linux 的路由器,但这将是您的第二选择。
我现在无法查看,但当我回到家时,我会使用我能找到的任何可以执行此操作的软件包进行更新。