3 NAT穿越与远程控制系统的总体设计
3.1 系统概貌
简单远程控制系统包括客户端和服务端两部分。
服务端是运行在受控计算机上的一个程序。当运行客户端程序后,将其设置成功。服务端通过NAT穿越技术,SOCKET来实现对客户端的连接,然后客户端向服务端发送控制命令,服务端相应客户端的命令来实现相应的功能。
客户端提供了一个集控制功能为一体的可视化界面,其作用是发送命令来实现对服务端的控制,该窗体包含了具有不同功能的按钮。如:消息发送按钮、键盘记录、屏幕监视按钮等。通过对这些按钮的相应操作,来实现对服务端的控制。
3.2 功能要求
本系统在功能要求上主要实现的功能有:服务端主动连接客户端,客户端获取服务端计算机系统信息,对服务端进行监视,对服务端进行系统控制。
①服务端主动连接客户端。此模块的主要功能是服务端通过NAT穿越技术,主动的从内网连接到外网的客户端,让外网客户端知道内网中服务端的通信方式,以便二者能有效通信。
②客户端获取服务端计算机系统信息。此模块主要实现客户端能通过此功能了解到服务端计算机上的系统信息,为后面进一步的对服务端进行控制做一个简单了解,也同时通过此功能对服务计算机的名称、操作系统进行了解,能够达到服务端的了解程度与了解本机德程度一样。
③对服务端进行监视。此模块主要实现对服务端的监视,做到可以对服务进行文件监视,进程监视、屏幕监视、服务监视,此项功能要做到能准确的监视服务端中的以上信息。
④对服务端进行系统控制。此模块主要实现是对服务端计算机系统的控制包括对服务端计算机实施关闭计算机、重启计算机以及关闭进程操作,做到在客户端主机上就可以轻而易举的对服务端主机进行控制。
3 系统总体结构
本系统采用C/S架构,使用套接字服务,利用TCP协议传送控制信息,实现对远程主机的控制。该系统大致可以分为两个部分:第一部分,服务端利用NAT穿越技术,主动连接至客户端;第二部分,客户端利用TCP协议发送控制指令操作远程主机,以达到控制的目的。系统结构框架图3.1。
3.4 客户端设计思想
客户端主要是发送各种控制命令给服务端,服务端实现各种控制功能。当程序运行时,首先要进行客户端要对服务端进行配置,只需通过点击配置服务程序,填写相应的信息就能够配置服务端了。配置服务端成功后,将服务端程序安装到服务主机上,当客户端接收到服务端的连接后,客户端首先双击获取服务端的基本信息,然后右键就能够对服务端进行相应的操作控制。
客户端主要分为三个部分:第一部分是操作部分,主要是CMD控制,删除进程;第二部分是监视部分,文件监视、进程监视、服务监视、屏幕监视;第三部分为配置服务端,客户端可以配置三种方式的客户端上线。