首页 > 范文大全 > 正文

基于Winsock技术的计算机监控系统的实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Winsock技术的计算机监控系统的实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要 计算机监控系统能够实时掌握被控终端的运行信息,为单位内网提供了一种可靠的管理模式。本文首先对系统的需求进行了详细描述,其次给出了系统的架构设计,并进一步详细研究了系统关键功能的实现。

关键词 监控系统;Winsock技术;远程控制

中图分类号TP393 文献标识码A 文章编号 1674-6708(2011)42-0205-01

0 引言

网络的最主要特征是共享,但随着应用面的普及,网络安全方面的隐患问题日益突出,相关网络管理人员必须采取合适的措施保证内网的安全。本文根据相关单位内部网络的实际情况,研究开发一个基于winsock技术的计算机监控系统,用来实现对内网的实时性监控,及时发现网络中的不良行为。

1 计算机监控系统的体系架构

一个有效的系统架构,对于系统的功能设计至关重要。如果系统体系结构不合理,就会直接影响系统的生命周期。本文采用的是B/S的体系结构,主要涉及到:浏览器,Web服务器,数据库服务器,如图1所示。

在这种模式下,通过浏览器可以浏览所有操作。该网络服务器主要是由Web服务器(本地或远程的HTTP)负责信息查询,并从数据库服务器中获得有关数据,最后翻译成HTTP和各种脚本语言。总之,基于B/S模式的计算机监控系统可直接连接到互联网,具有良好的可扩展。

2 计算机监控系统的实现

计算机监控系统的设计是系统研发的重要阶段。本小节将从服务器端以及客户端两个角度进行实现,主要涉及到网络通信功能、基本监控功能。

2.1系统的实现环境

根据对系统的分析和设计,确定整个系统的开发环境为:

操作系统:Windows XP SP2;开发工具为:Vsua1 C++ 6.0;开发模式:基于C/S的开发模式;数据库:SQL Server 2000。

2.2 系统服务器端网络通信功能的实现

网络通信功能处于计算机监控系统的最底层,主要是为了实现系统客户端与服务器之端的网络通信。当客户端与服务器端进行数据交互时,就必须借助于网络通信模块的相关接口,并根据通信协议进行数据的传输。本文采用的Winsock套接字程序,其中自定义的相关消息如下描述:

1)消息的名字: COM_JKSOCKET_READ

功能描述:需要进行读取的相关信息;

说明描述:COM_JKSOCKET_READ消息可以实现函数映射,定义如下为:

ON_MESSAGE(COM_JKSOCKET_READ, Onjk_SocketRead)

Jkafx_msg jm_LRESULT onjk_SocketRead ( WPARAM wparam, LPARAM lparam)

2)连接函数名: void JkCServerDlg : : Onjk_SocketConnect ( )

功能描述:实现服务器端与客户端之间的连接;

说明描述:在这个连接函数中,主要是通过WinSocketAAsyne_Select()函数实现通知相关套接字完成请求事件的响应。该调用的函数定义如下:

Jk_errorcode = WinSocketAAsyne_Select(jk_hSocket, jk_hWnd, JkWm_Socket_Read, Jk_Fdread ) ;

其中,消息通知所对应的套接字由变量jk_hSocket加以表示,接收相关消息的窗口是由变量jk_hWnd加以表示,而变量JkWm_Socket_Read则是系统的一个自定义变量,用来表示读取的相关信息。

2.3系统客户端监控功能的实现

系统客户端监控功能主要涉及到4个方面:目录监控、USB监控、系统日志监控以及系统屏幕监控。其中,目录监控模块主要是通过Jx_CIexpreDlg()函数实现相关目录文件的清单显示;而USB监控主要是针对客户端,实现USB相关设备的权限控制,是通过底层过滤程序加以实现的。本系统通过注册表修改参数的方法实现USB写保护,借助于新建数据类型为DWORD的WriteProtect参数,并通过赋值为1,便可以实现USB设备的写保护。

而系统日志监控是对客户端的任何操作行为进行记录,本系统是通过日志“钩子”加以实现的,涉及到的主要代码如下描述:

HOOKPROC JK_LogProc(int jkcode, WPARAM wparam, LPARAM lparam )

{if (jkcode < 0 )

Return ( HOOKPROC ) CallNextHookEx ( jk_hLogHook, jkcode, wparam, lparam);

……

If ( jk_pEvt -> message = = WM_LBUTTONDOWN || jk_pEvt -> message = = WM_RBUTTONDOWN )

{ hFocus = GetActiveWindos ( ) ;

If (jk_hLogHook != hFocus )

{

jk_hLogHook = hFocus ;

GetWindowText ( hFocus, jkszti, 256);

……

Fclose ( stream);}

3 结论

总之,随着计算机网络技术的发展,如何更好地利用网络资源已经成为日益突出的问题。本文研究的计算机监控系统就是一个能够很好保障相关单位内部网的管理系统,可以很好地网络终端进行监控,实时掌握被控终端的运行信息,提供了一种可靠的管理模式。

参考文献

[1]陈红梅,陈静,李雪冬.基于Web的数控远程配置系统的设计与实现[J].工业控制计算机,2009(2):79-81.

[2]李现凡,高建荣.基于SOCKET编程接口的局域网即时通信系统的开发实现[J].常州轻工职业技术学院学报,2010(4):156-159.