通过编程/自动开启您的电脑/计算机 – 互联网唤醒局域网(WOL)– 互联网唤醒广域网(WOW)
通过 C、C++、JAVA、.NET 等启动您的电脑
引言
我们每个人每天都会多次关闭机器。我们通过在任何操作系统中单击“关闭/关机”按钮,或在命令提示符或 Shell 中键入“Shutdown”命令来完成此操作。重启电脑也遵循相同的程序。当电脑处于关机状态时,有没有其他方法可以启动机器,而无需手动按 CPU 上的“电源”按钮?
网络管理员可以通过单击鼠标来关闭或重启网络中的所有机器。当电脑处于关机状态时,他能否通过单击鼠标来启动局域网中的所有机器?
是的,如果您的电脑连接到网络,无论是局域网(Local Area Network)还是广域网(Wide Area Network),都可以轻松实现。
所以,在一天结束时,当您离开办公室/学校,认为您的电脑已关机时,网络管理员无法扫描您的电脑。但是,坐在桌面前的管理员可以启动您的机器,并使用远程桌面执行必要的活动。
惊讶吧!!!!我知道您正在想,当计算机处于关机状态时,没有操作系统/程序在运行来完成这项工作。那么谁会为我完成这项工作呢????
等等!!!!
必备组件
本文假设您具有最基本的网络知识,并且可以完全访问您的电脑/路由器。是的,要做到这一点,您需要硬件/操作系统/路由器的最基本支持。好消息是,大多数现代硬件和操作系统都支持它。
如何实现?
当您关闭电脑时,所有设备都处于关闭状态,但一个称为网卡(NIC,Network Interface Card)的小型网络设备仍保持开启状态(取决于您的网卡设置),并等待接收来自其他网络设备的消息。
一旦它收到一条名为“魔术代码”的特殊消息,它就会使用主板中存在的特殊电源电路“WOL 连接器”启动电脑。
来自另一台运行中的电脑的特殊实用程序程序会创建一个“魔术包”,其中包含目标机器的 MAC (媒体访问控制)地址,并在网络中广播。整个网络中所有存在的网卡都会收到“魔术包”,但只有具有魔术包中相同 MAC 地址的网卡才会启动电脑。
这不是一项新技术,但由于缺乏安全性而未被广泛使用。然而,一些网卡支持名为“SecureOn”的安全功能,它允许您设置一个 6 字节的“魔术包密码”。

我的电脑已连接到局域网并处于关机状态。我想从另一台机器上开启它。
- 关闭您的电脑,观察您的网卡指示灯是否闪烁。如果闪烁,则您的网卡支持此功能。如果不闪烁……等等!不要失望。打开您的电脑。在控制面板中进入网卡设置,并启用“允许此设备唤醒计算机”。在不同的操作系统中,您可能会找到此属性的不同名称。
这是从 Windows 操作系统中为 Intel Pro VM 网卡截取的屏幕截图:
再次关闭电脑,看看它现在是否闪烁。不闪烁?请停止阅读。您的网卡不支持此功能。
- 在启动电脑时,打开 BIOS 设置(按 F10/其他键)。进入“电源选项”并启用“SME 唤醒”或“启用 WOL”选项或相关选项。如果这些选项都不存在,请停止阅读。您的电脑不支持此功能。我们快要完成了。但仍有可能出现负面结果,因为有些主板没有内置“WOL 连接器”,而这是向主板供电所必需的。
- 打开您的操作系统。在命令提示符或 shell 中输入“ipconfig /all”。您的 MAC 地址/物理地址将显示。记下它。现在关闭您的电脑。到局域网中的另一台电脑。运行附加的 JAVA 程序(它需要 Java 运行时环境)。提供广播地址(255.255.255.255 或咨询您的网络管理员)和 MAC 地址。如果一切顺利,您会发现您的机器正在启动。您需要禁用“BIOS 密码”,否则您需要手动输入密码。(向下滚动以了解更多关于广播地址的信息。)
以下是从 Windows 操作系统获取的 MAC 地址:
我们为什么要使用 MAC 地址?
当机器处于关机状态时,没有 IP 地址分配给电脑。——简单的答案。
当我们连接到网络并连接到另一台电脑时,我们需要一个唯一的地址进行连接。
这些是IP地址和MAC地址。它们在网络中是唯一的。当我们要连接到同一局域网中的另一台PC时,IP地址的作用最小。PC需要知道的是MAC地址。但我们仍然使用IP地址在局域网中连接。好的……它从名为ARP(地址解析协议)的网络表中找出给定IP对应的MAC地址。但在广域网中,所有连接都使用IP地址。好的, छोड़ दीजिए。这不在本文的讨论范围之内。
我可以通过互联网(从网吧/学校/大学)开启我的电脑吗?如何实现?
- 首先测试它是否在局域网中工作。如果不工作,请停止阅读。工作正常?太棒了!!!现在我们要玩转路由器了。
- 您需要一个路由器。别担心。您不需要企业级路由器。现代调制解调器内置路由器。进入路由器控制台或查阅路由器手册。找出它是否支持“基于子网的广播”。如果不支持,您将无法使用路由器进行操作。
- 将您的调制解调器/路由器设置为“始终开启”模式。如果您没有静态 IP,每次您开启路由器(而不是电脑)时,您都会获得一个新的 IP。这个 IP 应该是全球可访问的。第一次使用“ipconfig”命令,记下您的路由器 IP。
下图是来自“华为 MT882” 数据一号调制解调器,用于启用“始终在线”功能。
- 在路由器上打开任何端口(通常是 7 或 9),并将所有进入此端口的请求转发到您的电脑。注意:这个 IP 并不是您想要从关机状态开启的电脑的精确 IP。它是您 IP 地址的广播地址。例如,如果您的电脑 IP 是 192.168.1.10,则广播地址将是 192.168.1.255。如果您无法计算您的广播地址,可以使用任何“在线子网计算器”。链接:在线子网计算器。这一部分是设置中最关键的部分。路由器应将进入给定端口的“魔术包”广播到局域网中的所有电脑(通过子网掩码得出)。许多路由器默认禁用“基于子网的广播”。您需要启用它。有些路由器不支持此功能。(请参阅路由器手册。)
- 关闭您的电脑。而不是路由器。
- 转到另一个网络(WAN)并运行附加程序。提供您刚刚在路由器中打开的 MAC 地址和路由器 IP 及端口号。程序将把魔术包发送到给定端口的路由器。路由器配置为将此“魔术包”广播到局域网中的所有电脑(通过您网络中的子网掩码得出),基于子网,而不是机器 IP 地址。如果一切顺利,您会发现您的机器正在启动。
- 如果您处于受限制的防火墙后面,您可能无法连接到您的路由器。您必须使用 HTTP 隧道来实现此目的。您可以从我的另一篇文章中阅读有关 HTTP 隧道的信息。由于此处使用的协议是 UDP,而不是为保证数据包传输而设计的,因此您可能需要多次运行该程序。
我的路由器不支持“基于子网的广播”,那该怎么办?
在您的局域网中使用一台“始终开启的机器”。将您的路由器配置为仅将“魔术包”转发到“始终开启的机器”。一旦“始终开启的机器”从路由器接收到魔术包,它就会在局域网中广播,并且目标机器将唤醒,因为魔术包包含处于关机状态的您的电脑的 MAC 地址。
结论
保持网卡始终开启消耗的电量非常少。因此,如果您想通过单击鼠标来唤醒所有机器,请尽管去做。这会让网络管理员的工作变得轻松。
历史
- 2009年8月11日:初始发布