资源描述:
《《网络程序设计》报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一、课题描述1•任务内容基于Windows的远程控制软件开发毕业设计的主要任务是要求做出从系统角度设计的远程控制模式,并制作相应实用软件。采用服务器(Served,客户端(Client)模式,使用Socket编程的基本原理及Windows的消息系统。实现基本的远程控制要求,界而新颖友好。用VC开发!要求:1).远程控制模式架构,如基于主从模式;2).远程控制功能实现,如开关机,远程监视;3).远程控制安全考虑;4).远程控制实现平台与技巧;5).远程控制软件实现,要求至少能在两台电脑上正常运行;6).界面新颖友好。2.应完成
2、内容1),查看被控制端的文件目录清单;2),查看被控制端的文件内容;3),拷贝被控制端的文件到控制端;4),强迫被控制端重新启动或关机;5),修改被控制端的系统配置文件;6),直接执行任何可执行命令,打开应用程序;7),锁住(解锁)被控制端的屏幕,键盘和鼠标;8),控制被控制端的屏幕,在本地直接操作被控制端计算机;9),隐藏共享被控制端的硬盘;10),同时可以做到被控端的服务器自动运行及隐藏等功能;11),补充:做不好的话,会带来严重的安全隐患。会给一些居心不良的人留下后面。所以要同时做好相关的安全性考虑。二、系统分析1.系
3、统功能分析本程序是由客户端和服务器端两部分组成的。而且需要客户端和服务器端同吋运行相应的程序来实现的。本软件要实现的基本功能可以简化如下:第一步,服务器端运行相应的远程控制软件服务器程序,使服务器端的某个端口处于监听状态(本软件端口设置为4069)。这样服务器端计算机就时刻处于监听远程计算机连接请求的状态。第二步,当服务器端程序运行后,客户端在本地计算机中运行相应程序的客户端程序,运行这个客户端程序吋,会指定一个要连接的服务器的TP地址和端口,(本软件初始化的服务器地址是192.168.0.6,端口:4069),程序运行后,
4、点击连接就会向所有的网络搜索指定的计算机了。第三步,搜索到所指定的计算机后,客户端计算机就向服务器端指定的端口发送连接请求(本软件使用TCP连接),如果服务器端计算机同一端口处于监听状态,则服务器端接收客户端的连接请求,并根据设定的值向客户端发送接受请求确认信号,并同时向客户端发出登录成功信息确认对话框。第四步,客户端输入登录信息并确认后,就会向服务器端发送,服务器端接收到客户端发来的用户信息后,就开始对客户端所输入的客户进行合法性确认,如果不符合登录条件,则拒绝用户的连接。笫五步,如果服务器端确认客户端所输入的用户符合服务
5、器端计算机的条件,则服务器端允许客户端进行进一步的连接,这样,整个软件的连接过程就完成了。1.系统软件模型在本软件设计中,采用典型的C/S结构,由客户端与服务端两部分构成。客户/服务器模式的最显著特点是非对等作用,即客户相对于服务器处于不平等的地位,服务端提供服务,客户端提供请求。ServerClients应用程序4应用程序2A操作系统3网络3A操作系统2d网络接口3服务响应心和I服务请求心在设计客户端和服务器时,由于功能需求不同,我设计的客户端界面简单,面向对象,并且由相应的帮助文件,易于操作。而服务器端主要实现控制功能实
6、现。而且不能让用户强行关闭,界面就简单,而且要做到隐藏。其他详细的功能模块描述将在第四章具体功能模块实现川给予描述。以下两章详细介绍了本程序的实现的基础和过程:三、C/S模式远程控制程序设计实现1客户端(监控端)设计相对服务器端(受控端)的设计,客户端较为简单。客户端设计是,选用了MFCApWizard(EXE),的基本对话框。在窗口上添加一些控件。修改相应的编辑框属性。添加相应的成员变量。从图4.2.1可以清楚的看到,在未登录服务器之前,注销,直接控屏和发送按钮以及要发送的命令的Edit窗口都是Disable的,同时,本软
7、件设置了一个信息显示窗口,用來接收服务器端发回来的反馈消息。在软件运行前,会先运行一个提示注册的窗口。主界面如图4.1所示:图4.1图4242服务器端(被监控端)程序设计被控端程序是远程控制软件的主体。远程控制软件的具体功能都是再被控制端实现的,主控端只负责传送要执行的命令和显示返冋的结果。而几乎所有的操作控制都时在被控端本地实现的。远程控制的被控端要求自动运行,同时还应该要具有一定的隐藏性,不容易被客户端用户发现和关闭,当然,这要在Window任务管理器里看不到。故界面简单,并且白动改成和系统配置中的名称相近的名称。这样才
8、不容易被客户端用户发现。在设计被控端的实现过程屮,新建一个项目,“MFCAppWizard(exe)”,选择“单文档界面”,取名Servero套用WindowsSockets,rh于服务器端基本功能都是在serverView中实现的,所以,可以把除了“文件”项以外的项全删除。在实现服务器设