跨网段远程开机技巧

 
    很多文章都有介绍如何通过网络发一个特殊广播包来远程启动另一计算机的,但是没有细说网段内和跨网段的情况下发送广播包的区别,即发特殊包的计算机和需要开机的计算机没有网关隔离和有网关隔离的情况下都该怎么操作。
    要进行远程开机,首先需要开机的计算机硬件(电源、主板和网卡)支持网络唤醒功能,并在CMOS设置中开启。这样才能通过其他计算机发广播数据包的方法来 启动计算机。对于没有网关隔离,在同一网段的情况,我们可以向一般广播地址255.255.255.255发包含需要启动计算机网卡MAC地址信息的特殊 数据包。
    对于有网关隔离跨网段的情况,一般广播包是会被网关、路由器等设备隔离的,特殊包不能被需开机的计算机接收到。因此需要发送能透过网关或路由器的广播包。 我们可以使用定向广播地址来发送开机特殊包。一个C类网的定向广播地址格式为XXX.XXX.XXX.255,其中前面的XXX.XXX.XXX部分表示 需开机计算机所在网络的网络地址。我们把一个包含网卡MAC地址的特殊包发到XXX.XXX.XXX.255,就可以开机启动处于XXX.XXX.XXX 网段的网卡地址对应的那台计算机了!当然,要跨网段发特殊包需要经过的网关、路由器支持定向广播包的转发。
    有很多软件可以实现这一网络远程开机功能,我试用过许多软件,如Magic Packet、Netman等,说明都很简单,让我一直以为只能处于一个网段内才能网络唤醒。后来使用了LANHelper,觉得不错。它提供了三种远程 开机发特殊包的方法:广播方式、单播方式和因特网方式,其中因特网方式就是发定向广播包的方法。
 
附:开机特殊数据包的格式内容
       包含有连续6个字节的“FF”和连续重复16次的MAC地址。
 
    假如需要开机的计算机网卡MAC地址为01:02:03:04:05:06的话,包的组成应该如下:
 
FFFFFFFFFFFF010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506

 

你可能感兴趣的:(c,网络,路由器)