【VB开源代码栏目提醒】:网学会员--在 VB开源代码编辑为广大网友搜集整理了:基于网络驱动程序的WMI技术的实现 - 互联网绩等信息,祝愿广大网友取得需要的信息,参考学习。
2004.10计算机工程与应用1前言网络驱动程序开发技术日益成为信息安全、网络管理等领域的核心技术。
Windows网络驱动程序采用分层模型管理各种网络协议与网络数据包的传输。
开发者可以根据实际需要在特定协议层创建驱动程序以实现数据加/解密数据包过滤、网络数据流量分析等应用程序难以完成的功能。
以往编写网络驱动的上层接口非常烦琐。
开发者首先要了解不同网络驱动的接口机制然后在C/C程序中调用Win32函数Createfie获得接口句柄最后使用Readfie/Writefie才能读写数据。
因此访问的能力有限方法不够规范同时不易为一般管理员所使用。
随着网络管理要求不断提高网络驱动接受访问的能力也需要随之扩展1网络驱动程序应该以主动、规范的方式向上层提供管理数据。
2网络驱动程序应该支持系统管理员以多种方式访问。
例如本地/远程访问利用系统工具/编写程序访问等等。
3网络驱动程序通常要与其它应用程序协同工作因此网络驱动程序应该提供多种语言可访问的接口以实现高度的模块化。
基于以上三方面的要求网络驱动程序应该支持WMI的管理机制。
2WMI概述WMI是微软开发的一个实现了WBEM基于Web的企业管理的规范结构。
WBEM提供了对网络、系统、用户、应用程序的管理方法。
使用WBEM开发的标准网络技术可以更好的方式访问
软件和硬件资源以整合、统一的方式管理企业的计算机环境。
到目前为止WMI已经开发了多种标准的技术来访问不同环境下的多种类型数据。
这些技术包括WDM的WMI扩展桌面管理界面DMI简单网络管理协议SNMP等等。
2.1WMI结构WMI结构参见图1包括客户端管理应用程序、中介程序CIM对象管理器、静态CIM存储库和动态WMI提供程序数据源和存储在不同层的被管理部件。
下面进一步具体介绍图1WMI结构的部件1管理应用程序包括相对简单的脚本将作具体讨论和其它复杂的管理程序。
它们负责处理被管理的环境信息。
2CIM对象管理器CIMOM是一个COM对象用于处基于网络驱动程序的WMI技术的实现吴宇唐朝京张权国防科技大学电子科学与工程学院长沙410073E-maiwuyu79163.net摘要网络驱动程序可以借助WMI的规范、高效管理充分发挥其强大功能。
首先介绍了WMI的基本概念和结构模型。
然后结合实例详细阐述基于网络驱动程序的WMI的设计框架。
最后通过比较几种访问WMI的方法分析了使用WMI脚本管理网络驱动程序的优点并给出了具体实现。
关键词网络驱动程序WMICIMWBEM文章编号1002-8331-200410-0108-03文献标识码A中图分类号TP311ImplementationofWMIforNetworkDriverWuYuTangChaojingZhangOuanInstituteoEectronicScienceandEngineeringNationaUniversityoDeenseTechnoogyChangsha410073AbstractNetworkdrivercanmakegoodperormancewithWMI.InthispaperirstyWMIanditsarchitectureareintroduced.ThenintegratedwithexampewediscussthedesignrameworkoWMIornetworkdriver.IntheendcomparingwithseveramethodsweanayzethemeritoWMIscriptingandbringorwarditsimpementation.Key
wordsnetworkdriverWMICIMWBEM作者简介吴宇1979-男硕士研究生主要研究方向网络信息安全与攻防对抗。
唐朝京1963-男教授博士生导师主要研究方向网络信息安全与攻防对抗信息保密与编码。
张权1974-男讲师博士主要研究方向网络信息安全与攻防对抗。
108计算机工程与应用2004.10理管理数据和管理应用程序的静态和动态资源。
3CIM存储库用作静态管理数据类、实例和属性的中央存储库。
4WMI提供程序是一些COM对象它们直接与被管理的部件如Win32系统、注册表、事件日志、SNMP、WDM驱动程序等等交互。
它们的信息是动态生成的。
这些信息包含了来自应用程序请求的响应或被管理环境中变更的通知。
5被管理部件表示着被管理环境中的逻辑和物理对象。
CIM对象管理部件是结构的中心部件控制着信息流程。
因此管理应用程序不需要关心数据的来源。
同样提供程序完全能够把响应传递到客户请求以及把事件通知传递到CIM对象管理器而不必关心数据的最终目的地。
2.2CIM对象WBEM使用公共信息模型CIM来定义需要管理的对象的结构。
CIM以面向对象原理为基础它的类是抽象的使用标准的语法格式描述不同平台的软硬件设备使得这些设备可以被统一的管理。
WMI提供者将管理对象以CIM类的形式提交给CIM对象管理器这些类以管理对象格式MOF在一个文本中定义。
CIM数据库中的对象分组成名字空间这些名字空间又可以组织成一个层次结构。
微软定义Win32名字空间RootCimV2和RootWMI。
作者将把网络驱动程序的CIM对象放在RootWMI下。
CIM类近似于C类类有属性和方法。
每个类可以有0个或多个实例。
例如Win32_LogicaDisk类可以有两个实例代表驱动器C和D由DeviceId关键属性区分。
在本地驱动器C的完全对象路径是.RootCimV2Win32_