网络拓扑自动排查软件的设计与开发

时间:2021-06-06 14:48:46 浏览量:

张可 田嗥 马恩宁 杨凯江

摘要:本文从方案选择、遇到的关键技术、软件架构与功能设计阐述了网络拓扑自动排查软件的设计思路,最后,结合变电站网络拓扑实地应用效果,分析给出软件的优点与尚待提升的建议。

关键词:网络拓扑;自动排查;软件开发

1 背景

网络拓扑的定期排查对于运维工作来说,能起到很好的辅助作用。在日常进行网络故障分析与排除时,精确全面的网络拓扑结构可以很好地提升效率。另外,做好网络拓扑排查也能处理人员更换带来的资产台账不清问题,在帮助管理人员发现并熟悉了解网络IP设备情况与组成。

目前,电力监控系统网络运维管理中的拓扑主要采用人工或者半自动方式进行,依据自动采集加人工进一步维护方式,形成网络拓扑结构。在实际运行过程中存在以下不足:

(1)拓扑维护及时性难以保障。随着新建变电站的投运、网络的局部改造及部门的调整,网络节点设备及通信线路也在不断变化,对应的网络拓扑需要运维人员及时完善调整;同时要求网络运维人员具有较高的专业知识以避免错误的拓扑维护,对拓扑完整性维护不及时,会影响网络运维工作,甚至诱发网络安全事件。

(2)拓扑不精确影响故障定位。当网络发生故障时,运维人员根据上报的故障信息并依据人工经验,采用登录交换机的方式,对网络故障进行逐步排查,不断缩小故障范围,得到可能的故障原因后,再去现场进行故障排查。由于整个电力数据网络庞大,整个故障排查过程耗时耗力,不能快速定位故障隐患,给电力安全生产带来了一定的风险[1]。

(3)资产台账系统版本内核信息登记不详细。电力监控系统网络的台账管理都主要依托人工进行,弊端十分明显,工控类设备多,对于设备具体系统与内核信息、相互关系都没有较为详细的登记,容易产生错漏和反复核对,给等保、漏扫等工作带来了额外负担,一直以来缺乏一个较好的办法。

2 方案选择

网络拓扑自动排查,一般指计算机主动发现完成最终用户服务所涉及到的所有实体,不仅要发现实体,而且要发现实体在网络中所起的作用及实体间相互连接的方式。目前,主要的网络拓扑发现方式包括数据包探测拓扑发现与基于SNMP协议的拓扑发现等两种主要技术。

在数据包探测发现网络拓扑的技术方案中,可以通过ARP、DNS、ICMP等协议进行数据发送与回收,对响应信息探测分析,比如通过ICMP反馈数据,可分析设备的可达性,配合Traceroute测量发现路由及其经过的节点设备。特点是适用性好,便于操作,缺点是较为缓慢,对网络造成一定的开销。

基于SNMP协议的拓扑发现方案,主要是从网络设备SNMP简单网络管理协议的端口服务中,获取MIB变量信息,从而计算出网络的二层或者三层拓扑连接关系。该方案的优点是响应快速,适合监控类场景,缺点是设备需要开放权限,并且需要打开SNMP服务[4]。

近年来,国内外网络安全事件频发,电网公司作为特大型能源国有企业,安全要求不断提升,很多设备都不能远端直接通过SNMP协议进行管理。网络拓扑排查本身属于随机性较强的工作,目的是排查而非监控,相对SNMP分钟级的采集分析,消耗多一些时间是可以接受的,如果采用SNMP方案,现场设备却没有开启相关权限和服务,必然增加较多的工作审批流程,反而制约需要拓扑排查工作的效率。

3 关键技术

3.1 网络深度扫描及主动探测技术

基于深度扫描及网络探测技术,能全面发现系统所有信息设备的IP网络连接情况,特别是主机多余网卡连接情况、未知主机或网络设备连接情况,有效发现系统跨区互连、非法外联、非法内联的信息安全风险;从网络资产管理的角度看,网络探测技术能够为统一软硬件版本、更新升级软件和设备等工作提供信息基础;还可以发现非法资产,为及时分析、处理提供便利,最大限度地降低安全问题带来的损失。

3.2 基于TCP/IP协议栈探测技术快速探知IP设备

协议栈指纹识别是一项强大的技术,能够以很高的概率迅速确定操作系统的版本。虽然TCP/IP协议栈的定义已经成为一项标准,但是各个厂家,如微软、RedHat等在编写自己的TCP/IP协议栈时,却做出了不同的解释。这些解释因具有独一无二的特性,故被称为“指纹”[3]。通過这些细微的差别,可以准确定位操作系统的版本。

3.3 网络拓扑分析合并与生成技术

以网络安全设备为边界,构建直观的电力监控系统网络拓扑图,从全局上可以帮助运维人员实时掌握整体网络运行状况,将最复杂的网络状况以最简明、直观的方式呈现。

同时,通过构建真实的业务应用拓扑连接关系.当业务出现故障时,通过业务拓扑图非常容易的找到业务组件的故障点,实现完整监控,快速定位故障的效果。

4 软件架构

考虑到网络拓扑排查的应用场景及需求,软件架构选择基于SpringBoot框架进行开发。Spring框架一般用于企业级Java开发,本身开源、并且具有控制反转的特性。Spring框架可以通过面向切面编程和依赖注入,用POJO( Plain Old Java Object,简单的Java对象)实现EJB的大部分功能,有着功能齐全且入门迅速的特点。网络拓扑排查工具的设计,主要包括如下几个层次,如图1所示。

采用的Spring的MVC框架结构很多优点,例如:简化开发流程、支持事务声明等,在网络拓扑管理类中应用此框架,特别要说明的优点如下:

(1)简化运行漏洞少:采用Jar包(通过Java -jar xxxx.jar的方式来运行),不仅部署简单,内置了三种S ervlet容器Jetty、Tomcat、undertow,打包的过程去除了很多不必要的软件包,使得安全漏洞少,对于挂网运行的拓扑排查类软件,可降低被攻击风险。

(2)部署灵活多样:目前SpringBoot可以很好的处理C/S和B/S两种架构,通过Electron技术,可以开发客户端程序,从而使拓扑排查的模块可以专注非展示性功能研发,减少两种部署架构切换需要大量修改前端的弊端。

(3)平台无关性:很多系统都需要选择平台,尤其使LINUX内核的系统适配十分困难。采用SpringBoot框架,得益于Java语言的优势,

该框架的数据操作层采用了MyB atis框架,MyBatis是一款持久层开发框架,易与SpringBoot组合进行开发,它不仅可以支持定制化SQL、存储过程等基本功能,还支持一些高级映射,比如允许用户跳过为了保障SQL注入等数据操作漏洞而必要的复杂的JDBC代码和参数设置直接对数据库进行“增删改查”等操作‘5]。MyBatis功能强大,但却有着配置简单、易上手、无第三方依赖等优势,只需要配置几个Jar文件即可完成配置。其中,SQL映射文件是最重要和常用的文件之一,它简单易学,通过文档和源代码即可了解掌握SQL映射文件的设计思路和实现过程,另外也不会对现有的数据库设计产生影响。其SQL语句以XML格式进行存储,便于管理和优化,同时SQL语句可以实现操作数据库的所有需求。SQL映射文件通过DAO层,将数据访问逻辑和业务逻辑分离开来.让系统的设计逻辑更加清晰明了,这样方便了系统后续的维护和单元测试[6]。

5 功能设计

结合网络拓扑排查的应用需求,设计了如下功能:资产导入及设备分类模块、配置获取及自动解析模块、分区网络边界界定模块、设备存活性扫描模块、设备登录核实模块、设备外联情况测试模块、信息汇总及报告生成模块。如图2所示。

(1)资产导入及设备分类模块:用户需以特定的格式编辑好相应的设备资产信息并存储在Excel文件中,通过操作此模块选中相应的Excel文件并上传,工具内部的算法会自动解析文件并通过POI技术将Excel文件中的数据读取并在短时间内存储到数据库中,从而实现资产的导入功能。根据导入的资产信息对系统内的网络设备、网络安全设备及主机进行分类。

(2)配置获取及自动解析模块:用户可以通过用户名和口令登录指定设备,通过此工具自动进行设备的配置获取和解析操作,代码中通过pmg指令可以获取设备的名称、IP、网段以及连接信息,arp指令可以获取相应设备的mac地址,route PRINT指令获取路由表等信息,获取到的数据存储在数据库中,方便获取和展示。

(3)边界网络边界界定模块:对不同分区网络的边界设备,比如防火墙、隔离装置等进行识别。

(4)设备存活性扫描模块:该功能模块以本机出发,输入需要扫描的网段或者本机的IP地址,点击检测即可扫描网段中所有的IP并检测其是否存活。大致原理为通过本机发送ICMP包ping网段中除本机外的所有IP,再利用网内机器IP資源地址的唯一性,向目标IP发送探测数据包,并且要求对方返回一个同样大小的数据包,以此,来确定两台网络机器是否连接相通,传输过程中的时延是多少,记录下所有连接相通的IP地址。之后,使用ARP指令,用于查询本机ARP缓存中IP地址和MAC地址的对应关系,使用tracert指令执行所有能pmg通的IP地址,根据得到的信息可以获取IP之间的连接情况和层级关系。

(5)设备外联情况测试模块:该功能模块包括互联网连通测试子模块、设备网络接口测试子模块、设备网段扫描子模块、设备网段设备登录核实及外联情况测试子模块。其中,互联网连通测试子模块即对该设备是否连接外部网络(百度、淘宝等需要连接互联网才能访问的国内外网站)进行检测,一旦检测出有连接外网情况,立即警告并展示检测结果;设备网络接口测试子模块针对的是设备新发现网段并对其进行扫描设备操作,扫描出外联设备同样立即警告并展示检测结果;设备网段扫描子模块是对路由交换设备内网段的IP设备进行扫描,获取其活动状态,并进行展示;设备网段设备登录核实是对路由交换设备网段内的IP设备进行账号登录核实,对不能登录的设备进行告知;外联情况测试子模块可测试网段内IP是否可以连接外部网络。

(6)信息汇总及报告生成模块:待所有检测完毕,工具会自动处理设备的相应名称、IP、MAC地址,设备之间的连接和层级关系等信息数据以及网络设备端口、路由等信息。以大量的数据为基础和相应的算法来绘制出一幅最为真实、完整、准确的系统拓扑图,与此同时用户还可以手动编辑已经生成的拓扑图实现添加或删除相关设备,从而提高功能的可塑性。

5 应用研究

运用该软件在三个变电站进行了网络拓扑排查分析,基本达到了预期目标,但也存在一定不足。从应用结果来看,厂站的拓扑排查首先需要具备一个IP的接入,此项工作如果不能提前申请并准备,会给排查带来一定准备时间上的开销。

在资产发现方面,软件能够发现较多的IP资源未登记情况,特别是Ⅲ区IP设备的台账厂站端的登记较为含糊,同时,Ⅲ区也是发现未登记IP资源或设备较多的区域,值得重视。值得肯定的是,该软件能够发现很多终端的操作系统内核,这也给设备台账辨识提供了依据和便利。

在拓扑生成方面,由于厂站网络结构相对稳定,拓扑生成相对准确和快速。但是,该软件对于多个网段的扫描需要消耗大量处理器资源,需要优化。优化方案不能首先采用获取具体网段的方案,需要SSH登录交换机或路由,显然在厂站便携性和方便性上有所下降,因此,扩大硬件装置内核数目或者采用GPU进行海量线程扫描会是比较好的办法。

6 总结

开发网络拓扑排查工具软件,基于网络扫描探测技术,全面发现连接在系统上的任何有IP的设备,探知所有信息设备的网络连接情况,生成和实际在运系统一致的网络拓扑图,可辅助运维人员了解系统网络连接的真实情况,能及时发现系统存在的跨区互连、非法外联、非法内联严重信息安全隐患,降低系统管理员运维工作量。

(1)网络拓扑排查工具的设计,有助于对网络中的设备及其详细情况进行快速全面了解,降低自动化运维人员的工作强度。进一步的,针对设备的操作系统探测,有助于明确网络中不同设备系统后期基线管理与加固的内容和要求,正确开展安全管理工作。

(2)网络拓扑排查工具的设计,采用了主动探测方式,减少了设备长时间挂网的风险,管理维护难度也较小,便携等特点,比较受到现场运维人员的欢迎。

参考文献

[1]汪文杰.一种网络流量分析工具[J].数字技术与应用, 2017 (10):67-68.

[2]蔡洪民,伍乃骐,滕少华.NIDS中的扫描攻击分析与检测技术研究[J].微计算机应用,2007 (02):220-224.

[3] Thomson S,Nar ten T.IPv6 Stateless AddressAutoconf igura tion [S]. IETF RFC2462, 1998-12.

[4]罗辉.网络管理技术[M].北京:高等教育出版社,2003,20-24.

[5]戴津.基于SpringBoot的EAST实验数据存储监控系统[D].中国科学技术大学,2020.

[6]倪翔,面向教育平台的程序在线评判系统设计与实现[D].天津大学,2017.

作者简介

张可(1981-),男,云南省大理白族自治州人。高级工程师,云南电网有限责任公司大理供电局变电修试所。从事电力系统自动化工作。

田嗥(1985-),男,云南省大理白族自治州人。工程师,云南电网有限责任公司大理供电局。研究方向为电力系统自动化。

马恩宁(1974-),男,回族,云南省大理白族自治州人。高级工程师,云南电网有限责任公司大理供电局变电修试所,从事电力系统自动化专业工作。

杨凯江(1989-),男,白族,云南省大理白族自治州人。工程师,云南电网有限责任公司大理供电局变电修试所,从事电力系统自动化专业工作。

猜你喜欢 软件开发 构件化软件开发及系统测试技术电子技术与软件工程(2017年20期)2018-01-17计算机网络自动检测控制系统软件开发设计探索电脑知识与技术(2017年26期)2017-11-20Web异常数据挖掘的软件开发与改进研究现代电子技术(2017年18期)2017-09-25浦东机场AWOS通信设备监控系统的开发电子技术与软件工程(2016年15期)2017-04-27基于计算机软件开发的JAVA编程语言分析课程教育研究·新教师教学(2016年4期)2017-04-08基于计算机软件开发的JAVA编程语言解析科技创新导报(2016年30期)2017-03-15软件测试对于提高软件质量的作用电子技术与软件工程(2016年23期)2017-03-06Docker技术在软件开发过程中的应用研究中小企业管理与科技·中旬刊(2016年9期)2016-10-29论计算机软件开发与数据库管理科教导刊·电子版(2016年8期)2016-06-27班主任网上评价系统的设计与实现电脑知识与技术(2014年34期)2015-01-06

推荐访问:拓扑 排查 开发

《网络拓扑自动排查软件的设计与开发.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:

文档为doc格式

一键复制全文 下载 投诉