124
福
建
电
脑
2008年第2期
基于
Delphi的远程监控
系统的开发与实现
王艳君,朱绵庆,孙彦彦
(河北师范大学数学与信息科学河北石家庄050016)
摘要】基于机房的安全性管理
问题,用Delphi开发了一个远程监控系统,实现了对机房
计算机的监控,可以通【:过屏幕捕捉查看机房内的任何一台计算机,如果有非法操作,可以向用户发送警告信息,必要时可以进行强行关闭对方计算机,以保障服务器的安全.关键词】远程控制,Socket,TCP/IP,监听【:随着科学技术的迅速发展,监控技术的重要性正在逐渐被人们所认识和重视.远程监控是本地计算机通过
网络系统,对远端进行监视和控制,完成对分散控制网络的状态监控,使管理员坐在电脑前就可以了解整个网络的
工作状态.现在拥有校园网和网络教室的越来越多,网络管理和控制成了问题,因此
设计一个远程监控系统是很有必要的.利用本
软件可以随时监控到机房内的任何一台机器的屏幕,可以清楚的了解学生在做什么,软件还设有实时监听功能,能监听到任何一个登录到服务器的IP地址,能过IP地址,可以截取对方屏幕,如发现对方正在进行非法操作,则可以发送信息提醒对方,如果提醒无效,可以进行远程强行关机,以保护服务器的安全.1.远程监控系统功能分析系统开发的总体任务是实现远程监控.机房管理人员可以通过远程监控系统对与服务器相连接的机器进行监控,执行捕获对方屏幕,发送信息,关闭对方计算机等操作.本系统是利用TCP/IP网络传输协议进行的数据传输,以达到远程监控的目的.由控制端向被控端机器发出连接请求,被控端接收到请求做出响应,告诉控制端已建立连接,此时再由控制端发送要执行的命令,被控端收到后执行该命令,并将执行结果返回给控制端.2.远程监控系统远程监控系统由两部分组成,一个是驻留端,即运行在被控端的
程序,另一个是控制端,即运行在主控端的程序.程序的主要控件是TServerSocket和TclientSocket.TServerSocket和TclientSocket组件的主要属性及方法如下:TclientSocket的主要属性有Address,,,HostPortService,Ac-tive.Service属性是说明要连接的服务器为哪一种标准服务的;Port是用来设置端口号的属性;Active该属性是用来显示当前Scoket是否已经与其它机器建立连接.TserverSocket没有Address和Host这两个属性,因为服务器是处于等待连接的状态.TclietnSocket的重要方法:Open,Close,Read,OnConnect,OnConnecting.2.1控制端控制端是运行在主控机器上,所以界面相对比较复杂,主要由以下部分组成.2.1.1主控界面的设计实现主控界面由监听窗口,指令集和一些命令按钮组成,通过这些按钮发送命令来进行远程控制.程序运行后监听窗口自动处于监听状态,如有用户登录该服务器,则被监听程序截获到IP地址,并将登录时间,地址,以及目前状态显示到监听窗口中.IP如图1所示.监听系统的核心内容是实现定时截获访问服务器的所有IP地址,并将信息显示到监听窗口.自定义函数IsNewConnec-tion来判断是否有新连接建立,用定时器的Timer事件来实现截获建立连接的用户信息.
……
其代码如下:
functionTForm1.IsNewConnection(Conn:TTcpConnStatus):boolean;fori:=0topred(view.RowCount)dowithviewdoif(Cells[3,i]=Conn.RemoteIP)and(Cells[4,i]=Conn.Status)thenbeginResult:=false;
……
procedureTForm1.TimerTimer(Sender:TObject);
……
List:=TList.Create;Get_OpenConnections(List);ifList.Count>0thenfori:=0topred(List.Count)dobeginifIsNewConnection(TTcpConnStatus(List[i]^))then//判断是否已经建