远程开机

原创 2006年05月18日 16:09:00

()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()

远程开机的基本原理

  远程开机简称WOL(Woke on LAN),它是通过局域网实现远程开机。我们只需知道某一台处于局域网计算机的MAC地址,结合一定的软件,就能实现远程开机。它的工作过程是这样的:局域网中的计算机处于关机状态,但它的网卡处于监控状态,等待网络开机的数据包。一旦收到该数据包,网卡就能打开主机电源实现开机。要唤醒某一台电脑必须知道该电脑的编号,在没有开机的状态下我们不可能通过 IP或主机名来区分计算机,但每一块网卡都有惟一的MAC地址,通过教师机向该网卡发出“Wake up”的数据包,该机虽然处于关机状态,但网卡上的芯片可以通过三芯连接线获得电源,从而处理数据包中的地址信息确定是否开机,如果确认就通过三芯连接线向计算机发出开机信号。

  远程开机的硬件要求

  远程开机并不是每一台计算机都能实现的,它对网卡、主板、电源都有要求。本文中使用的学生机的网卡是STAR-902、主板为MS-6198,采用ATX电源。

  1.网卡

  网卡是实现远程开机的一个最重要的元素,不是所有网卡都支持远程开机。一些报价在50元左右的网卡因为成本有限,往往不支持远程开机。目前比较流行的STAR-901、STAR-902、D-Link530TX、联想LN-1068A等都支持远程开机。购买网卡时我们可以向经销商咨询。一般来说,支持远程开机的网卡都有三针的WOL接口(请见图1),并赠送一根三芯连接线,以便和主板相连接,同时也要注意一下产品说明书。对于不支持该功能的网卡可以购买相适应的远程开机模块,效果是一样的。

  2.主板

  主板不支持远程开机也是不行的。支持该功能的主板上一般都在PCI插槽附近有一个三芯插座(请见图2),用三芯连接线把网卡和主板连接起来。

  要实现远程开机必须给网卡电源,由于计算机处于关机状态,一般不能通过PCI插槽给网卡供电,所以必须通过三芯连接线给网卡电流。而有些最新的主板(PCI2.2标准)在关机状态下能够给PCI电源,所以这种主板就没有必要设三芯插座了。

  3.设置CMOS的相关参数

  当然,我们还需要设置一下CMOS的相关参数。开机按下Delete键进入CMOS设置界面,找到“Power Management Setup”电源管理菜单,回车进入子菜单,找到“Wake up Events”,回车后找到“Wake up on LAN/Ring”选项,将“Disabled”改为“Enabled”。保存退出CMOS设置。

  远程开机的软件配置

  1.设置Windows98自动登录

  我们设想开机后电脑到桌面状态,而登录时会出现一个对话框,需要输入用户名和密码,按[确定]继续。首先在“控制面板”中双击“用户”图标,在“用户设置”中删除所有用户。再双击“控制面板”中的“网络”图标,把“主网络登录”下拉列表中的“Microsoft 网络用户”改为“Windows登录”。重新启动计算机。

  2.使用远志网络教学系统实现远程开机

  远程开机的最后一步就是教师机上远志网络教学系统的使用。远志网络教室在制作教师模型时,学生机的MAC地址已经自动获取并储存在教师机中,所以我们就没有必要去查找学生机的MAC地址,毕竟那也是很耗时的工作。远志网络教室的界面如图3。选择设置好的计算机,点击工具栏[开机]按钮,点[确定],这些计算机的风扇就愉快地转起来了!

图1 带有WOL接口的网卡

图2 支持WOL功能的主板

()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()

局域网远程开机的原理


远程开机再配合远程控制

procedure TForm1.Button2Click(Sender: TObject);
var
vBuf:array[0..101] of char;
i,j:integer;
begin
//包的格式很简单,在以太网包的任何位置上,
//以6个FF为先导,后面跟相应MAC地址重复16次即可:
for i:=0 to 5 do vBuf:=char($FF);
for i:=0 to 15 do
begin
j:=6+i*6;
vBuf[j] :=Char($00);
vBuf[j+1]:=Char($13);
vBuf[j+2]:=Char($D4);
vBuf[j+3]:=Char($04);
vBuf[j+4]:=Char($55);
vBuf[j+5]:=Char($80);
end;
NMUDP1.RemoteHost:='192.168.1.255';
NMUDP1.SendBuffer(vBuf,Length(vBuf));
end;

以下为NetWaker的要求,也是远程开机的要求,一般现在的机子都有支持。

1.硬件需求

实现网络开机,需要主板、网卡、电源3个设备支持。首先需要查看主板使用说明书,查看主板是否支持Wake-Up On Internal Modem(WOM)或者Wake-up On LAN(WOL)技术,如果支持就说明主板支持远程开机。能否实现远程唤醒,其中最主要的一个部件就是支持WOL的网卡,远端被唤醒计算机的网卡必须支持WOL,而用于唤醒其他计算机的网卡则不必支持WOL。另外,当一台计算机中安装有多块网卡时,只须将其中的一块设置为可远程唤醒即可。

除此以外,电脑必须安装有符合ATX 2.03标准的ATX电源,+5VStandby电流至少应在720mA以上。有的早期电源可能只设计到500mA,在进行网络开机时,某些耗电较大的网卡可能会无法启动。

2.CMOS设置

首先需要进行CMOS和网卡设置,启动计算机,进入CMOS参数设置。选择电源管理设置“Power Management Setup”菜单,将“Wake up on LAN”项和“Wake on PCI Card”项均设置为“Enable”,启用该计算机的远程唤醒功能。有些网卡需要通过跳线将“Wake-on-LAN”功能设置为“Enable”。

将WOL电缆的两端分别插入网卡和主板的3芯插座中,将网卡与计算机主板连接起来。如果主板支持PCI 2.2标准,只要开启“Wake on PCI Card”功能就可以了,无须使用WOL电缆连接。然后启动计算机,安装网卡驱动程序并完成网卡的网络连接设置。
()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()(()()()()()()()()(

远程唤醒技术主要有两种实现方式:Wake-up On LAN(局域网开机,简称WOL)和Wake-Up On Modem (调制解调器开机,简称WOM)。下面笔者向大家介绍远程唤醒技术的实现方法。

一、WOL

要实现局域网开机,主板和网卡必须都支持远程唤醒功能。一般目前的主板都支持这个功能,支持的主板上通常都有一个专门的3芯插座,以便在关机时为网卡供电。但
并非所有的网卡都支持该功能(特别是一些价格较便宜的低档网卡),要判断网卡是否支持远程唤醒功能的方法很简单,支持远程唤醒的网卡上都有一个3针的WOL接口和一条3芯的远程唤醒电缆,通过判断网卡是否带有WOL接口即可(有些较新的网卡可能没有WOL接口也能支持远程唤醒。这是因为现在流行的主板支持PCI2.2标准,而PCI 2.2标准不需要通过专门的WOL接口为网卡供电,允许主板直接通过PCI插槽向网卡提供Standby电源)。

1.硬件连接
网卡安装完毕后将远程唤醒电缆的一端插入到网卡的WOL接口上,另外一端与主板的3针WOL远程唤醒接口相连(该接口旁通常标有WOL_CON的字样,当然如果主板和网卡都支持PCI2.2标准则无须做这一步)。

2.CMOS设置
打开CMOS远程唤醒功能很简单,只要将CMOS设置中的“Power Management Setup”的“Wake Up On LAN”项设置为“Enable”即可。

3.远程唤醒计算机
远程计算机的网卡只有收到特殊的信号才会激活系统开机,所以我们还要借助相应的软件产生这些数据帧。类似的软件很多,最有名的是AMD公司开发的Magic Packet,此外还有一些网卡自带的诊断程序也有该功能。笔者这里给大家推荐一款国人
开发的软件——“网络唤醒 ”。
网络唤醒是一个无须安装的绿色软件,首先解压缩下载的压缩包后,然后运行其中的“网络唤醒V041.exe”打开《网络唤醒》。该软件的界面如上图所示,由于只有知道远程计算机的MAC地址才可以进行唤醒,所以首先要使软件知道远程计算机的MAC地址。单击“局域网”菜单的“扫描网络”,《网络唤醒》会扫描局域网中所有正处于开机状态的计算机,并将计算机名、IP地址和MAC地址等信息显示在“列表信息”中(如果没有扫描到目标计算机,可以单击“局域网”菜单的“手工增加”),完成后单击“列表”菜单的“保存列表”,将扫描的结果保存起来以便下次使用。
若要唤醒网络中某台计算机,可以在“列表信息”中右击该计算机,选择“唤醒”。如果要将列表中所有计算机都唤醒可以选择“唤醒全部”。

二、WOM

WOL只能在局域网中使用,如果远程唤醒计算机与本地距离较远,我们就必须通过WOM来实现远程唤醒(可以毫不夸张地说,凡是电话能通的地方都祖利用WOM来实现远程唤醒)。
WOM同样需要主板和Modem的双重支持(目前大多数主板和Modem都支持此功能)。
实现WOM比较简单,将Modem正确连接到计算机和电话线后,将CMOS中的“Power Management Setup”中的“Power On by Ring”项设置为“Enable”即可。现在只要Modem处于开启状态,拨打Modem所连接的电话号码就可以通过WOM实现远程开机了。而且使用WOM进行远程唤醒不用担心电话费的问题,因为Modem只要侦测到电话震铃不需要接听电话就可以启动机器(所以我们不用花一分钱就可以打国际长途去唤醒位于另一个国家中的计算机了)。



软件:
 
远程唤醒一点通

 ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()

 

http://www.hainsoft.com/cn/share001.htm

http://www.55188.com/viewthread.php?tid=457118 http://www.xinfeng.net/Soft/net/200601/474.html

 

()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()

远程启动计算机



文章导读:以前木马和病毒都只能在启动计算机后才能执行,我一直再想,他有没有可能让计算机远程开机呢?于是,我在 网上找资料,查找了很多的资料,终于找到了可以远程开启计算机的方法,当然,有优势也会有弊端,还望读者们能多多的为我指正.

如果想远程启动计算机,那么必须要获取BOOTROM芯片中的启动代码(下文的BOOTCODE),从而在计算机启动过程中执行BOOTCODE而不要BOOTROM芯片。BOOTROM芯片有很多种的,例如:EPROM,BOOTCODE烧录在其中,当网卡插上该芯片后BOOTCODE被装载到上位内存的c800h ~ f000h段中。在BOOTCODE的头部一般有NETWARE等字样,我们可以用DEBUG找到BOOTCODE并以文件形式存放到磁盘上。如果大家觉得不知道该怎么去做,那就要先好好的学学汇编语言和如何使用DEBUG了 :)

接下来我们来分析分析硬件实现远程启动的工作原理。

计算机开机自检后,BIOS要搜索扩展槽中的插件,当插件有效即可用时,就开始执行他上面的扩充ROM块中的代码并使他容入系统。BOOTROM就是作为扩充ROM而容入到系统里面。.BOOTROM中的代码,首先要修改int 19h中断,使int 19h中断指向BOOTROM自身启动代码段,然后将控制权限返回给BIOS。
当BIOS发出int 19h中断引导盘上的操作系统时BOOOTRM又会获得控制的权限.接着在屏幕上就显示了一个远程启动的菜单,当我们选择了远程启动后,便向服务端发出了一个”远程启动的请求”,服务端就会根据该工作站的配置情况将相关的操作系统文件送到工作站的内存当中,于是BOOTROM便将控制交给了内存中的操作系统来完成远程启动系统的引导.(BOOTROM是在int 9h中断引导操作系统时取得控制权限并实现远程启动的)
我们都知道int 9h中断会读出硬盘(如果不是从软盘启动的话)的0柱1头1扇区(简称001扇区)上的主引导记录,这就给我们提供了机会。我们可以写一段代码替换001扇区上的主引导记录,将原来的主引导扇存放到其他的地方,这样我们写的那段代码将会在操作系统引导以前执行。而这段代码需要完成以下任务:首先将保存在C盘尾柱头上的BOOTCODE读到内存空闲处(比如7000H段),用call far远调用执行BOOTCODE,BOOTCODE在修改int 19h中断返回后,然后我们写的那段代码会发int 19h中断再次进入BOOTCODE。BOOTCODE会显示远程启动菜单,用户可选择远程启动方式。
如果选择远程启动很顺利的话,那次颐堑比痪鸵パ≡癖镜仄舳?BOOTCODE就先恢复int 19h中断然后要调用int 19h中断引导操作系统.这样我们写的那段代码就再次被执行从而进入死循环.为了避免这样的事情出现,我们可以在代码执行一次后设置一个标志,再次进入循环,直到遇到标志就不在执行BOOTCODE而直接读入原001扇区引导操作系统。
下面看看我在网上找到后有加以修改的一段代码,阅读时请大家仔细的看看注释,然后将汇编代码连接成.COM文件再改名为BOOTREC.
BOOTREC.ASM
;written by 1jjk
; email:lingjiujianke@163.com

code segment
assume cs: code,ds:code
org 7c00h ;BOOTREC装入0000:7c00h
start:cli
xor ax, ax
mov ss, ax
mov sp,7c00h
mov si, sp
mov ds, ax
mov es, ax
sti
mov di, 0e00h
mov cx, 0100h
repnz movsw ;本代码移到0:e00h处
db 0eah,1dh,0eh,0,0 ;jmp 0000:0e1ch
cmp byte ptr ds:[0c0h],0ffh ;是否再次进入
jz exit ;如果是,转到本地硬盘启动
mov bx, 7000h ;如果不是就将C:盘尾柱0dh头处的BOOTCODE读到7000:0000处
mov es, bx
xor bx, bx
mov cx, bs:[1bah + 0e00h] ;1bah字节存放着C:盘的尾柱扇号
mov dx, 0d80h
mov ax, 023fh
int 13h
jc exit
add bx, 7e00h
inc dh
mov ax, 023fh
int 13h
jc exit
add bx,7e00h
inc dh
mov ax,0202h ;工读入了128扇=64K字节
int 13h
jc exit
mov byte ptr ds[0c0h],0ffh ;第一次执行mov word ptr ds[4f2h],0后设置此标志
db 9ah,3,0,0,70h ;call7000:0003执行BOOTCODE
xor ax, ax ;寄存器清0准备int 19h中断调用
mov dx, ax
mov cx, ax
mov bx, ax
int 19h ;再次进入BOOTCODE
exit:
mov bx,7c00h ;读入原001扇到0:7c00h mov ax, 0
mov ds, ax
mov es,ax
mov cx, 003fh
mov dx,0080h
mov ax,0201h
int 13h
boot:
db 0eah,0,7ch,0,0 ;跳转到0:7c00h
patitab:
org 7dbeh
db 64 dup(0) ;予置分区表64字节,实际数
org 7dfeh ;据由原001扇传过来
db 55h,0aah ;主引导扇有效标志
code ends
end

前面提到BOOTCODE从C:盘尾柱到0dh头处读入BOOTCODE并从003fh扇读入引导记录,这就要求我们设计一个安装程序,事先将BOOTCODE和原引导记录存放在该处。
首先要读出001扇上的主引导扇并将他保存在003fh扇上,将分区表中C:盘的尾柱号(1c4h ~ 1c5h字节)减1使尾柱前移,空出尾柱装BOOTCODE,新的尾柱扇号保存在1bah字节中供我们写的那段程序(既BOOTREC)使用。读入BOOTREC文件,将主引导扇中的1bah字节开始的68字节传送到BOOTREC的同一位置,再将BOOTCODE写入001扇.读入BOOTCODE文件,将它写入C:盘尾柱0dh头1扇区开始的128扇区中,这表明BOOTCODE的长度不能超过64K.011扇区上的分区引导并将他保存在003E扇区上,该扇区第18h字节为每磁头扇区数,第1ah为每柱磁头数,二者的乘积就是每柱扇区的总数.第20h字节处的4字节是C:盘扇区总数,从C:盘扇区总数中减去1个柱的扇区数,然后重写分于引导扇。只有这样,C盘尾柱才真正不属于C盘,它上面保存的BOOTCODE安全可靠,这一点非常的重要!为了避免重复安装,在BOOTCODE的第1bdh字节上设置一个标志ffh,安装程序读入001扇区检测到此标志时就不再安装了.

关于安装一类的代码在网上就可以找到,大家可以好好的找一找,或者去罗云彬的主页好好的学学然后自己写一个安装程序。 (以上涉及到的源代码在光盘中可以找到)

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

局域网远程开机

  • 2016-08-05 11:02
  • 272KB
  • 下载

使用Java Socket发送魔术包:实现电脑远程开机(WOL)

本文主要介绍使用java语言,通过socket发送魔术包,实现远程主机的自动开机。

网络进行远程开机

软件名称:NetWaker for windows 简体中文版 简介:     这是一个通过网络进行远程开机的工具软件。只要被控的计算机主版/网卡/电源支持“网络唤醒”,同时,你也打开了这些功能(...

小区网络利用树莓派对其他电脑实现远程开机(WOL)

使用情景: 想要实现远程开机但是在局域网,没有公网IP,另外路由器用DDNS+端口转发无法连接到内网(长城宽带的锅)。解决方案: 利用树莓派唤醒同一网络中关机的电脑,使用VNC远程树莓派,使用花生壳...

远程开机测试工具

  • 2014-12-12 18:13
  • 513KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)