网络局域网网络通道实时监控程序

网络监控程序  时间:2021-03-09  阅读:()

局域网网络通道实时监控程序

业§ :i!

S CIENCE&IECHNOLO0YNFORM^1 ON

局域网网络通道实时监控程序

王志东

(江阴市供电公司电力调度中心信息组214400)

学术论坛

摘要:通过本程序,我们可以实时有效的监控局域网网络通道的通断情况,简单判断故障原因,这给我们网络管理员带来了很大

方便,使我们能够即时去发现问题,解决问题,缩短了故障时间,很大的提高了网络运行效率.

关键词:丢包率网络通道实时监摔

中图分类号:TP31文献标识码:A文章编号:l672—379l(2006)11(a)02l0—031前言

目前,在我们电力行业,我们的很多工

作都越来越依赖于网络,一旦网络发生故障,

很多工作就无法开展,甚至处于停顿,为了能

够及时的处理好故障,这就要求我们能够实

时地去知道网络通道的情况.但是有很多地

方还没有网络通道实时监控的手段,只能被

动的去扫描通道或者等着哪个区域网络断掉

后报到信息中心,我们才能知道某区域网络

断了,这给我们网络维护人员带来了很大不

便,同时也浪费了很多宝贵的时间.尤其是县

级供电公司,没有专用资金去购买测试产品,

像一套好的福录克f1 uke网络测试仪需要10

多万,这就要求我们要有一套简便迅速的实时监测手段来主动地去判断网络通道的情况,这样我们就能够迅速的去发现问题,解决问题,缩短故障的时间,也大大提高了网络运行的效率.

鉴于此情况,我研究了一些dos命令的特征以及相关技术文献,以a s p为依托,dr e amwe av e为框架,编写了一套网络测试程序来达到实时监控的目的,此程序目前已在运行中2正文

课题确立了,究竟通过什么方法来实现

呢?这又成了一个难题.

般,我们要知道一个网络通道通不

通,只要知道对方一台机器或者交换机的地址,然后用ping命令ping一下就可以知道了.但是我们是直接看到ping的结果才知道网络通不通的,那怎么样让程序来自动判断呢?如果能把ping的结果保存为一个文件,那我就可以通过去读那个文件来知道结果了.这时候我查找了ping命令的相关资料,知道有个">"

命令符,可以把ping的结果保存到txt

文档中.例如:pinga 172.26.64.10>d:\newwebs\ping\64.10.txt这样我就

把ping的结果保存到了D:\new—webs\ping文件夹的64.10.txt这个文档中了.分析txt文件中的数据可以看出,我们只要读取

"0%"这个丢包率,就知道这次Ping的结

果没有丢包,也就是说网络是正常的.保l仔是保存了下来,那怎么样来让程序读取txt中丢包率这个数据呢?这又成了目前要克服的难题.

为了解决这个问题,我查阅r相关书籍,找到在asP中,有一个FS0(FileSYstemObject),即文件系统对象,和TextSystemObject文本流对象.

从这两个对象的使用方法中我们可以看到,如果先使用FileSystemObject对象的0penTextFile方法就能够打开64.10.txt的文本文件,然后生成了一个Text Stre am文本流对象,接着使用TextStream的TextStream.readall0方法,就能够读取64.10.txt文本的内容了,然后我们可以在文本流里去匹配"(,"%"这两个字符,这样我们就可以读取"0%"的丢包率了.当然首先得创建一个FileSystemObject对象:

Setfs-Server.CreateObj ect("Scripting.

FileSystemObject")

然后打开64.10.txt文件:

SetTextFile=fs.0penTextFile("d:\newweb s\ping\64.10.txt",1)

接着读取文本流:TextBuffer=TextFile.

ReadAll然后去匹配"(","%"这两个关键字符,因为看到文本里面只有一个"("和"%"字符,所以只要用for循环匹配到第一个就可以了,而"("总是在"%"前面,所以可以使用嵌套for循环,在第一个for循环匹配到"("

这个字符后,在从这个字符开始匹配"%"字符,这样就可以节省很多匹配的时间.

Fori=1 toLen(TextBuffer)

IfMid(TextBuffer,i,1)="("Thenforj=itoLen(TextBuffer)

IfMid(TextBuffer,j,1)=chr(37)thentl:Mid(TextBuffer,i+l,ji 1)

EndIfnext

EndIf

Next

这里面len是取字符串长度的函数,而mid是取字符的函数,chr(37)是%的Assic码,tl这个变量就是读出来的丢包率的参数了.这样通过ping命令读取丢包率的方法来判断通道情况的几个难点都解决了,似乎这个监控程序就可以完成了?其实不然,越往下深入,发现还有很多问题要解决.

还有就是怎么来调用DOS的ping命令来让它自动执行?同时为了把丢包率的历史纪录保存下来,方便以后查询,我们还应该把读出来的丢包率数据存储到数据库中.这里就不得不说一下Wscript.SheH对象了,Wscript.SheH对象有很多属性和方法,我们主要用到它的Run()方法,下面详细介绍

下该方法的使用,其语法如下:

Wshshel 1.Run(srtcommand.

【intWindow Stylel,lblnWaitOnReturn])

Run方法创建一个新的进程,该进程以intWindow Styl e窗口样式执行strC ommand.

参数strC ommand:在strC ommand参数

内部的环境变量被自动扩展.

参数intWindow Style:这是为新进程在

210科技资讯S C IENCE&fECHNO[O GYINF ORMAfIONSTARTUPINF0结构内设置的wShow

Window元素的值.其意义与ShowWindow

中的nCmdShow参数相同.

参数blnwaitOnReturn:如果未指定blnWaitOnRetum或其值为FALSE,则该方

法立即返回到脚本继续执行而不等待进程结

束,若binWaitOnReturn设为TRUE,则

Run方法返回由应用程序返回的任何错误代

码,如果未指定blnWaitOnReturn或其值为

FALS E,则Run返回错误代码0.

现在就是要使用Wsh调用系统的Ping命

令,通过fso文件系统组建创建临时文件,

再将Ping的结果重定向到这个文本文件中

去.然后再通过fso文件系统对象和文本流

对象TextStream读取丢包率数据,最后就

是把数据录入数据库.

首先,新建一个批处理文件c.b at,这个

文件将被asP调用.该文件代码如下:

Ping—a 172.2664.10>d:\new—webs\ping\64l0.txt

64.10.txt是存储ping结果的文件,

再编写Ping.ASP文件,代码如下:

SetWShSheU=Server.CreateObj ect

("WScript.Shell")

RetCode=WShShel1.Run("d:\newwebs\ping\c.Bat",1,True)

运行ping.asp文件后,它就会自动执行bat文件中的ping命令了,而且会把结果存储到64.10.txt文本中.

这样把上面打开文件的代码和读取丢包率数据的代码加到ping.asp的页面中,一个最简单的完整流程就出来了,

不过这只是可以监测一个交换机的情况,而像我们公司的主干网有很多的交换机组成,那么以我们公司为例,我们的主干交换机主要有调度大楼的楼层交换机,11个220KV变电所的交换机,西郊生产区,29个乡镇的区域城网交换机,只要让程序不断的去ping这些主干交换机的ip地址,得到相关的丢包率信息,就可以实时的了解当地当时的网络情况.为此,在设计c.b at批处理文件时,就要考虑设置多条ping命令的代码,这里我设置了27个主干网络交换机的ping命令,以及一个测试ip地址,这个利用上述方法,我们同样可得到28个丢包率参数,t 1,t2. . .t28.同时设置ping.asp这个程序每10秒钟自动刷新执行一次,代码如下:

<METAhttpequiv—REFRE SHcontent=10urlping.asp>

或者<bodyon]oad"setTimeout(this.

1 ocation.reload()#,l0);">

那么执行ping.asp这个程序加上l0秒的

学术论坛S CIENCK&TECHNOLOOYINFORMA—TIO~2006NO31刷新时间,平均每3分钟我们可以得到tlt28这28个参数的一次数据,也就是说程

序每3分钟向网络中自动进行扫描一次,判

断主干网络的情况.

这里不得不说一下在执行ping.asp时候

的一个要点,就是网页执行的限制超时问

题,一般网页默认的限制超时时间为90秒,

就是说一个网页如果90秒没有执行完成,系

统就会认为它超时了,那样就不会继续执行

了.所以我们必须要修改这个限制超时的时

间.我们的程序执行差不多是3分钟,为了

保险起见,我们可以设成300秒,5分钟那

就没问题了.

代码如下:

<%Server.SeriptTimeOut=300%>

到这里这个程序的难点要点基本上就都

解决了,我们可以顺着思路去完善这个程序

了.

下面创建一个ping.mdb的数据库,创

建一个loss表,设立30个字段:id(自动

编号),riqi(日期/时间),t 1…t28(文

本),这个表就是用来存放28个丢包率参数

的数据以及当时的时间的,这样做的好处就

是方便我们以后查询这些历史数据.数据库

表1

建好了,数据也去出来了,那么可以把数据

存到数据库中去了,我们在ping.asp的代码

后面加上如下代码就可以了:tt=n o w()

setrs=server.CreateObj ectflladodb.recordset")sql="insertintoloss(riqi,tl…)values

(¨ '&tt&"',l l'&tl&"…)"Setrs=conn.Execute(sq 1)

数据录入后我们就可以通过这些最新的数据去判断网络当时的状况了.接下来,我们就要设计读取数据库,以及表现当时网络状况的页面了.我们设为index.asp.

读取数据比较简单,只要执行如下sql代码就可以了:sql='selectfromlosswhereriqi=

(selectmax(riqi)fromloss)"

这样我们每次取出的都是最新的数据.另外设一个数组变量t(28),把tl—t28的数据都存到数组t(1)-t(28)里.

数据读取出来后,我们就要考虑它的表现形式了,就是我们根据这些数据怎么样来形象化的表现当时网络的状态?从数据特征可以看出,ping的时候只有四条ping语句,所以这个数据只有0,25,50,75,l00

五种形式,当然你要让它多ping几条也可以,只要在c.bat里面的ping代码加上一nl0,这样程序就会pingl0条了.这里我们就用这四条的五种形式来表示吧.0丢包率就表示网络畅通;25丢包率就是四条中丢了一条,需要注意;50的丢包率就要特别注意了,网络虽然还是通的,但是肯定有异常了;75这个丢包率就表示网络物理上还是通

的,但是已经不能传送大数据包了,想当于

已经断了;100就表示完全断了.然后我只

做了两张gif图片:表示网络正常;●表示

网络异常.丢包率为0,那么就是网络正

常,显示;而丢包率为25,50,75,l00,则表示网络异常,显示●.那么在

25,50,75,l00之间怎么来区分他们的

状态等级呢?25呢需要网管注意一下,就用

●表示提醒就可以了;50呢需要特别注意

了,还要查看一下是个别现象还是一直这

样,那么在用红点表示的时候,我还增加了

个信使服务告警,同样制作一个b.b at文

件,里面写上这样的代码:netsend172.26.64.183发现网络异

常!请迅速查看!lla005-7-25#}Ml22蠢墟慵况l孵艘{状啦基包翠謦备螭剐}鲁洼嘲般I状撤骤憾攀}I蒋龋捌l啊}蝴l搠《黪}o{lI,2.2.矾.1o矾搬I

奠O魁1窘.25.50l4.11l

捌老嗡llo,12?23*l28?I陵搬l_■100一1蒲.2e.206l2_.l0.liIT2.掘帆?29;l{冀{垮懈i………l2l-曩{0-{172?2瓢"?31{}-埘辩露10lI窘?2e?墨T-2I一

12o"{o-{ll,2?2064?22{辩Itlil100-lI72?25?eT-212l1卅li0-{1lT2.25?64.32}幕a孵潞10*lI,2e?eT-215l硼Il 《穆{0-l}I72?25矾.34}-f;向蹙堪OlI'2?2e?87lt

1T|警

一lo●{IlT2?25.54.23硅孵黪O*lI2-.e.5713

1础

TmhHost 全场八折优惠且充值返10% 多款CN2线路

TmhHost 商家是一家成立于2019年的国人主机品牌。目前主营的是美国VPS以及美国、香港、韩国、菲律宾的独立服务器等,其中VPS业务涵盖香港CN2、香港NTT、美国CN2回程高防、美国CN2 GIA、日本软银、韩国cn2等,均为亚太中国直连优质线路,TmhHost提供全中文界面,支持支付宝付款。 TmhHost黑五优惠活动发布了,全场云服务器、独立服务器提供8折,另有充值返现、特价服务器促销...

wordpress专业外贸建站主题 WordPress专业外贸企业网站搭建模版

WordPress专业外贸企业网站搭建模版,特色专业外贸企业风格 + 自适应网站开发设计 通用流行的外贸企业网站模块 + 更好的SEO搜索优化和收录 自定义多模块的产品展示功能 + 高效实用的后台自定义模块设置!采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera...

瓜云互联:全场9折优惠,香港CN2、洛杉矶GIA高防vps套餐,充值最高返300元

瓜云互联怎么样?瓜云互联之前商家使用的面板为WHMCS,目前商家已经正式更换到了魔方云的面板,瓜云互联商家主要提供中国香港和美国洛杉矶机房的套餐,香港采用CN2线路直连大陆,洛杉矶为高防vps套餐,三网回程CN2 GIA,提供超高的DDOS防御,瓜云互联商家承诺打死退款,目前商家提供了一个全场9折和充值的促销,有需要的朋友可以看看。点击进入:瓜云互联官方网站瓜云互联促销优惠:9折优惠码:联系在线客...

网络监控程序为你推荐
国家网络安全部中国国家安全局是怎么招人的?特朗普取消访问丹麦特朗普访华后还会去那里?bbs.99nets.com送点卷的冒险岛私服关键字数据库:什么是关键字?比肩工场比肩之意是什么意思冯媛甑冯媛甄多大啊?百度指数词为什么百度指数里有写词没有指数,还要购买avtt4.comwww.5c5c.com怎么进入99nets.com制作网络虚拟证件的网站 那里有呀?kb123.netwww.zhmmjyw.net百度收录慢?
免备案虚拟主机 北京租服务器 美国和欧洲vps 国外免费vps 快速域名备案 justhost winhost css样式大全 长沙服务器 52测评网 申请个人网站 域名转接 爱奇艺vip免费试用7天 vip域名 paypal注册教程 ledlamp 杭州电信宽带优惠 服务器防御 新疆服务器 架设代理服务器 更多