远程唤醒技术:网络唤醒PC的奥秘

在现代办公环境中,网络管理员可以通过单一的鼠标点击来关闭或重启整个网络中的所有计算机。但是否想过,当电脑处于关机状态时,管理员是否也能通过单一的鼠标点击来启动所有计算机呢?答案是肯定的,只要电脑连接到网络,无论是局域网(LAN)还是广域网(WAN),都可以实现这一功能。

当离开办公室或学校,认为电脑已经关机时,网络管理员实际上可以通过远程桌面唤醒机器并执行必要的操作。这听起来可能令人惊讶,因为当计算机处于关机状态时,操作系统或程序并未运行,那么是谁在执行这个任务呢?

前提条件

本文假设具备基本的网络知识,并且对电脑/路由器有完全的访问权限。要实现这一功能,需要硬件/操作系统/路由器的最低支持。好消息是,大多数现代硬件和操作系统都支持这一功能。

如何实现

当关闭电脑时,所有设备都会进入关闭状态,但一个名为NIC(网络接口卡)的小型网络设备仍然保持开启状态(取决于NIC设置),并等待接收来自其他网络设备的消息。

一旦接收到一个名为“魔法代码”的特殊消息,它就会使用主板上的特殊电源电路“WOL连接器”来启动电脑。

其他运行中的电脑上的一个特殊实用程序程序创建了包含目标机器MAC(媒体访问控制)地址的“魔法包”,并在网络中广播。整个网络中所有的NIC卡都会接收到“魔法包”,但只有具有与魔法包中相同MAC地址的NIC卡会启动电脑。

这不是一项新技术,但由于缺乏安全性而没有被广泛使用。然而,一些NIC支持名为“SecureOn”的安全功能,允许设置一个6字节的“魔法包密码”。

PC连接到局域网并且处于关机状态。想从另一台机器上打开它

关闭电脑,观察局域网卡的灯是否在闪烁。如果是,局域网卡支持它。如果不闪烁……别失望。打开电脑。进入控制面板中的局域网卡设置,并启用“允许此设备启动计算机”。在不同的操作系统中,可能会发现这个属性的名称不同。

以下是从Windows操作系统为Intel Pro VM局域网卡拍摄的屏幕截图:

再次关闭电脑,看看它现在是否在闪烁。如果没有?停止阅读。NIC不支持它。

打开BIOS设置(在启动时按F10/其他键)。进入“电源选项”并启用“SME唤醒”或“启用WOL”选项或相关选项。如果没有这样的选项,停止阅读。电脑不支持它。几乎完成了。仍然有一些机会得到否定的结果,因为一些主板没有内置的“WOL连接器”,这是向主板流动电流所必需的。

打开操作系统。在命令提示符或shell中输入“ipconfig /all”。MAC地址/物理地址将被显示。记下它。现在关闭电脑。去局域网中的另一台电脑。运行附加的JAVA程序(它需要Java运行时环境)。提供广播地址(255.255.255.255或向网络管理员查询)和MAC地址。如果一切顺利,会发现机器正在启动。需要禁用“Bios密码”,否则需要手动输入密码。(向下滚动以了解更多关于广播地址的信息。)

以下是从Windows操作系统获取的MAC地址:

为什么使用MAC地址?

当机器处于关机状态时,没有分配给PC的IP。- 简单的答案。

当连接到网络并连接到另一台PC时,需要一个唯一的地址来连接。

这些是IP地址和MAC地址。这些在网络中是唯一的。当想要连接到同一局域网中的另一台PC时,IP地址的作用最小。PC需要知道的是MAC地址。但仍然使用IP地址在局域网中连接。好吧……它从网络表中找到给定IP的相应MAC地址,称为ARP(地址解析协议)表。但在WAN中,所有的连接都使用IP地址。好吧离开它。这不是本文的范围。

可以通过互联网(从网吧/学校/大学)打开PC吗?怎么做?

首先测试它是否在局域网中工作。如果没有,停止阅读。工作?太好了!现在必须玩路由器。

需要一个路由器。别担心。不需要一个企业路由器。现代调制解调器带有内置路由器。转到路由器控制台或路由器手册。找出它是否支持“基于子网的广播”。如果没有,就不能继续路由器。

将调制解调器/路由器设置为“始终在线”模式。如果没有静态IP,每次打开路由器时,都会得到一个新的IP,而不是PC。这个IP应该是全球可访问的。使用“ipconfig”命令,记下路由器的IP。

以下是从“华为MT882”数据调制解调器拍摄的启用“始终在线”功能的图片:

在路由器上打开任何端口(通常是7或9),并将任何请求转发到这个端口的PC。

注意:IP不是想要从关机状态打开的计算机的IP。它是IP地址的广播地址。例如,如果PC的IP是192.168.1.10,广播地址将是192.168.1.255。如果无法计算广播地址,使用任何“在线子网计算器”。链接:在线子网计算器。这部分是设置中最重要的部分。路由器应该广播给定端口的“魔法包”到局域网中的所有PC(由子网掩码导出)。许多路由器默认情况下禁用“基于子网的广播”。需要启用它。一些路由器不支持这个功能。(参考路由器手册。)

关闭电脑。不是路由器。去一个不同的网络(WAN)并运行附加的程序。提供MAC地址和路由器IP和端口号,刚刚在路由器中打开。程序将发送魔法包到路由器的给定端口。路由器配置为广播这个“魔法包”到局域网中的所有PC(由网络中的子网掩码导出),基于子网,而不是机器IP地址。如果一切顺利,会发现机器正在启动。

如果在受限的防火墙后面,可能无法连接到路由器。必须使用HTTP隧道来实现这一点。可以从另一篇文章中阅读关于HTTP隧道的信息。可能需要运行程序不止一次,因为这里使用的协议是UDP,不是为保证数据包交付而设计的。

路由器不支持“基于子网的广播”怎么办?

在局域网中使用一个“始终在线的机器”。配置路由器将“魔法包”转发到只有“始终在线的机器”。一旦“始终在线的机器”从路由器接收到魔法包,它就会在局域网中广播它,目标机器将唤醒,因为魔法包包含PC的MAC地址,它处于关机状态。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485