一种基于设备指纹库的网络设备识别方法和装置与流程

文档序号:12182975阅读:3909来源:国知局

本发明涉及一种基于设备指纹库的网络设备识别方法和装置,属于网络技术领域。



背景技术:

网络设备,在本文中,指的是连接到网络中的物理实体。包括但不限于:交换机、路由器、打印机、服务器、防火墙等设备。

关于网络中网络设备的检测包括以下几种场景:一种场景是企业针对内部网络中的网络设备进行检测,以监控网络中是否存在禁止连接网络的设备,或监控网络中必须连网工作的设备是否正常连网。一种场景是企业针对内部网络中的网络设备进行检测,以收集网络设备的品牌和型号;当某品牌某型号的网络设备被爆出存在漏洞时,便可以迅速知晓自身内部网络中有多少设备受该漏洞影响。还有一种场景是网络监管部门针对监管辖区范围内的网络设备进行检测,以收集网络设备的品牌和型号;当某品牌某型号的网络设备被爆出存在漏洞时,便可以迅速知晓自身监管辖区范围内有多少网络设备受该漏洞影响。

目前常见的网络设备识别,是通过探测IP地址存活和端口开放的方法,来发现连接到网络中的设备。该方法仅能发现连网的设备及其使用的IP地址和开放的端口,但不能识别出其设备类型、设备品牌和设备型号。



技术实现要素:

针对现有技术中存在的技术问题,本发明的目的在于提供一种基于设备指纹库的网络设备识别方法和装置。

本发明的技术方案为:

一种基于设备指纹库的网络设备识别方法,其步骤为:

1)创建一设备指纹库,该设备指纹库包括多条端口、协议、设备指纹、设备类型、设备品牌、设备型号的对应关系;

2)针对待探测的目标端口,在设备指纹库中查找该目标端口所对应的协议类型;

3)针对步骤2)确定的每一协议类型及其对应的数据包传输规则,向各网络设备的该目标端口发送符合该协议类型对应格式的数据包,并接收返回的数据包;

4)将返回的数据包与设备指纹库中的设备指纹进行比对,识别出网络设备的设备类型、设备品牌和设备型号。

进一步的,步骤4)中,将返回的数据包与设备指纹库中的设备指纹进行比对的方法为:根据返回数据包对应的协议和端口,在该设备指纹库中查找匹配的数据条目,然后将各匹配的数据条目中的设备指纹分别与返回数据包的设备指纹进行匹配,将匹配成功的数据条目中的设备类型、设备品牌和设备型号作为该返回数据包对应网络设备的设备类型、设备品牌和设备型号。

进一步的,第i个设备指纹包含的是厂商i的型号i的网络设备返回数据中所独有的特征。

进一步的,所述设备指纹采用一段正则表达式进行描述。

进一步的,步骤2)中,在设备指纹库中查找该目标端口所对应的协议类型的方法为:首先在设备指纹库中查找该目标端口所对应的所有数据条目,然后统计出这些数据条目所包含的协议类型作为该目标端口所对应的协议类型。

进一步的,对步骤1)所述设备指纹库进行长期地更新及维护。

一种基于设备指纹库的网络设备识别装置,其特征在于,包括

设备指纹库,包括多条端口、协议、设备指纹、设备类型、设备品牌、设备型号的对应关系;

数据包发送模块,用于针对待探测的目标端口,在设备指纹库中查找该目标端口所对应的协议类型,并针对每一协议类型及其对应的数据包传输规则,向各网络设备的该目标端口发送符合该协议类型对应格式的数据包;

数据包接收模块,用于接收返回的数据包;

指纹比对模块,将返回的数据包与设备指纹库中的设备指纹进行比对,识别出网络设备的设备类型、设备品牌和设备型号。

网络设备通常会开放自身的某个端口,以提供相应协议的服务;我们向网络设备的某个开放端口,发送符合该协议服务格式的数据包,网络设备会返回一段有特征的数据包,我们将这段数据包中所包含的特征,称之为设备指纹。设备指纹对应到具体表现层面和编码实现层面,该特征对应的是一段正则表达式,我们称这段正则表达式为“指纹规则”。

该发明的网络设备识别方法,指的是:创建并长期更新维护一份设备指纹库,该设备指纹库包含了端口、协议、设备指纹、设备类型、设备品牌、设备型号的对应关系;针对网络设备的某端口,从设备指纹库中得出该端口所对应的协议,然后向网络设备的该端口发送符合对应协议格式的数据包,接收返回数据包,并将返回数据包与设备指纹库中的设备指纹进行比对,以识别出网络设备的设备类型、设备品牌和设备型号。

本发明的方法流程如图1所示,其步骤包括:

步骤1:创建并长期更新维护一份设备指纹库。

步骤2:“该发明对应的装置”,向网络设备对应IP地址的某个端口,发送符合协议格式的数据包。

步骤3:网络设备,向“该发明对应的装置”返回数据包。

步骤4:“该发明对应的装置”,将接收到的返回数据包,与设备指纹库中的设备指纹进行比对,以识别出网络设备的设备类型、设备品牌和设备型号。

与现有技术相比,本发明的积极效果为:

本发明利用设备指纹库,并结合发送接收数据包的方式,达到了远程识别网络设备的设备类型、品牌、型号的目的,摆脱了仅仅探测到网络设备连网存活却无法获取设备更多信息的局限。

目前在进行网络设备的整理时候,通常是采用人工进行登记备案的方式,会花费很多人力;而本发明使用的是通过技术手段发包探测,识别网络设备;从而省去了人工登记整理的过程。即通过本发明步骤2,采用主动识别的方式代替了被动信息登记收集的方式,提高了易用性。

附图说明

图1为本发明方法的流程图。

具体实施方式

下面结合附图,对优选实施例作详细说明。应该强调的是下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。

本发明的步骤包括:

(一)设备指纹库的格式和示例

设备指纹库包含以下几个字段:端口、协议、指纹规则、设备类型、设备品牌、设备型号。

(1)字段的含义:

端口:网络设备开放的端口,端口的可能值在1-65535之间。

协议:该端口所对应的服务协议类型,例如:http、ssh、telnet、ftp等。

指纹规则:一段正则表达式,用来在网络设备返回的数据包中进行匹配。每一指纹规则包含的是某一厂商某一型号网络设备返回数据中所独有的特征。

设备类型:网络设备的类型,例如:路由器、防火墙、交换机等。

设备品牌:网络设备的品牌,例如:思科、华为、TP-LINK等。

设备型号:网络设备的型号,例如:TP-LINK路由器的型号有TL-ER5520G、TL-WVR450L、TL-R406等。

(2)字段的示例:

说明:

此处设备型号为$1,指的是,正则表达式匹配成功后,小括号中的内容所对应的字符串内容。本示例中,$1,指的是,正则表达式中匹配成功之后,小括号([\w-]+)中的匹配内容,即为设备型号。(例如:TL-R406)

(二)详细识别过程和方法

首先确定需要探测的端口,然后在设备指纹库中查找该端口所对应的所有数据条目,统计出这些数据条目所包含的协议类型;

每个协议类型,都有特定的数据包传输规则,所以需要根据协议类型及其对应的数据包传输规则,向网络设备的端口发送符合该协议规定格式的数据包,并接收网络设备返回的数据包;

将端口、协议、网络设备返回的数据包,与设备指纹库中的数据条目进行比对:若端口、协议相同,则使用该数据条目中的指纹规则的正则表达式去匹配数据包,若匹配成功,则表示网络设备即为该数据条目中的设备类型、设备品牌和设备型号。

识别过程示例:

(1)设备指纹库中存在以下几个数据条目

(2)可以看出设备指纹库中,端口80所对应的协议有2种:http和https。因此,向网络设备的80端口分别发送符合http协议和https协议格式的数据包。

发送http协议格式的数据包,返回数据包为:(最后的……表示更多内容省略)

HTTP/1.1401N/A

Server:Router

Connection:close

WWW-Authenticate:Basic realm="TP-LINK SOHO Router TL-R406"

……

发送https协议格式的数据包,没有返回数据包。

(3)向网络设备的80端口发送https协议格式的数据包,网络设备没有返回数据包,表示网络设备的80端口不支持https协议。向网络设备的80端口发送http协议格式的数据包,网络设备返回了http协议格式的数据包,表示网络设备的80端口支持http协议。

设备指纹库中的第1个和第2个条目,对应的是80端口和http协议。因此,将这两个条目中的正则表达式,分别与http协议对应的返回数据包进行匹配,发现第1个数据条目的正则表达式匹配成功,第2个数据条目的正则表达式匹配失败。因此,可以得到网络设备的设备类型是路由器,设备品牌是TP-LINK,设备型号是TL-R406。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1