CN114285718A - 一种拓扑生成方法、装置、电子设备及存储介质 - Google Patents

一种拓扑生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114285718A
CN114285718A CN202111629751.6A CN202111629751A CN114285718A CN 114285718 A CN114285718 A CN 114285718A CN 202111629751 A CN202111629751 A CN 202111629751A CN 114285718 A CN114285718 A CN 114285718A
Authority
CN
China
Prior art keywords
file
topology
port
project file
project
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111629751.6A
Other languages
English (en)
Other versions
CN114285718B (zh
Inventor
张晓宇
黄长波
张莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Aerospace Data Co ltd
Original Assignee
Beijing Aerospace Data Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Aerospace Data Co ltd filed Critical Beijing Aerospace Data Co ltd
Priority to CN202111629751.6A priority Critical patent/CN114285718B/zh
Publication of CN114285718A publication Critical patent/CN114285718A/zh
Application granted granted Critical
Publication of CN114285718B publication Critical patent/CN114285718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供的一种拓扑生成方法、装置、电子设备及存储介质,方法包括:向局域网中发送SNMP报文,发现存在于局域网中的各个路由器之间的路径关系以及各个路由器在路径上所处的位置;绘制出第一拓扑;对于每一路由器,对该路由器对应的各个子网广播地址解析协议,发现各个存活主机之间的路径关系、各个存活主机在第二路径上所处的位置以及各个存活主机的地址信息;在第一拓扑的基础上绘制出第二拓扑;向每一存活主机的端口发送TCP报文,确定全部端口中为监听状态的端口;对全部非固定端口进行本地扫描,得到全部端口信息;在第二拓扑的基础上绘制出第三拓扑。本申请能够主动探查并建立完整的企业资产拓扑,以帮助企业建立高质量的数据环境。

Description

一种拓扑生成方法、装置、电子设备及存储介质
技术领域
本申请涉及网络信息采集技术领域,具体而言,涉及一种拓扑生成方法、装置、电子设备及存储介质。
背景技术
随着信息技术的不断发展,企业大都面临着数字化转型的问题,对企业信息资产的主动探查自然而然成为了企业数字化转型的潜在推手,其具有降低数据利用成本、降低数据安全风险、缩短数据建设周期等重大意义。
目前,对企业信息资产的探查通常是基于网络遥感技术,通过网络遥感技术中的主动探测技术以及被动探测技术两种技术的结合来发现企业内部的主机、端口等信息资产。
然而,企业内部信息系统复杂,数据探查难度大,需要主观判断业务关联性,此外,服务器设备可能存在物理隔离的问题,网络遥感会有断点,这都会影响探查结果的准确性。
发明内容
有鉴于此,本申请的目的在于提供一种拓扑生成方法、装置、电子设备及存储介质,能够高效地发现业务系统内部的数据资产,从而更全面、更彻底的拓扑出企业信息资产的脉象。
第一方面,本申请实施例提供了一种拓扑生成方法,应用于终端设备,所述方法包括:
向内部局域网中发送简单网络管理协议SNMP报文,发现存在于所述内部局域网中的各个路由器之间的第一路径关系以及各个所述路由器在第一路径上所处的位置;
根据各个所述路由器之间的第一路径关系以及各个所述路由器在第一路径上所处的位置绘制出第一拓扑;
对于每一所述路由器,对该路由器对应的各个子网广播地址解析协议ARP,发现各个存活主机之间的第二路径关系、各个所述存活主机在第二路径上所处的位置以及各个所述存活主机的地址信息;
根据路由器与子网之间的对应关系、各个所述存活主机之间的第二路径关系、各个所述存活主机在第二路径上所处的位置以及各个所述存活主机的地址信息,在所述第一拓扑的基础上绘制出第二拓扑;
向每一所述存活主机的端口发送传输控制协议TCP报文,确定全部所述端口中为监听状态的端口;
在取得全部非固定端口的所属服务器的授权后,对全部所述非固定端口进行本地扫描,得到全部所述非固定端口的端口信息,其中,所述非固定端口为所述监听状态的端口中不包括于固定端口表中的端口;
根据非固定端口与存活主机之间的对应关系、所述非固定端口的端口信息,在所述第二拓扑的基础上绘制出第三拓扑。
在一种可能的实施方式中,向每一所述存活主机的端口发送传输控制协议TCP报文,确定全部所述端口中为监听状态的端口,包括:
向每一所述端口中发送携带有FIN标志的传输控制协议TCP报文,将接收到所述TCP报文后未作出响应的端口确定为所述监听状态的端口。
在一种可能的实施方式中,在根据非固定端口与存活主机之间的对应关系、所述非固定端口的端口信息,在所述第二拓扑的基础上绘制出第三拓扑之后,所述方法还包括:
对于每一所述非固定端口,将该非固定端口的关键字与预先给定的至少一个容器关键字进行比较,若存在与该非固定端口的关键字相同的容器关键字,则确定该非固定端口为容器端口,其中,所述该非固定端口的关键字是对该非固定端口进行扫描后得到的;
对于每一所述容器端口,根据该容器端口的相关业务系统目录确定该容器端口对应的业务系统,其中,每一所述业务系统中包括若干项目文件;
对于每一所述业务系统中包括的每一项目文件,根据该项目文件的文件扩展名,确定该项目文件的文件类型;
根据所述容器端口与所述业务系统之间的对应关系、项目文件与业务系统之间的对应关系、所述项目文件的文件类型,在第三拓扑的基础上绘制出第四拓扑。
在一种可能的实施方式中,所述文件类型包括:前端程序类型和JAVA WEB类型;所述对于每一所述项目文件,根据该项目文件的文件扩展名,确定该项目文件对应的文件类型,包括:
对于每一所述项目文件,若该项目文件的文件扩展名为前端程序文件扩展名,将该项目文件的文件类型确定为前端程序类型;
对于每一所述项目文件,若该项目文件的文件扩展名为JAVA WEB文件扩展名,将该项目文件的文件类型确定为JAVA WEB类型。
在一种可能的实施方式中,对于每一所述项目文件,当该项目文件的文件拓展名不为前端程序文件扩展名也不为JAVA WEB文件扩展名时,所述方法还包括:
对该项目文件进行解析,获取该项目文件的文件内容;
若该项目文件的文件内容中存在可见的前端程序标识,则将该项目文件的文件类型确定为前端程序类型;
若该项目文件的文件内容中存在可见的JAVA WEB标识,则将该项目文件的文件类型确定为JAVA WEB类型。
在一种可能的实施方式中,对于每一所述项目文件,当该项目文件的文件内容中不存在可见的前端程序标识或可见的JAVA WEB标识时,所述方法还包括:
若该项目文件的关联内容中存在可见的前端程序标识,将该项目文件的文件类型确定为前端程序类型,其中,所述该项目文件的关联内容包括:该项目文件的启动文件中的内容,该项目文件的第三方库中的内容;
若该项目文件的关联内容中存在可见的JAVA WEB标识,将该项目文件的文件类型确定为JAVA WEB类型。
在一种可能的实施方式中,在根据所述容器端口与所述业务系统之间的对应关系、项目文件与业务系统之间的对应关系、所述项目文件的文件类型,在第三拓扑的基础上绘制出第四拓扑之后,所述方法还包括:
对于每一所述项目文件,对该项目文件的配置文件进行解析,得到该项目文件对应的数据库以及所述数据库的关联信息,其中,所述数据库的关联信息包括:数据库的地址,数据库的名称和数据库的端口;
根据所述数据库的关联信息,确定所述数据库对应的数据表;
根据所述数据库与所述项目文件之间的对应关系、所述数据库的关联信息、所述数据表与数据库之间的对应关系,在所述第四拓扑的基础上绘制出第五拓扑。
第二方面,本申请实施例还提供了一种拓扑生成装置,所述装置包括:
第一搜索模块,用于向内部局域网中发送简单网络管理协议SNMP报文,发现存在于所述内部局域网中的各个路由器之间的第一路径关系以及各个所述路由器在第一路径上所处的位置;
拓扑生成模块,用于根据各个所述路由器之间的第一路径关系以及各个所述路由器在第一路径上所处的位置绘制出第一拓扑;
第二搜索模块,用于对于每一所述路由器,对该路由器对应的各个子网广播地址解析协议ARP,发现各个存活主机之间的第二路径关系、各个所述存活主机在第二路径上所处的位置以及各个所述存活主机的地址信息;
所述拓扑生成模块,还用于根据路由器与子网之间的对应关系、各个所述存活主机之间的第二路径关系、各个所述存活主机在第二路径上所处的位置以及各个所述存活主机的地址信息,在所述第一拓扑的基础上绘制出第二拓扑;
第三搜索模块,用于向每一所述存活主机的端口发送传输控制协议TCP报文,确定全部所述端口中为监听状态的端口;
扫描模块,用于在取得全部非固定端口的所属服务器的授权后,对全部所述非固定端口进行本地扫描,得到全部所述非固定端口的端口信息,其中,所述非固定端口为所述监听状态的端口中不包括于固定端口表中的端口;
所述拓扑生成模块,还用于根据非固定端口与存活主机之间的对应关系、所述非固定端口的端口信息,在所述第二拓扑的基础上绘制出第三拓扑。
在一种可能的实施方式中,所述第三搜索模块,具体用于:
向每一所述端口中发送携带有FIN标志的TCP报文,将接收到所述TCP报文后未作出响应的端口确定为所述监听状态的端口。
在一种可能的实施方式中,所述装置还包括:
第一确定模块,用于在所述拓扑模块根据非固定端口与存活主机之间的对应关系、所述非固定端口的端口信息,在所述第二拓扑的基础上绘制出第三拓扑之后,对于每一所述非固定端口,将该非固定端口的关键字与预先给定的至少一个容器关键字进行比较,若存在与该非固定端口的关键字相同的容器关键字,则确定该非固定端口为容器端口,其中,所述该非固定端口的关键字是对该非固定端口进行扫描后得到的;
第二确定模块,用于对于每一所述容器端口,根据该容器端口的相关业务系统目录确定该容器端口对应的业务系统,其中,每一所述业务系统中包括若干项目文件;
第三确定模块,用于对于每一所述业务系统中包括的每一项目文件,根据该项目文件的文件扩展名,确定该项目文件的文件类型;
所述拓扑生成模块,还用于根据所述容器端口与所述业务系统之间的对应关系、项目文件与业务系统之间的对应关系、所述项目文件的文件类型,在第三拓扑的基础上绘制出第四拓扑。
在一种可能的实施方式中,所述文件类型包括:前端程序类型和JAVA WEB类型;所述第三确定模块在对于每一所述项目文件,根据该项目文件的文件扩展名,确定该项目文件对应的文件类型时,具体用于:
对于每一所述项目文件,若该项目文件的文件扩展名为前端程序文件扩展名,将该项目文件的文件类型确定为前端程序类型;
对于每一所述项目文件,若该项目文件的文件扩展名为JAVA WEB文件扩展名,将该项目文件的文件类型确定为JAVA WEB类型。
在一种可能的实施方式中,所述装置还包括:
第一解析模块,用于对于每一所述项目文件,当该项目文件的文件拓展名不为前端程序文件扩展名也不为JAVA WEB文件扩展名时,对该项目文件进行解析,获取该项目文件的文件内容;
第四确定模块,用于若该项目文件的文件内容中存在可见的前端程序标识,则将该项目文件的文件类型确定为前端程序类型;若该项目文件的文件内容中存在可见的JAVAWEB标识,则将该项目文件的文件类型确定为JAVA WEB类型。
在一种可能的实施方式中,所述装置还包括:
第五确定模块,用于对于每一所述项目文件,当该项目文件的文件内容中不存在可见的前端程序标识或可见的JAVA WEB标识时,若该项目文件的关联内容中存在可见的前端程序标识,将该项目文件的文件类型确定为前端程序类型,其中,所述该项目文件的关联内容包括:该项目文件的启动文件中的内容,该项目文件的第三方库中的内容;若该项目文件的关联内容中存在可见的JAVA WEB标识,将该项目文件的文件类型确定为JAVA WEB类型。
在一种可能的实施方式中,所述装置还包括:
第二解析模块,用于所述拓扑生成模块在根据所述容器端口与所述业务系统之间的对应关系、项目文件与业务系统之间的对应关系、所述项目文件的文件类型,在第三拓扑的基础上绘制出第四拓扑之后,对于每一所述项目文件,对该项目文件的配置文件进行解析,得到该项目文件对应的数据库以及所述数据库的关联信息,其中,所述数据库的关联信息包括:数据库的地址,数据库的名称和数据库的端口;
第六确定模块,用于根据所述数据库的关联信息,确定所述数据库对应的数据表;
所述拓扑生成模块,还用于根据所述数据库与所述项目文件之间的对应关系、所述数据库的关联信息、所述数据表与数据库之间的对应关系,在所述第四拓扑的基础上绘制出第五拓扑。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面任一项所述的拓扑生成方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的拓扑生成方法的步骤。
本申请实施例提供的一种拓扑生成方法、装置、电子设备及存储介质,能够高效地发现业务系统内部的数据资产,从而更全面、更彻底的拓扑出企业信息资产的脉象。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种拓扑生成方法的流程图;
图2示出了本申请实施例所提供的另一种拓扑生成方法的流程图;
图3示出了本申请实施例所提供的另一种拓扑生成方法的流程图;
图4示出了本申请实施例所提供的另一种拓扑生成方法的流程图;
图5示出了本申请实施例所提供的另一种拓扑生成方法的流程图;
图6示出了本申请实施例所提供的另一种拓扑生成方法的流程图;
图7示出了本申请实施例所提供的一种拓扑生成装置的结构示意图;
图8示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,各行业在汇总线上的业务数据时,都是将线上的这些业务数据按照原有的数据格式导入到文档中,但是,由于业务数据具有种类繁多、数据量大、结构复杂、建设标准不统一的特点,因此,目前采用数据导入方式,存在以下两方面的问题:一方面无法快速获取到所有的业务数据,另一方面,还要人工对文档中的数据格式进行调整,这都使得文档生成效率低。
基于此,本申请实施例提供了一种拓扑生成方法、装置、电子设备及介质,能够高效地发现业务系统内部的数据资产,从而更全面、更彻底的拓扑出企业信息资产的脉象。
下面对本申请实施例提供的拓扑生成方法进行详细说明。
参照图1所示,本申请实施例提供的一种拓扑生成方法,所述方法包括:
S101、向内部局域网中发送简单网络管理协议SNMP报文,发现存在于所述内部局域网中的各个路由器之间的第一路径关系以及各个所述路由器在第一路径上所处的位置。
在本申请实施例中,内部局域网可以是企业(公司)内部局域网、也可以是酒店内部局域网、宾馆内部局域网等。向内部局域网中发送简单网络管理协议(Simple NetworkManagement Protocal,SNMP)报文,以发现内部局域网中存在的各个路由器,以及各个路由器之间的连接关系(即第一路径关系)。
S102、根据各个所述路由器之间的第一路径关系以及各个所述路由器在第一路径上所处的位置绘制出第一拓扑。
绘制出包含路由器和路由器之间的第一路径关系的骨干结构(即第一拓扑,其中,第一拓扑的类型可以是树形拓扑,也可以是星型拓扑、混合型拓扑等)。
S103、对于每一所述路由器,对该路由器对应的各个子网广播地址解析协议ARP,发现各个存活主机之间的第二路径关系、各个所述存活主机在第二路径上所处的位置以及各个所述存活主机的地址信息。
对于每一路由器对应的每个子网,对该子网中广播地址解析协议(AdressResolution Protocal,ARP),以发现存在该子网中的各个存活主机、各个存活主机之间的连接关系(即第二路径关系)、以及每个存活主机的地址信息,其中,地址信息包括介质访问控制(Media Access Control,MAC)地址和互通协议(Interworking Protocol,IP)地址等。
S104、根据路由器与子网之间的对应关系、各个所述存活主机之间的第二路径关系、各个所述存活主机在第二路径上所处的位置以及各个所述存活主机的地址信息,在所述第一拓扑的基础上绘制出第二拓扑。
在第一拓扑(第一拓扑中仅包含路由器)的基础上进行进一步完善,绘制出子网、存活主机、存活主机之间的对应关系、子网和存活主机之间的对应关系,子网和路由器之间的对应关系,并标注出存活主机的地址信息,得到第二拓扑。
S105、向每一所述存活主机的端口发送传输控制协议TCP报文,确定全部所述端口中为监听状态的端口。
采用反端口扫描技术,对每一存活主机的端口发送传输控制协议(TransmissionControl Protocal,TCP)报文,以筛选出所有端口中为监听状态的端口,其中,全部端口中包含关闭状态的端口,以及,监听状态的端口。
S106、在取得全部非固定端口的所属服务器的授权后,对全部所述非固定端口进行本地扫描,得到全部所述非固定端口的端口信息,其中,所述非固定端口为所述监听状态的端口中不包括于固定端口表中的端口。
系统端口静态服务表(即固定端口表)中的端口为不记入信息资产的端口,例如,存在监听状态的端口1-10,其中,固定端口表中记录了监听状态的端口1-7,那么,将监听状态的端口8,监听状态的端口9和监听状态的端口10确定为非固定端口。
首先,取得全部非固定端口所属服务器的授权;然后,对每一非固定端口进行扫描,得到该非固定端口的端口信息,其中,端口信息包括端口的进程,端口的地址,端口的类型(例如按协议划分,可以分为TCP端口,UDP端口,保留端口等)等。
S107、根据非固定端口与存活主机之间的对应关系、所述非固定端口的端口信息,在所述第二拓扑的基础上绘制出第三拓扑。
根据非固定端口与存活主机之间的对应关系、所述非固定端口的端口信息,在第二拓扑的基础上进行更新,绘制出非固定端口、非固定端口和存活主机的对应关系,并标注出非固定端口的端口信息,得到第三拓扑。
在一种可能的实施方式中,步骤S105向每一所述存活主机的端口发送传输控制协议TCP报文,确定全部所述端口中为监听状态的端口,包括:
向每一所述端口中发送携带有FIN标志的TCP报文,将接收到所述TCP报文后未作出响应的端口确定为所述监听状态的端口。
对于每一端口,如果该端口在接收到携带FIN标志的TCP报文后没有任何反应,那么该端口即确定为监听状态的端口;如果该端口在接收到携带FIN标志的TCP报文后做出了复位(Reset,RST)应答(即返回了RST报文),那么该端口即确定为关闭状态的端口。
在一种可能的实施方式中,参照图2所示,本申请实施例提供的另一种拓扑生成方法的流程图,在步骤S107根据非固定端口与存活主机之间的对应关系、所述非固定端口的端口信息,在所述第二拓扑的基础上绘制出第三拓扑之后,所述方法还包括:
S201、对于每一所述非固定端口,将该非固定端口的关键字与预先给定的至少一个容器关键字进行比较,若存在与该非固定端口的关键字相同的容器关键字,则确定该非固定端口为容器端口,其中,所述该非固定端口的关键字是对该非固定端口进行扫描后得到的。
对每一非固定端口进行扫描,得到该非固定端口的关键字。预先给定几种容器关键字,若该非固定端口的关键字与容器关键字中的任一者相同,那么即将该非固定端口确定为容器端口。
S202、对于每一所述容器端口,根据该容器端口的相关业务系统目录确定该容器端口对应的业务系统,其中,每一所述业务系统中包括若干项目文件。
S203、对于每一所述业务系统中包括的每一项目文件,根据该项目文件的文件扩展名,确定该项目文件的文件类型。
S204、根据所述容器端口与所述业务系统之间的对应关系、项目文件与业务系统之间的对应关系、所述项目文件的文件类型,在第三拓扑的基础上绘制出第四拓扑。
在第三拓扑的基础上描绘出业务系统、项目文件,容器端口与业务系统之间的对应关系、项目文件与业务系统之间的对应关系,并标注出每一项目文件的文件类型,得到第四拓扑。
在一种可能的实施方式中,参照图3所示,本申请实施例提供的另一种拓扑生成方法的流程图,所述文件类型包括:前端程序类型和JAVA WEB类型;步骤S203所述对于每一所述项目文件,根据该项目文件的文件扩展名,确定该项目文件对应的文件类型,包括:
S301、对于每一所述项目文件,若该项目文件的文件扩展名为前端程序文件扩展名,将该项目文件的文件类型确定为前端程序类型。
例如,某一项目文件的名称为xxxx.html,那么该项目文件的文件扩展名即为html,html属于前端程序文件扩展名,那么该项目文件的文件类型即为前端程序类型。
S302、对于每一所述项目文件,若该项目文件的文件扩展名为JAVA WEB文件扩展名,将该项目文件的文件类型确定为JAVA WEB类型。
例如,某一项目文件的名称为xxxx.do,那么该项目文件的文件扩展名即为do,do属于JAVA WEB文件扩展名,那么该项目文件的文件类型即为JAVA WEB类型。
在一种可能的实施方式中,参照图4所示,本申请实施例提供的另一种拓扑生成方法的流程图,对于每一所述项目文件,当该项目文件的文件拓展名不为前端程序文件扩展名也不为JAVA WEB文件扩展名时,所述方法还包括:
S401、对该项目文件进行解析,获取该项目文件的文件内容。
若无法从文件扩展名判断该项目文件的文件类型,那么解析获取该项目文件的文件内容,根据文件内容进行判断。
S402、若该项目文件的文件内容中存在可见的前端程序标识,则将该项目文件的文件类型确定为前端程序类型。
若该项目文件的文件内容中包括:<title>、</head>、</body>、</html>等前端程序标识之一,那么该项目文件的文件类型即确定为JAVA WEB类型。
S403、若该项目文件的文件内容中存在可见的JAVA WEB标识,则将该项目文件的文件类型确定为JAVA WEB类型。
若该项目文件的文件内容中包括:<jsp:include>、<jsp:forward>、<jsp:useBean>、<jsp:setProperty>、<jsp:fallback>、<jsp:plugin>等JAVA WEB标识之一,那么该项目文件的文件类型即确定为JAVA WEB类型。
在一种可能的实施方式中,参照图5所示,本申请实施例提供的另一种拓扑生成方法的流程图,对于每一所述项目文件,当该项目文件的文件内容中不存在可见的前端程序标识或可见的JAVA WEB标识时,所述方法还包括:
S501、若该项目文件的关联内容中存在可见的前端程序标识,将该项目文件的文件类型确定为前端程序类型,其中,所述该项目文件的关联内容包括:该项目文件的启动文件中的内容,该项目文件的第三方库中的内容。
S502、若该项目文件的关联内容中存在可见的JAVA WEB标识,将该项目文件的文件类型确定为JAVA WEB类型。
结合步骤S501-S502,如果项目文件的文件内容中不存在可见的前端程序标识或可见的JAVA WEB标识时,可以对该项目文件的关联文件(包括启动文件,第三方库)进行解析,获取关联文件的文件内容(即关联内容);
若该项目文件的关联内容中包括:<title>、</head>、</body>、</html>等前端程序标识,那么该项目文件的文件类型即确定为JAVA WEB类型;若该项目文件的文件内容中包括:<jsp:include>、<jsp:forward>、<jsp:useBean>、<jsp:setProperty>、<jsp:fallback>、<jsp:plugin>等JAVA WEB标识,那么该项目文件的文件类型即确定为JAVA WEB类型。
在一种可能的实施方式中,参照图6所示,本申请实施例提供的另一种拓扑生成方法的流程图,在步骤S204根据所述容器端口与所述业务系统之间的对应关系、项目文件与业务系统之间的对应关系、所述项目文件的文件类型,在第三拓扑的基础上绘制出第四拓扑之后,所述方法还包括:
S601、对于每一所述项目文件,对该项目文件的配置文件进行解析,得到该项目文件对应的数据库以及所述数据库的关联信息,其中,所述数据库的关联信息包括:数据库的地址,数据库的名称和数据库的端口。
S602、根据所述数据库的关联信息,确定所述数据库对应的数据表。
S603、根据所述数据库与所述项目文件之间的对应关系、所述数据库的关联信息、所述数据表与数据库之间的对应关系,在第四拓扑的基础上绘制出第五拓扑。
结合步骤S601-S603,在得到每一项目文件对应的数据库、数据库的关联信息,数据库包括的数据表后,在第四拓扑的基础上进行进一步完善,绘制出项目文件、数据库、项目文件与数据库的对应关系、数据库所包含的数据表、并标注出数据库的关联信息,得到第五拓扑。
本申请实施例提供的一种拓扑生成方法,能够高效地发现业务系统内部的数据资产,从而更全面、更彻底的拓扑出企业信息资产的脉象。
基于同一发明构思,本申请实施例中还提供了与实施例中拓扑生成方法对应的拓扑生成装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述拓扑生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图7所示,本申请实施例提供的一种拓扑生成装置的示意图,所述装置包括:
第一搜索模块701,用于向内部局域网中发送简单网络管理协议SNMP报文,发现存在于所述内部局域网中的各个路由器之间的第一路径关系以及各个所述路由器在第一路径上所处的位置;
拓扑生成模块702,用于根据各个所述路由器之间的第一路径关系以及各个所述路由器在第一路径上所处的位置绘制出第一拓扑;
第二搜索模块703,用于对于每一所述路由器,对该路由器对应的各个子网广播地址解析协议ARP,发现各个存活主机之间的第二路径关系、各个所述存活主机在第二路径上所处的位置以及各个所述存活主机的地址信息;
所述拓扑生成模块702,还用于根据路由器与子网之间的对应关系、各个所述存活主机之间的第二路径关系、各个所述存活主机在第二路径上所处的位置以及各个所述存活主机的地址信息,在所述第一拓扑的基础上绘制出第二拓扑;
第三搜索模块704,用于向每一所述存活主机的端口发送传输控制协议TCP报文,确定全部所述端口中为监听状态的端口;
扫描模块705,用于在取得全部非固定端口的所属服务器的授权后,对全部所述非固定端口进行本地扫描,得到全部所述非固定端口的端口信息,其中,所述非固定端口为所述监听状态的端口中不包括于固定端口表中的端口;
所述拓扑生成模块702,还用于根据非固定端口与存活主机之间的对应关系、所述非固定端口的端口信息,在所述第二拓扑的基础上绘制出第三拓扑。
在一种可能的实施方式中,所述第三搜索模块704,具体用于:
向每一所述端口中发送携带有FIN标志的TCP报文,将接收到所述TCP报文后未作出响应的端口确定为所述监听状态的端口。
在一种可能的实施方式中,所述装置还包括:
第一确定模块,用于在所述拓扑生成模块702根据非固定端口与存活主机之间的对应关系、所述非固定端口的端口信息,在所述第二拓扑的基础上绘制出第三拓扑之后,对于每一所述非固定端口,将该非固定端口的关键字与预先给定的至少一个容器关键字进行比较,若存在与该非固定端口的关键字相同的容器关键字,则确定该非固定端口为容器端口,其中,所述该非固定端口的关键字是对该非固定端口进行扫描后得到的;
第二确定模块,用于对于每一所述容器端口,根据该容器端口的相关业务系统目录确定该容器端口对应的业务系统,其中,每一所述业务系统中包括若干项目文件;
第三确定模块,用于对于每一所述业务系统中包括的每一项目文件,根据该项目文件的文件扩展名,确定该项目文件的文件类型;
所述拓扑生成模块702,还用于根据所述容器端口与所述业务系统之间的对应关系、项目文件与业务系统之间的对应关系、所述项目文件的文件类型,在第三拓扑的基础上绘制出第四拓扑。
在一种可能的实施方式中,所述文件类型包括:前端程序类型和JAVA WEB类型;所述第三确定模块在对于每一所述项目文件,根据该项目文件的文件扩展名,确定该项目文件对应的文件类型时,具体用于:
对于每一所述项目文件,若该项目文件的文件扩展名为前端程序文件扩展名,将该项目文件的文件类型确定为前端程序类型;
对于每一所述项目文件,若该项目文件的文件扩展名为JAVA WEB文件扩展名,将该项目文件的文件类型确定为JAVA WEB类型。
在一种可能的实施方式中,所述装置还包括:
第一解析模块,用于对于每一所述项目文件,当该项目文件的文件拓展名不为前端程序文件扩展名也不为JAVA WEB文件扩展名时,对该项目文件进行解析,获取该项目文件的文件内容;
第四确定模块,用于若该项目文件的文件内容中存在可见的前端程序标识,则将该项目文件的文件类型确定为前端程序类型;若该项目文件的文件内容中存在可见的JAVAWEB标识,则将该项目文件的文件类型确定为JAVA WEB类型。
在一种可能的实施方式中,所述装置还包括:
第五确定模块,用于对于每一所述项目文件,当该项目文件的文件内容中不存在可见的前端程序标识或可见的JAVA WEB标识时,若该项目文件的关联内容中存在可见的前端程序标识,将该项目文件的文件类型确定为前端程序类型,其中,所述该项目文件的关联内容包括:该项目文件的启动文件中的内容,该项目文件的第三方库中的内容;若该项目文件的关联内容中存在可见的JAVA WEB标识,将该项目文件的文件类型确定为JAVA WEB类型。
在一种可能的实施方式中,所述装置还包括:
第二解析模块,用于所述拓扑生成模块在根据所述容器端口与所述业务系统之间的对应关系、项目文件与业务系统之间的对应关系、所述项目文件的文件类型,在第三拓扑的基础上绘制出第四拓扑之后,对于每一所述项目文件,对该项目文件的配置文件进行解析,得到该项目文件对应的数据库以及所述数据库的关联信息,其中,所述数据库的关联信息包括:数据库的地址,数据库的名称和数据库的端口;
第六确定模块,用于根据所述数据库的关联信息,确定所述数据库对应的数据表;
所述拓扑生成模块702,还用于根据所述数据库与所述项目文件之间的对应关系、所述数据库的关联信息、所述数据表与数据库之间的对应关系,在所述第四拓扑的基础上绘制出第五拓扑。
本申请实施例提供了一种拓扑生成装置,能够高效地发现业务系统内部的数据资产,从而更全面、更彻底的拓扑出企业信息资产的脉象。
参照图8所示,本申请实施例提供的一种电子设备800,包括:处理器801、存储器802和总线,所述存储器802存储有所述处理器801可执行的机器可读指令,当电子设备运行时,所述处理器801与所述存储器802之间通过总线通信,所述处理器801执行所述机器可读指令,以执行如上述拓扑生成方法的步骤。
对应于上述拓扑生成方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述拓扑生成方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种拓扑生成方法,其特征在于,所述方法包括:
向内部局域网中发送简单网络管理协议SNMP报文,发现存在于所述内部局域网中的各个路由器之间的第一路径关系以及各个所述路由器在第一路径上所处的位置;
根据各个所述路由器之间的第一路径关系以及各个所述路由器在第一路径上所处的位置绘制出第一拓扑;
对于每一所述路由器,对该路由器对应的各个子网广播地址解析协议ARP,发现各个存活主机之间的第二路径关系、各个所述存活主机在第二路径上所处的位置以及各个所述存活主机的地址信息;
根据路由器与子网之间的对应关系、各个所述存活主机之间的第二路径关系、各个所述存活主机在第二路径上所处的位置以及各个所述存活主机的地址信息,在所述第一拓扑的基础上绘制出第二拓扑;
向每一所述存活主机的端口发送传输控制协议TCP报文,确定全部所述端口中为监听状态的端口;
在取得全部非固定端口的所属服务器的授权后,对全部所述非固定端口进行本地扫描,得到全部所述非固定端口的端口信息,其中,所述非固定端口为所述监听状态的端口中不包括于固定端口表中的端口;
根据非固定端口与存活主机之间的对应关系、所述非固定端口的端口信息,在所述第二拓扑的基础上绘制出第三拓扑。
2.根据权利要求1所述的拓扑生成方法,其特征在于,向每一所述存活主机的端口发送传输控制协议TCP报文,确定全部所述端口中为监听状态的端口,包括:
向每一所述端口中发送携带有FIN标志的TCP报文,将接收到所述TCP报文后未作出响应的端口确定为所述监听状态的端口。
3.根据权利要求1所述的拓扑生成方法,其特征在于,在根据非固定端口与存活主机之间的对应关系、所述非固定端口的端口信息,在所述第二拓扑的基础上绘制出第三拓扑之后,所述方法还包括:
对于每一所述非固定端口,将该非固定端口的关键字与预先给定的至少一个容器关键字进行比较,若存在与该非固定端口的关键字相同的容器关键字,则确定该非固定端口为容器端口,其中,所述该非固定端口的关键字是对该非固定端口进行扫描后得到的;
对于每一所述容器端口,根据该容器端口的相关业务系统目录确定该容器端口对应的业务系统,其中,每一所述业务系统中包括若干项目文件;
对于每一所述业务系统中包括的每一项目文件,根据该项目文件的文件扩展名,确定该项目文件的文件类型;
根据所述容器端口与所述业务系统之间的对应关系、项目文件与业务系统之间的对应关系、所述项目文件的文件类型,在第三拓扑的基础上绘制出第四拓扑。
4.根据权利要求3所述的拓扑生成方法,其特征在于,所述文件类型包括:前端程序类型和JAVA WEB类型;所述对于每一所述项目文件,根据该项目文件的文件扩展名,确定该项目文件对应的文件类型,包括:
对于每一所述项目文件,若该项目文件的文件扩展名为前端程序文件扩展名,将该项目文件的文件类型确定为前端程序类型;
对于每一所述项目文件,若该项目文件的文件扩展名为JAVA WEB文件扩展名,将该项目文件的文件类型确定为JAVA WEB类型。
5.根据权利要求4所述的拓扑生成方法,其特征在于,对于每一所述项目文件,当该项目文件的文件拓展名不为前端程序文件扩展名也不为JAVA WEB文件扩展名时,所述方法还包括:
对该项目文件进行解析,获取该项目文件的文件内容;
若该项目文件的文件内容中存在可见的前端程序标识,则将该项目文件的文件类型确定为前端程序类型;
若该项目文件的文件内容中存在可见的JAVA WEB标识,则将该项目文件的文件类型确定为JAVA WEB类型。
6.根据权利要求5所述的拓扑生成方法,其特征在于,对于每一所述项目文件,当该项目文件的文件内容中不存在可见的前端程序标识或可见的JAVA WEB标识时,所述方法还包括:
若该项目文件的关联内容中存在可见的前端程序标识,将该项目文件的文件类型确定为前端程序类型,其中,所述该项目文件的关联内容包括:该项目文件的启动文件中的内容,该项目文件的第三方库中的内容;
若该项目文件的关联内容中存在可见的JAVA WEB标识,将该项目文件的文件类型确定为JAVA WEB类型。
7.根据权利要求3所述的拓扑生成方法,其特征在于,在根据所述容器端口与所述业务系统之间的对应关系、项目文件与业务系统之间的对应关系、所述项目文件的文件类型,在第三拓扑的基础上绘制出第四拓扑之后,所述方法还包括:
对于每一所述项目文件,对该项目文件的配置文件进行解析,得到该项目文件对应的数据库以及所述数据库的关联信息,其中,所述数据库的关联信息包括:数据库的地址,数据库的名称和数据库的端口;
根据所述数据库的关联信息,确定所述数据库对应的数据表;
根据所述数据库与所述项目文件之间的对应关系、所述数据库的关联信息、所述数据表与数据库之间的对应关系,在所述第四拓扑的基础上绘制出第五拓扑。
8.一种拓扑生成装置,其特征在于,所述装置包括:
第一搜索模块,用于向内部局域网中发送简单网络管理协议SNMP报文,发现存在于所述内部局域网中的各个路由器之间的第一路径关系以及各个所述路由器在第一路径上所处的位置;
拓扑生成模块,用于根据各个所述路由器之间的第一路径关系以及各个所述路由器在第一路径上所处的位置绘制出第一拓扑;
第二搜索模块,用于对于每一所述路由器,对该路由器对应的各个子网广播地址解析协议ARP,发现各个存活主机之间的第二路径关系、各个所述存活主机在第二路径上所处的位置以及各个所述存活主机的地址信息;
拓扑生成模块,还用于根据路由器与子网之间的对应关系、各个所述存活主机之间的第二路径关系、各个所述存活主机在第二路径上所处的位置以及各个所述存活主机的地址信息,在所述第一拓扑的基础上绘制出第二拓扑;
第三搜索模块,用于向每一所述存活主机的端口发送传输控制协议TCP报文,确定全部所述端口中为监听状态的端口;
扫描模块,用于在取得全部非固定端口的所属服务器的授权后,对全部所述非固定端口进行本地扫描,得到全部所述非固定端口的端口信息,其中,所述非固定端口为所述监听状态的端口中不包括于固定端口表中的端口;
拓扑生成模块,还用于根据非固定端口与存活主机之间的对应关系、所述非固定端口的端口信息,在所述第二拓扑的基础上绘制出第三拓扑。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7任一项所述的拓扑生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一项所述的拓扑生成方法的步骤。
CN202111629751.6A 2021-12-28 2021-12-28 一种拓扑生成方法、装置、电子设备及存储介质 Active CN114285718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111629751.6A CN114285718B (zh) 2021-12-28 2021-12-28 一种拓扑生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111629751.6A CN114285718B (zh) 2021-12-28 2021-12-28 一种拓扑生成方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114285718A true CN114285718A (zh) 2022-04-05
CN114285718B CN114285718B (zh) 2024-02-09

Family

ID=80877287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111629751.6A Active CN114285718B (zh) 2021-12-28 2021-12-28 一种拓扑生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114285718B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1756189A (zh) * 2004-09-30 2006-04-05 北京航空航天大学 基于snmp的ip网络拓扑发现方法
WO2012149794A1 (zh) * 2011-09-30 2012-11-08 华为技术有限公司 网络拓扑自动发现方法、装置及系统
CN109544349A (zh) * 2018-11-29 2019-03-29 广东电网有限责任公司 一种基于网络资产信息采集方法、装置、设备及存储介质
CN110430080A (zh) * 2019-08-07 2019-11-08 国家计算机网络与信息安全管理中心 网络拓扑探测方法及装置
CN111224802A (zh) * 2018-11-23 2020-06-02 北京国基科技股份有限公司 基于snmp的数据链路层网络拓扑发现方法及装置
CN111934921A (zh) * 2020-07-29 2020-11-13 深信服科技股份有限公司 一种网络拓扑发现方法及装置、设备、存储介质
CN112671553A (zh) * 2020-11-26 2021-04-16 中国电子科技网络信息安全有限公司 基于主被动探测的工控网络拓扑图生成方法
CN113452561A (zh) * 2021-06-25 2021-09-28 深信服科技股份有限公司 一种拓扑生成方法、装置、设备及可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1756189A (zh) * 2004-09-30 2006-04-05 北京航空航天大学 基于snmp的ip网络拓扑发现方法
WO2012149794A1 (zh) * 2011-09-30 2012-11-08 华为技术有限公司 网络拓扑自动发现方法、装置及系统
CN111224802A (zh) * 2018-11-23 2020-06-02 北京国基科技股份有限公司 基于snmp的数据链路层网络拓扑发现方法及装置
CN109544349A (zh) * 2018-11-29 2019-03-29 广东电网有限责任公司 一种基于网络资产信息采集方法、装置、设备及存储介质
CN110430080A (zh) * 2019-08-07 2019-11-08 国家计算机网络与信息安全管理中心 网络拓扑探测方法及装置
CN111934921A (zh) * 2020-07-29 2020-11-13 深信服科技股份有限公司 一种网络拓扑发现方法及装置、设备、存储介质
CN112671553A (zh) * 2020-11-26 2021-04-16 中国电子科技网络信息安全有限公司 基于主被动探测的工控网络拓扑图生成方法
CN113452561A (zh) * 2021-06-25 2021-09-28 深信服科技股份有限公司 一种拓扑生成方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN114285718B (zh) 2024-02-09

Similar Documents

Publication Publication Date Title
CN110113345B (zh) 一种基于物联网流量的资产自动发现的方法
US8289882B2 (en) Systems and methods for modifying network map attributes
CN108063833B (zh) Http dns解析报文处理方法及装置
CN113507461B (zh) 基于大数据的网络监控系统及网络监控方法
CN111049947B (zh) 报文转发方法及装置、电子设备、存储介质
CN108833129B (zh) 一种网络拓扑发现方法和装置
CN114915561A (zh) 网络拓扑图生成方法和装置
CN116708253B (zh) 设备识别方法、装置、设备及介质
CN113098776B (zh) 一种网络拓扑的确定方法、装置、设备及存储介质
CN114285718B (zh) 一种拓扑生成方法、装置、电子设备及存储介质
CN116719868A (zh) 网络资产的识别方法、装置及设备
Yu et al. Traffic identification and overlay measurement of Skype
US8607310B2 (en) Association of in-band and out-of-band identification credentials of a target device
Azodi et al. Event driven network topology discovery and inventory listing using reams
JP4319609B2 (ja) 攻撃経路解析装置及び攻撃経路解析方法及びプログラム
JP3944214B2 (ja) デバイス管理システム、装置および方法
KR100761984B1 (ko) 자국어 인터넷주소의 처리방법 및 이를 실행시키기 위한프로그램을 기록한 기록매체
CN117424928B (zh) 网络设备和资源分享的方法
CN117176612B (zh) 网络质量的探测方法、装置和计算机可读存储介质
CN115037793B (zh) 用户数据报协议数据处理方法、装置及电子设备
JP3826906B2 (ja) 通信管理装置
CN115333951A (zh) 网络资产信息的生成方法、装置及电子设备
CN114124742A (zh) 一种适用于工业网络资产运行状态监测系统
CN115622975A (zh) Dns请求转发链获取方法、装置、设备及存储介质
JP4943929B2 (ja) ネットワークフォレンジックシステム、ネットワーク監視方法及びmacアドレスのサンプリング方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant