登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

lgjmfyx的博客

享受生活每一天

 
 
 

日志

 
 

接触远程控制原理和远程开机软件Magic Packet 1.0   

2008-11-02 18:00:16|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

接触远程控制原理和远程开机软件Magic Packet 1.0

 

第一部分:与远程控制的亲密接触 

  明天你在哪儿上班?如果有人这么问你,你一定会说,当然是办公室了。不过,如果告诉你在家上班的话,你是否会高兴异常。在电脑网络发达的今天,在家上班并不是难事,我们需要做的只不过是通过远程控制来管理你办公室的办公设备,例如电脑、打印机等等。 

  远程办公是由清洁空气行动组织(Clean Air Act)和其它一些环保组织最早倡议的。因为,人们每天在办公室和住所间奔波往返,所使用的交通工具绝大多数是汽车等机动车,而机动车尾气对大气的污染十分严重,这已成为一个很大的社会问题。美国1990年通过的《清新空气法案》规定,拥有雇员多于100名并且位于环保局指定的城市特别区域的机构应采取措施,使其员工在交通高峰时的上班路程减少25%,这从客观上就推动了远程办公的发展。据统计,采用远程办公这种工作方式的人数平均年增长15%,现在,美国已有20%的从业人员实现了SOHO(“Smalt office and Home Office”的缩写,意即“在家上班”)。目前,国际上已成立了一个由相关团体发起的名为国际远程办公联盟(ITA)的非赢利性机构,旨在推动远程办公的普及;欧洲最大的电信公司已经与德国邮政工会达成协议,允许职员在家上班;在日本,一个叫做“美西文化学术研究城”的科学园区已经开始进行一项为期十多年的大规模多媒体试验,将为推行远程办公创造一个范例;在中国,远程办公首先在南京出现,北京、广州等地紧随其后。美国著名的未来学家奈斯比特曾经预言,21世纪,人们将实现远程办公。Gartner Group则预言,到2002年全世界将有1亿零8百万以上的人会经常不在办公室内工作,而是通过远程控制技术来办公。当然,现在通过远程控制软件实现的远程办公还远远没有达到奈斯比特所描述的那样,但是对于我们这些上班族来说应该说已经足够了。

  什么是远程控制技术: 

  远程控制是在网络上由一台电脑(主控端Remote/客户端)远距离去控制另一台电脑(被控端Host/服务器端)的技术,这里的远程不是字面意思的远距离,一般指通过网络控制远端电脑,不过,大多数时候我们所说的远程控制往往指在局域网中的远程控制而言。当操作者使用主控端电脑控制被控端电脑时,就如同坐在被控端电脑的屏幕前一样,可以启动被控端电脑的应用程序,可以使用被控端电脑的文件资料,甚至可以利用被控端电脑的外部打印设备(打印机)和通信设备(调制解调器或者专线等)来进行打印和访问互联网,就像你利用遥控器遥控电视的音量、变换频道或者开关电视机一样。不过,有一个概念需要明确,那就是主控端电脑只是将键盘和鼠标的指令传送给远程电脑,同时将被控端电脑的屏幕画面通过通信线路回传过来。也就是说,我们控制被控端电脑进行操作似乎是在眼前的电脑上进行的,实质是在远程的电脑中实现的,不论打开文件,还是上网浏览、下载,所有的资料和上网小甜饼COOKIES等都是存储在远程的被控端电脑中的。  电脑中的远程控制技术,始于DOS时代,只不过当时由于技术上没有什么大的变化,网络不发达,市场没有更高的要求,所以远程控制技术没有引起更多人的注意。但是,随着网络的高度发展,电脑的管理及技术支持的需要,远程操作及控制技术越来越引起人们的关注。远程控制一般支持下面的这些网络方式:LAN、WAN、拨号方式、互联网方式。此外,有的远程控制软件还支持通过串口、并口、红外端口来对远程机进行控制(不过,这里说的远程电脑,只能是有限距离范围内的电脑了)。传统的远程控制软件一般使用NETBEUI、NETBIOS、IPX/SPX、TCP/IP等协议来实现远程控制,不过,随着网络技术的发展,目前很多远程控制软件提供通过Web页面以Java技术来控制远程电脑,这样可以实现不同操作系统下的远程控制,例如数技通科技有限公司在去年就推出了全球第一套基于中文JAVA的跨平台远程控制软件――易控。 

  远程控制软件的原理: 

  远程控制软件一般分两个部分:一部分是客户端程序Client,另一部分是服务器端程序Server(或Systry),在使用前需要将客户端程序安装到主控端电脑上,将服务器端程序安装到被控端电脑上。它的控制的过程一般是先在主控端电脑上执行客户端程序,像一个普通的客户一样向被控端电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,使用各种远程控制功能发送远程控制命令,控制被控端电脑中的各种应用程序运行,我们称这种远程控制方式为基于远程服务的远程控制(图1-1为网络拓扑图)。通过远程控制软件,我们可以进行很多方面的远程控制,包括获取目标电脑屏幕图像、窗口及进程列表;记录并提取远端键盘事件(击键序列,即监视远端键盘输入的内容);可以打开、关闭目标电脑的任意目录并实现资源共享;提取拨号网络及普通程序的密码;激活、中止远端程序进程;管理远端电脑的文件和文件夹;关闭或者重新启动远端电脑中的操作系统;修改Windows注册表;通过远端电脑上、下载文件和捕获音频、视频信号等。 

  (图1-1:一对一远程控制网络拓扑图)

  前面我们所说的是一台电脑对一台电脑的情况,其实,基于远程服务的远程控制最适合的模式是一对多,即利用远程控制软件,我们可以使用一台电脑控制多台电脑,这就使得我们不必为办公室的每一台电脑都安装一个调制解调器,而只需要利用办公室局域网的优势就可以轻松实现远程多点控制了(图1-2为网络拓扑图)。在进行一台电脑对多台远端电脑进行控制时,我们发现,远程控制软件似乎更像一个局域网的网络管理员,而提供远程控制的远程终端服务就像极了办公室局域网的延伸。这种一对多的连接方式在节省了调制解调器的同时,还使得网络的接入更加安全可靠,网络管理员也更易于管理局域网上的每一台电脑。 
(图1-2:一对多远程控制网络拓扑图) 
远程控制技术的应用:

  下面让我们来看看远程控制技术到底能为我们带来什么样的应用:
  1.远程办公。 


  这种远程的办公方式不仅大大缓解了城市交通状况,减少了环境污染,还免去了人们上下班路上奔波的辛劳,更可以提高企业员工的工作效率和工作兴趣。 
  2.远程技术支持。

  通常,远距离的技术支持必须依赖技术人员和用户之间的电话交流来进行,这种交流既耗时又容易出错。许多用户对电脑知道得很少,然而当遇到问题时,他们必须向无法看到电脑屏幕的技术人员描述问题的症状,并且严格遵守技术人员的指示精确地描述屏幕上的内容,但是由于他们的电脑专业知识非常少,描述往往不得要领,说不到点子上,这就给技术人员判断故障制造了非常大的障碍。即使技术人员明白了用户电脑的问题所在,在尝试解决问题时,技术人员可能会指导用户执行一系列复杂的命令,而这个过程对用户来说是十分困难的,因为技术人员要依靠自己的语言来“操纵”用户的鼠标和键盘简直是太难了,如果用户不能正确地遵照指示去做,问题可能会进一步恶化,电脑很可能会因为错误的操作导致系统的崩溃。这样一来,往往是技术人员要为十分简单的一个问题和用户说上十几分钟,甚至会专程跑到很远的用户那里帮助解决问题,而用户往往因为问题还没有解决,只好将电脑闲置不用,单等技术人员上门来解决问题。有了远程控制技术,技术人员就可以远程控制用户的电脑,就像直接操作本地电脑一样,只需要用户的简单帮助就可以得到该机器存在的问题的第一手材料,很快就可以找到问题的所在,并加以解决。

  3.远程交流。 
  利用远程技术,商业公司可以实现和用户的远程交流,采用交互式的教学模式,通过实际操作来培训用户,使用户从技术支持专业人员那里学习示例知识变得十分容易。而教师和学生之间也可以利用这种远程控制技术实现教学问题的交流,学生可以不用见到老师,就得到老师手把手的辅导和讲授。学生还可以直接在电脑中进行习题的演算和求解,在此过程中,教师能够轻松看到学生的解题思路和步骤,并加以实时的指导。 
  4.远程维护和管理。 

  网络管理员或者普通用户可以通过远程控制技术为远端的电脑安装和配置软件、下载并安装软件修补程序、配置应用程序和进行系统软件设置。由于同事们都知道笔者经常上网,喜欢试用一些好玩的软件,家里的电脑中往往会有一些好玩意儿,所以单位常有人问我要一些稀奇古怪的软件,让我帮他们也给家中的电脑装上,但是大家的家离得都很远,只好经常用软盘拷贝小软件到单位去交给同事,还要麻麻烦烦地给他们讲解一番安装和使用方法,甚至有需要给他们写个简要说明书的时候。现在,如果他们的家中有一台电脑需要安装什么软件,我就要先问问他们,你们的电脑支持远程控制吗? 

    第二部分:远程控制硬件总动员 

  要实现网络控制,我们总不能让一个人在远端电脑那里为你开关机器吧,要不,还叫什么远程控制啊。所以,我们要实现网络上的远程控制,首先就要解决一个最重要的问题,怎么实现远程的开关机,远程的关机可以用Windows自身的功能或者远程控制软件来实现,而远程开机则要我们自己动手了。下面就为大家讲讲如何实现网络开机,同时也顺便讲讲远程控制的硬件条件。 

  网络开机,有人称之为“网络唤醒”,叫得十分贴切,好像你通过网络来叫醒一个熟睡的孩子一样。当然,要远程唤醒电脑可不像叫醒一个孩子那么简单,要实现网络开机,首先就要有一块支持网络开机的主板(现在市面上的主板一般都支持这个功能)。主板一般都具有多样化的开机功能,除了支持我们平时常用的开机按钮外,还支持键盘开机(Keyboard Power UP)、调制解调器开机(Modem Wakeup)和局域网开机(Wake on LAN)等,其中,大部分用户都使用过键盘开机功能而且其也不属于本专题所述之列,我们不做讲解,这里向大家详细介绍一下调制解调器开机和局域网开机两种网络开机方式。 

  要实现网络开机,让我们先来看看自己的主板是否支持网络开机功能。翻开主板手册,看看其中是否有关于网络开机的描述,如果主板手册是英文的(例如笔者的QDI A9主板就是英文手册),只要看看其中是否有关于Wake-Up On Internal Modem(WOM)(调制解调器开机)或者Wake-up On LAN(WOL)(局域网开机)的描述,如果有上述描述,说明主板是支持网络开机的。如果你要实现局域网开机功能,主板上PCI插槽附近一般还应提供一个3针的WOL远程唤醒接口,我们后面将详细讲述这个问题。 

  另外,要实现网络开机,电脑安装的必须是符合ATX 2.03标准的ATX电源,+5V Standby电流至少应在720ma以上。因为有的早期电源设计的+5V可能只设计到500ma,在进行局域网开机时,某些耗电较大的网卡可能会开不起来。如果不知道自己的机箱电源是否支持,可以看看电源外部标签的+5VSB栏,那里有相关的数据。 

  用调制解调器实现网上开机: 
  如果要在互联网上实现调制解调器开机,除了一块支持调制解调器的主板外,最重要的硬件当然是需要两端电脑都配有调制解调器了,否则,怎么叫调制解调器开机呢。由于远程控制系统在被控端电脑上运行程序,因此主控端电脑对处理能力和内存的要求不是很高,但被控端电脑最好有较好一些的配置,这样一来可以大大增加远程控制的系统稳定性。

  一般来说,我们要使用调制解调器实现网络开机需要使用外置式的“猫”,因为要用内置式的“猫”实现网络开机的话,就必须要求主板上有一个WOM接头(如图2-1),而绝大多数的主板都没有这个接口,所以笔者建议大家买“猫”时要考虑是否使用网络开机功能,否则可能因为主板没有相应接口无法实现网络开机功能。网络开机对调制解调器的速率要求不是很高,一般33.6K或56K皆可,甚至14.4K也行,接在哪一个com端口也没有限制,但是由于我们网络开机的目的是实现远程控制,为了保证远程控制的实时性和系统的可靠性,笔者建议,最好使用56K的“猫”。 

  准备好了硬件,让我们来进行一下相关的设置。首先,保证你的主机和调制解调器的电源一定要开着,电话线也已经插好,然后,我们进入BIOS,进行一些简单的设置,在BIOS的“Power Management Setup”项中找到“Resume On Modem”或者“Wake Up On Modem”一项,将其设定为 “on”或者“Enabled”。由于主板不同,可能具体的选项不是完全一致,以具体的选项名为准,但只要支持网络开机的主板一定有这个选项。需要注意的是,有些主板的BIOS中的调制解调器开机和局域网开机是同一个选项(“Wake Up On Lan/Ring”),只要把该选项置为“Enabled”,就可以同时支持调制解调器开机和局域网开机。 
 主板上的WOM接口) 

  接下来,就可以试验一下调制解调器开机了。拿另一部电话拨打你电脑连接的电话号码,这时你的小“猫”就会有反应,并且自动让你的电脑开机了。由于家中一般只有一部固定电话,你在设置好之后想检验一下设置的正确与否,可以用手机打通电话进行试验,这样就会避免跑到别人家去打电话,再跑回来察看自己电脑的动静的尴尬了,反正手机没有接通也不要钱:)不过,需要注意的是,你的这个连接调制解调器的电话号码最好不要让人知道啊,否则你的电脑随时可能被“不经意”地唤醒。但是,一般家庭的电话要保密都难啊,自己想远程开机方便才这么设置,哪想到会出现这些意想不到的麻烦啊,笔者也没有办法,只能建议你通过“控制面板”的“电源管理”,将“电源方案”一项设置为“始终打开”,然后将 “系统等待状态”选项的时间设置得短一点,或者安装一个定时关机软件,使得电脑在空闲一段时间后就自动关机,免得电脑被电话铃声唤醒后一开就是很长时间。 
     用网卡实现局域网上开机: 
  其实,人们常说的网络开机最主要指的并不是调制解调器开机,而是指局域网开机。因为,作为个人而言,真正使用调制解调器开机的时候很少,而通过局域网开机的应用要多得多。举个简单的例子,试想,如果你在一个网络教室当教师,每天都要一台一台电脑地开机,少了还好,六、七十台电脑一个个地去开机,一圈下来膀子不疼才怪呢。这时候,在局域网上实现集群开机就显得十分有用了。下面我们一起来看看如何在局域网中实现网络开机。 
  要实现局域网中的网络开机,也需要相应的硬件支持才行。前面我们提到局域网开机功能的实现需要主板提供一个3针的WOL远程唤醒接口,这里详细讲一下它的功用。其实,能否实现局域网中的网络开机,最主要的一个硬件就是支持WOL的网卡。通常情况下,支持WOL的网卡有一个3针的WOL接口,并同时附送有一条3芯电缆连接线,这条连接线就是用于与前面所说的主板中的3针的WOL远程唤醒接口连接的,如图2-2。当然,也有的支持WOL功能的网卡没有连接线,例如笔者单位用的网卡联想LN-1068A就没有这个连接线,但同样支持网络开机功能。另外,许多新型的主板支持PCI2.2标准,可以直接通过PCI插槽向网卡提供+5V电源,即使不连接WOL连接线也一样能够实现网络开机功能。主板是否支持PCI2.2标准,可通过查看CMOS的“Power Management Setup”菜单中是否拥有“Wake on PCI Card”项来判断,如果有这一项,说明主板支持PCI2.2标准,可以不使用WOL连接线,如果没有这一项,则说明主板不支持PCI2.2标准,需要使用WOL连接线。网卡通过WOL连接线与主板连接的方法如图2-3所示。 
  需要注意的是,一般网卡的唤醒信号的默认设置是“Active High”,我们可以通过配置程序将其设置成“Active Low”,这个选项对于远程控制的影响不是很大,我们一般不用修改,但是,这个设置必须与你主板的相应设置保持一致,即你的主板支持的唤醒信号也必须是“Active High”或“Active Low”,至于你的主板支持哪种唤醒信号,可以到你的主板手册中去查找,即使查找不到也不要紧,我们可以先按照默认的设置试验一下是否能够实现网络开机,如果无法实现,我们只需拔掉3芯电缆连接线,修改完网卡的唤醒信号设置后再插上去就行了。最后,我们还要设置一下BIOS的相关选项。开机后进入BIOS,在BIOS的“Power Management Setup”项中找到“Wake Up On LAN”一项设定为“Enabled”,这样,硬件设置方面就完成了。 

  与调制解调器开机不同的是,用调制解调器开机需要知道的是远端电脑所连接电话的号码,因为这个电话号码是惟一的,而如果用户想通过局域网唤醒一台指定的电脑,首先需要知道的也应该是能标识该电脑的惟一的号码,就像我们的身份证号码一样,通过这个号码,才能够找到局域网上的相应电脑。由于被唤醒的电脑处于关机状态,惟一能标识其身份的只有电脑内所装网卡的物理地址,即MAC地址,在局域网内,该地址是惟一的,当然,每块网卡的MAC地址均不相同。网卡的MAC地址,可从网卡设置软件中获得。当用户知道需要网络开机电脑的MAC地址后,通过另外一台电脑执行相应的软件,向网络上发出含有该地址的特殊数据包。此时,被唤醒的电脑虽然处于关机状态,但是其内部网卡控制芯片通过WOL连接线所送来的电流,仍然可以接收和处理网络上的数据包。当控制芯片发现数据包内包含本网卡的MAC地址后,就立即通过WOL连接线发出开机信号,通知主板开机。 

  利用调制解调器开机,我们只要拨电话就可以了,但是在局域网中,我们就不能再采用这种办法了,因为为了唤醒网络上的电脑,我们必须向远程电脑中的网卡发出前面提到的包含MAC地址的数据包,该数据包的格式与普通数据包不同,必须使用相应的软件才能产生。这时候,就需要专门的局域网开机软件帮忙了。目前,常用的局域网开机软件有两种,一种是AMD公司的Magic Packet 1.0,另一种是INTEL公司的当前大家用的比较多的是AMD公司发布的Magic Packet 1.0,这套软件可以生成网络唤醒所需要的特殊数据包。该数据包包含有连续6个字节的“FF”和连续重复16次的MAC地址。Magic Packet 1.0虽然只是AMD公司开发推广的一项技术,并非业界公认的标准,但是仍受到很多网卡制造商的支持,因此许多具有网络开机功能的网卡都能与之兼容。当然,如果网卡附带有相应的网络开机软件,可以直接使用该软件,例如联想LN-1068A网卡就附带有一个网络开机软件WebDESK Manager,通过它,你可以直接发送远程开机数据包。不过,由于Magic Packet 1.0使用的广泛性,笔者明天就以它为例,讲解一下如何使用网络开机软件。 
     Magic Packet1.0软件的取得十分方便,你可以从轻松地从网上下载,其下载地http://www.amd.com/products/npd/software/pcnet_family/drivers/magicpacket.html,找到“Download PCnet Magic Packet Utility”一项,在其下面标有“Size 946,216 Date 01-26-99 Version 1.0”字样,下载后的文件名是magic_pkt.exe,文件大小为924KB,直接运行它就可以开始安装。该软件默认安装在C:\pcnet\magic_pkt目录下,由于不会在程序项中或桌面上增加任何快捷方式,因此,要想运行该软件,用户必须自己到所安装的目录下执行magpac.exe,自己动手将该程序在桌面上建立一个快捷方式当然更方便了。 
  1.远程唤醒一台电脑:运行magpac.exe,其界面如图2-4所示。 


  在“Magic Packets”菜单中单击“Power On One Host”(启动某一主机)命令,显示“Send a Magic Packet to One Host”(向主机发送唤醒数据包)对话框(如图所示)。在“Destination Ethernet Address”(目标以太网地址)中输入欲唤醒电脑网卡的MAC地址,单击“Send”(发送)按钮(如图2-5)。局域网上的远程电脑将自动启动。 
  在“Magic Packets”菜单中单击“Create a List of Hosts”(创建主机列表)命令,显示“Create a List of Hosts on LAN”(在局域网上创建主机列表)对话框(如图2-6所示)。在“Filename-Save List of” (保存列表的文件名)一栏中键入一个远程开机文件名,单击“OK”按钮,软件会自动开始搜索局域网中的电脑。搜索完会显示“Magic Packet Utility”(Magic Packet应用)窗口,这时,你需要利用“Edit”(编辑)菜单中“Cut”(剪切)命令,从该列表中删除那些不希望远程唤醒的电脑,而后在“File”(文件)菜单中单击“Save”(保存)命令保存这个远程启动文件。 
  设置好远程启动文件后,如果要进行远程唤醒时,在“Magic Packets”菜单中单击“Group Power On”(成组开机)命令,显示“Set Alarm for Groups”(设置成组唤醒)对话框(如图2-7所示)。单击“Browse”按钮,找到你刚刚保存的远程启动文件并打开,然后单击“Add”和“OK”按钮,就可以实现一组电脑的远程启动了。在这里,我们还可以根据需要,为这组电脑设置启动时间,可分别选中相应日期的复选框并设置具体唤醒时间,这样就能够实现成组电脑的自动定时唤醒了。 

  当然,我们在使用完远程电脑后,也应该像前面笔者所说的那样,让电脑在空闲一段时间后自动关机,延长了电脑寿命的同时,也能节省了不少电哦。 




引文来源  接触远程控制原理和远程开机软件Magic Packet 1.0 - ☆ 喜欢..や偷看..ゞě.伱的脸ぐ - 网易博客
  评论这张
 
阅读(2112)| 评论(2)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018