【 tulaoshi.com - vb 】
这个方案使用了Microsoft.NET技术,同时也用到了.NET Framework中的ADO.NET ,WMI management,XML。其核心是一个由VB.NET写的程序以及它的两个配置文件,配置文件为XML格式,该程序按IP扫描网络,得到每个系统的服务 的状态,如果IP地址没有对应系统,则忽略该IP,针对没有安装服务或服务停止的系统我们在另一个线程中运行NBTSTAT命令,得到其机器名,用户名,MAC地址域等信息,以便我们找到机器解决问题。其次为了保存扫描的结果,我们需要一个很小的数据库MS-Access或MS-SQL server都可以,本文使用SQL2000 。最后为了呈现出扫描的结果,以便我们采取行动,这里我们使用网页的形式把数据库中的结果展现出来。
1. VB.NET程序 该程序使用两个XML格式的配置文件,当程序启动时会读入这些配置。其中一个文件定义了需要扫描的网段,包括排除在外的地址段。另一个文件定义了连接数据库的信息,以及数据表的定义。这两个文件的内容如下:
<IPLIST>
<IP LANID="192.168.100." ><EXP L=”1” H=”30”/></IP>
<IP LANID="192.168.101." />
<IP LANID="192.168.102." />
<IP LANID="192.168.103." />
<IP LANID="192.168.104." ><EXP L=”1” H=”40”/></IP>
</IPLIST>
该文件定义将要扫描5个网段,其中两个网段有些地址需要排除在外(分配给打印机等设备),对于192.168.100段,我们排除从1到30,对于192.168.104段我们排除1到40。
<DBINFO>
<SERVER>DBServer</SERVER>
<DATABASE>DB</DATABASE>
<UID>REPORT</UID>
<PWD>REPORT</PWD>
<SERVICE TABLE=”SERVICE”>SERVICE</SERVICE>
</DBINFO>
该文件定义了连接数据库所需的信息
TAGMeaning<SERVER>SCANSERVICE数据库的服务器名<DATABASE>SCANSERVICE数据库名<UID>用于更新SCANSERVICE数据库的数据库用户名<PWD>用于更新SCANSERVICE数据库的数据库用户的密码<SERVICE>该TAG的 inner 定义了我们希望扫描的Service的名字,
这里我们假定希望扫描服务名为SERVICE。
该TAG的属性定义了数据库中表名,该表用于保存扫描结果。