VB.NET扫描系统服务实现原理分析

开发 后端
VB.NET扫描系统服务的实现,可以帮助我们处理一些大型企业信息系统中出现的问题。在这里大家就可以充分的掌握这一技术,来解决相应问题。

VB.NET编程语言的功能强大,而且可以轻松的帮助开发人员实现各种需求。比如对系统的操作方面,就可以通过这一语言特定的操作方法来获取系统信息,扫描系统服务等等。我们在这里就针对VB.NET扫描系统服务的相关方法做一个详细的介绍。#t#

在大中型企业信息系统中,对客户端PC的管理,往往是容易出现问题的环节。因此,很多大公司引入了各种分布式的管理系统,例如防病毒方面的NortonAntiVirus,BlackICE防火墙,微软的SMS(SystemManagementServer),等等,这些系统都会在客户端的系统安装相应的客户端软件,一般都是以服务的形式出现。

但是由于种种原因,这些服务会停止运行或者该客户机根本没有安装这些客户端服务,这样管理系统就出现了疏漏,有可能造成问题,如因无法防御病毒而成为病毒源,无法为该客户端发布软件,无法管理客户PC等等。在此,我们提供一个方案,可以定时按照IP地址扫描网络,报告出那些系统的特定的服务的状态。

这个VB.NET扫描系统服务方案使用了Microsoft.net技术,同时也用到了.NETFramework中的,ADO.NET,WMImanagement,XML。其核心是一个由VB.NET写的程序以及它的两个配置文件,配置文件为XML格式,该程序按IP扫描网络,得到每个系统的服务的状态,如果IP地址没有对应系统,则忽略该IP,针对没有安装服务或服务停止的系统我们在另一个线程中运行NBTSTAT命令,得到其机器名,用户名,MAC地址域等信息,以便我们找到机器解决问题。

其次为了保存VB.NET扫描系统服务的结果,我们需要一个很小的数据库MS-Access或MS-SQLServer都可以,本文使用SQL2000。最后为了呈现出扫描的结果,以便我们采取行动,这里我们使用网页的形式把数据库中的结果展现出来。

该程序使用两个XML格式的配置文件,当程序启动时会读入这些配置。其中一个文件定义了需要扫描的网段,包括排除在外的地址段。另一个文件定义了连接数据库的信息,以及数据表的定义。这两个文件的内容如下:

 

  1. <IPLIST>  
  2. IPLANID="192.168.100."><EXPL=”1”H=”30”/></IP>  
  3. IPLANID="192.168.101."/>  
  4. IPLANID="192.168.102."/>  
  5. IPLANID="192.168.103."/>  
  6. IPLANID="192.168.104."><EXPL=”1”H=”40”/></IP>  
  7. </IPLIST> 

 

该文件定义将要扫描5个网段,其中两个网段有些地址需要排除在外(分配给打印机等设备),对于192.168.100段,我们排除从1到30,对于192.168.104段我们排除1到40。

 

  1. <DBINFO>  
  2. <SERVER>DBServer</SERVER>  
  3. <DATABASE>DB</DATABASE>  
  4. <UID>REPORT</UID>  
  5. <PWD>REPORT</PWD>  
  6. SERVICETABLE=”SERVICE”>SERVICE</SERVICE>  
  7. </DBINFO> 

 

该文件定义了连接数据库所需的信息。

 

  1. TAG  
  2. Meaning  
  3. <SERVER>  
  4. SCANSERVICE数据库的服务器名  
  5. <DATABASE>   
  6. SCANSERVICE数据库名  
  7. <UID>  
  8. 用于更新SCANSERVICE数据库的数据库用户名  
  9. <PWD>  
  10. 用于更新SCANSERVICE数据库的数据库用户的密码  
  11. <SERVICE> 

该TAG的inner定义了我们希望扫描的Service的名字,这里我们假定希望扫描服务名为SERVICE

该TAG的属性定义了数据库中表名,该表用于保存VB.NET扫描系统服务的结果。

责任编辑:曹凯 来源: mscto.com
相关推荐

2009-10-27 18:06:41

VB.NET开发控件

2009-11-03 10:30:47

VB.NET继承

2009-10-28 10:04:53

VB.NET XmlW

2009-11-02 17:12:01

VB和VB.NET

2009-10-27 14:05:59

VB.NET程序

2009-10-15 10:57:16

VB.NET Text

2009-11-04 09:32:12

VB.NET Auto

2009-10-14 15:20:21

VB.NET窗体指针

2009-11-04 10:54:53

VB.NET MOVE

2009-10-12 13:11:48

VB.NET使用线程

2009-10-13 09:24:57

VB.NET Dock

2009-10-29 15:16:02

VB.NET文件传送

2009-11-03 13:16:58

VB.NET读取文件

2009-11-02 16:22:16

VB.NET面向对象

2009-10-27 13:34:32

VB.NET WEB服

2009-11-03 10:09:48

VB.NET对象

2009-10-12 14:32:40

VB.NET实现定时关

2009-10-23 13:22:25

VB.NET实现拖动图

2010-01-08 15:41:36

VB.NET窗口关闭

2009-10-09 17:40:38

VB.Net问题集
点赞
收藏

51CTO技术栈公众号