西南物理研究院很差么:怎样通过网络远程开启计算机?

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 07:06:29
如果我的计算机睡了,可以通过鼠标唤醒计算机。
是否可以通过网卡唤醒计算机。
怎样唤醒?
如果我的计算机关机了,可以通过开机键开启计算机,是否可以通过网卡远程开启计算机?
怎样开启?
请叙述详细的方法!

远程开机的基本原理

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

远程开机的硬件要求

远程开机并不是每一台计算机都能实现的,它对网卡、主板、电源都有要求。

1.网卡

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

2.主板

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

要实现远程开机必须给网卡电源,由于计算机处于关机状态,一般不能通过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登录”。重新启动计算机。

远程启动计算机

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

如果想远程启动计算机,那么必须要获取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扇区检测到此标志时就不再安装了.

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

不好控制,只要一有数据包访问过你的网卡电脑就会自动开机!
我一般是接一个MODEM(调制解调器)来做的,一打电话电脑就自动开机,然后我就可以远程控制我的电脑!主要用到软件花生壳,radmin远程控制软件!

安装木马软件