一种智能设备识别方法、装置、设备及可读存储介质转让专利

申请号 : CN202211609491.0

文献号 : CN115604158B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王剑陈炯峄苏云飞黄恺杰王勉坤李瑞林冯超

申请人 : 中国人民解放军国防科技大学

摘要 :

本发明公开了一种智能设备识别方法,应用于网络设备检测领域,包括:通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取目标设备的目标设备信息;其中,目标设备信息包括设备型号信息、设备版本信息和设备关键词信息中至少一项;网页分析方法为利用目标设备的网络协议对目标设备的开放页面进行分析的方法;根据目标设备信息确定目标设备是否为智能设备。本发明通过从多个维度获取智能设备的信息参数,利用协议数据包分析方法和网页分析方法获取目标设备的信息,能够提高识别智能设备的准确性。此外,本发明还提供了一种智能设备识别装置、设备及可读存储介质,同样具有以上有益效果。

权利要求 :

1.一种智能设备识别方法,其特征在于,包括:

通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取所述目标设备的目标设备信息;所述目标设备信息包括设备型号信息、设备版本信息和设备关键词信息中至少一项;所述网页分析方法为利用所述目标设备的网络协议对所述目标设备的开放页面进行分析的方法;

根据所述目标设备信息确定所述目标设备是否为智能设备;

其中,所述根据所述目标设备信息确定所述目标设备是否为智能设备,包括:利用搜索引擎依次对所述设备型号信息、所述设备版本信息和所述设备关键词信息进行搜索,得到第一预设数量的搜索结果;

提取所述搜索结果中的信息,作为搜索目标设备信息;

利用关联分析算法对所述目标设备信息和所述搜索目标设备信息进行处理,得到所述目标设备信息和所述搜索目标设备信息之间的关联结果;

根据所述关联结果和所述目标设备信息确定所述目标设备是否为智能设备;

所述根据所述关联结果和所述目标设备信息确定所述目标设备是否为智能设备,包括:对所述关联结果和所述目标设备信息进行标注分类,得到第二预设数量的目标设备信息分类项;

根据所述目标设备信息分类项的预设权重值,计算总分值;所述预设权重值中目标设备端口的权重值为利用聚类算法计算的权重分数值,利用 公式计算所述目标设备端口的所述权重值;

为待识别设备有 个开放端口, 为第i个开放端口对应的权重值;

判断所述总分值是否大于阈值;

若是,则所述目标设备是智能设备;

若否,则所述目标设备不是智能设备。

2.根据权利要求1所述的智能设备识别方法,其特征在于,所述通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取所述目标设备的目标设备信息,包括:对所述目标设备进行扫描探测,得到所述目标设备的开放服务信息、HTTP和/或HTTPS协议信息;

根据所述目标设备的开放服务信息,构建探测数据包发送至所述目标设备,并从所述目标设备返回的数据包中解析得到第一目标设备信息;

根据所述HTTP和/或HTTPS协议信息,提取所述目标设备的所述开放页面中的第二目标设备信息;

将所述第一目标设备信息和所述第二目标设备信息作为最终的所述目标设备信息。

3.根据权利要求2所述的智能设备识别方法,其特征在于,所述提取所述目标设备的所述开放页面中的第二目标设备信息,包括:提取所述目标设备的所述开放页面中的第一文字信息;

采用正则表达式提取所述目标设备的所述开放页面中的图片,采用深度学习算法提取所述图片中的第二文字信息;

将所述第一文字信息和所述第二文字信息进行整合,得到所述目标设备信息。

4.根据权利要求3所述的智能设备识别方法,其特征在于,所述采用正则表达式提取所述目标设备的所述开放页面中的图片,包括:采用所述正则表达式提取所述目标设备的所述开放页面中的初始图片,对所述初始图片进行降噪处理、倾斜矫正处理和直方图均衡增强处理,得到所述图片。

5.根据权利要求1所述的智能设备识别方法,其特征在于,所述根据所述目标设备信息确定所述目标设备是否为智能设备,包括:若所述设备型号信息存在于设备型号信息库中,和/或若所述设备版本信息存在于设备版本信息库中,和/或若所述设备关键词信息存在于设备关键词信息库中,则确定所述目标设备为智能设备。

6.一种智能设备识别装置,其特征在于,包括:

获取模块,用于通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取所述目标设备的目标设备信息;所述目标设备信息包括设备型号信息、设备版本信息和设备关键词信息中至少一项;所述网页分析方法为利用所述目标设备的网络协议对所述目标设备的开放页面进行分析的方法;

确定模块,用于根据所述目标设备信息确定所述目标设备是否为智能设备;

其中,所述确定模块,可以包括:

搜索单元,用于利用搜索引擎依次对所述设备型号信息、所述设备版本信息和所述设备关键词信息进行搜索,得到第一预设数量的搜索结果;

第三提取单元,用于提取所述搜索结果中的信息,作为搜索目标设备信息;

关联结果获取单元,用于利用关联分析算法对所述目标设备信息和所述搜索目标设备信息进行处理,得到所述目标设备信息和所述搜索目标设备信息之间的关联结果;

第二确定单元,用于根据所述关联结果和所述目标设备信息确定所述目标设备是否为智能设备;

所述第二确定单元,可以包括:

标注分类子单元,用于对所述关联结果和所述目标设备信息进行标注分类,得到第二预设数量的目标设备信息分类项;

计算子单元,用于根据所述目标设备信息分类项的预设权重值,计算总分值;所述预设权重值中目标设备端口的权重值为利用聚类算法计算的权重分数值,利用公式计算所述目标设备端口的所述权重值;

为待识别设备有 个开放端口, 为第i个开放端口对应的权重值;

判断子单元,用于判断所述总分值是否大于阈值;

第一确定子单元,用于若所述总分值大于所述阈值,则所述目标设备是智能设备;

第二确定子单元,用于若所述总分值小于或等于所述阈值,则所述目标设备不是智能设备。

7.一种智能设备识别设备,其特征在于,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序实现如权利要求1至5任一项所述的智能设备识别方法的步骤。

8.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的智能设备识别方法的步骤。

说明书 :

一种智能设备识别方法、装置、设备及可读存储介质

技术领域

[0001] 本发明涉及网络设备检测领域,特别涉及一种智能设备识别方法、装置、设备及可读存储介质。

背景技术

[0002] 现有技术中,要识别网络上的设备是否是智能家居设备通常需要获取该设备的信息,并根据获取的信息判别该设备是否属于智能家居设备。当前获取设备信息的方法通常采用扫描探测的方法,通过向目标设备发送数据包并分析回包数据得到设备的相关信息。
[0003] 现有通过识别用户提供的设备产品二维码图像,来获取智能家居设备信息的方式,但是该技术应用前需要建立设备的信息库,才能生成对应二维码粘贴到设备上,用户扫描二维码后,需要拍照上传二维码图片到系统,提取设备信息,实际操作比较繁琐,并非主动扫描和探测获取物联网设备信息。另外有通过获取若干目标流量数据包的流量特征来分析设备信息,但目标流量数据包选取不当会造成误判的问题,并且目前流量数据包的采集主要是在旁路或者直接在链路上采集,因此需要将不同的设备产品接入网络进行采集,效率较低,操作较为复杂。

发明内容

[0004] 有鉴于此,本发明的目的在于提供一种智能设备识别方法、装置、设备及可读存储介质,解决了相关技术中识别智能设备操作繁琐、识别准确性低,进而造成智能设备识别效率低的问题。
[0005] 为解决上述技术问题,本发明提供了一种智能设备识别方法,包括:
[0006] 通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取所述目标设备的目标设备信息;所述目标设备信息包括设备型号信息、设备版本信息和设备关键词信息中至少一项;所述网页分析方法为利用所述目标设备的网络协议对所述目标设备的开放页面进行分析的方法;
[0007] 根据所述目标设备信息确定所述目标设备是否为智能设备。
[0008] 可选的,所述通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取所述目标设备的目标设备信息,包括:
[0009] 对所述目标设备进行扫描探测,得到所述目标设备的开放服务信息、HTTP和/或HTTPS协议信息;
[0010] 根据所述目标设备的开放服务信息,构建探测数据包发送至所述目标设备,并从所述目标设备返回的数据包中解析得到第一目标设备信息;
[0011] 根据所述HTTP和/或HTTPS协议信息,提取所述目标设备的所述开放页面中的第二目标设备信息;
[0012] 将所述第一目标设备信息和所述第二目标设备信息作为最终的所述目标设备信息。
[0013] 可选的,所述提取所述目标设备的所述开放页面中的第二目标设备信息,包括:
[0014] 提取所述目标设备的所述开放页面中的第一文字信息;
[0015] 采用正则表达式提取所述目标设备的所述开放页面中的图片,采用深度学习算法提取所述图片中的第二文字信息;
[0016] 将所述第一文字信息和所述第二文字信息进行整合,得到所述目标设备信息。
[0017] 可选的,所述采用正则表达式提取所述目标设备的所述开放页面中的图片,包括:
[0018] 采用所述正则表达式提取所述目标设备的所述开放页面中的初始图片,对所述初始图片进行降噪处理、倾斜矫正处理和直方图均衡增强处理,得到所述图片。
[0019] 可选的,所述根据所述目标设备信息确定所述目标设备是否为智能设备,包括:
[0020] 若所述设备型号信息存在于设备型号信息库中,和/或若所述设备版本信息存在于设备版本信息库中,和/或若所述设备关键词信息存在于设备关键词信息库中,则确定所述目标设备为智能设备。
[0021] 可选的,所述根据所述目标设备信息确定所述目标设备是否为智能设备,包括:
[0022] 利用搜索引擎依次对所述设备型号信息、所述设备版本信息和所述设备关键词信息进行搜索,得到第一预设数量的搜索结果;
[0023] 提取所述搜索结果中的信息,作为搜索目标设备信息;
[0024] 利用关联分析算法对所述目标设备信息和所述搜索目标设备信息进行处理,得到所述目标设备信息和所述搜索目标设备信息之间的关联结果;
[0025] 根据所述关联结果和所述目标设备信息确定所述目标设备是否为智能设备。
[0026] 可选的,所述根据所述关联结果和所述目标设备信息确定所述目标设备是否为智能设备,包括:
[0027] 对所述关联结果和所述目标设备信息进行标注分类,得到第二预设数量的目标设备信息分类项;
[0028] 根据所述目标设备信息分类项的预设权重值,计算总分值;
[0029] 判断所述总分值是否大于阈值;
[0030] 若是,则所述目标设备是智能设备;
[0031] 若否,则所述目标设备不是智能设备。
[0032] 本发明还提供了一种智能设备识别装置,包括:
[0033] 获取模块,用于通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取所述目标设备的目标设备信息;所述目标设备信息包括设备型号信息、设备版本信息和设备关键词信息中至少一项;所述网页分析方法为利用所述目标设备的网络协议对所述目标设备的开放页面进行分析的方法;
[0034] 确定模块,用于根据所述目标设备信息确定所述目标设备是否为智能设备。
[0035] 本发明还提供了一种智能设备识别设备,包括:
[0036] 存储器,用于存储计算机程序;
[0037] 处理器,用于执行所述计算机程序实现上述的智能设备识别方法的步骤。
[0038] 本发明还提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的智能设备识别方法的步骤。
[0039] 可见,本发明通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取目标设备的目标设备信息,其中,目标设备信息包括设备型号信息、设备版本信息和设备关键词信息中至少一项,网页分析方法为利用目标设备的网络协议对目标设备的开放页面进行分析的方法,根据目标设备信息确定目标设备是否为智能设备。本发明通过从多个维度获取智能设备的信息参数,利用协议数据包分析方法和网页分析方法获取目标设备的信息,能够提高识别智能设备的准确性。
[0040] 此外,本发明还提供了一种智能设备识别装置、设备及可读存储介质,同样具有上述有益效果。

附图说明

[0041] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0042] 图1为本发明实施例提供的一种智能设备识别方法的流程图;
[0043] 图2为本发明实施例提供的一种获取目标设备的目标设备信息的流程图;
[0044] 图3为本发明实施例提供的一种提取目标设备的开放页面中的第二目标设备信息的流程图;
[0045] 图4为本发明实施例提供的一种确定目标设备是否为智能设备的流程图;
[0046] 图5为本发明实施例提供的一种智能设备识别装置的结构示意图;
[0047] 图6为本发明实施例提供的一种智能设备识别设备的结构示意图。

具体实施方式

[0048] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049] 请参考图1,图1为本发明实施例提供的一种智能设备识别方法的流程图。该方法可以包括:
[0050] S101:通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取目标设备的目标设备信息。
[0051] 本实施例的执行主体为终端。本实施例并不限定终端的种类,只要是能够完成智能设备识别的操作即可。例如,可以是通用型终端,也可以是专用型终端。需要进行说明的是,本实施例中目标设备信息包括设备型号信息、设备版本信息和设备关键词信息中至少一项,本实施例中网页分析方法为利用目标设备的网络协议对目标设备的开放页面进行分析的方法。
[0052] 本实施例并不限定通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取目标设备的目标设备信息对应程序的启动时间,只要是能够及时获取到目标设备的目标设备信息即可。例如,可以是在智能设备识别的程序启动后自动启动,也可以是在接收到操作人员的启动指令后启动。本实施例并不限定接收到操作人员的指令的具体方式。例如,可以是以语音输入的方式接收操作人员的启动指令,也可以是以操作端口输入的方式接收操作人员的启动指令。本实施例并不限定通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取目标设备的目标设备信息的频率。例如,可以是实时进行获取,即完成一次获取的操作后,立即进行下一次获取;也可以是每隔预设获取时间周期执行一次获取的操作。本实施例并不限定预设获取时间周期的设定值。例如,预设获取时间周期可以是1秒,预设获取时间周期也可以是2秒,预设获取时间周期还可以是5秒。本实施例并不限定预设获取时间周期的设定依据。例如,可以是根据操作人员自定义设定,也可以根据智能设备识别的程序的处理速度进行设定,可以是智能设备识别的程序的处理速度越快,预设获取时间周期的设定值越小。为了及时对目标设备的目标设备信息进行获取,本实施例可以采用实时进行获取的方式。
[0053] 需要进行说明的是,上述目标设备信息还可以是开放端口信息、开放服务信息、系统类型信息、系统版本信息、设备厂商信息中至少一项作为目标设备信息。
[0054] 进一步地,为了能够准确地获取目标设备的目标设备信息,提高获取的目标设备信息的准确性,上述通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取目标设备的目标设备信息,可以包括以下步骤,具体请参考图2,图2为本发明实施例提供的一种获取目标设备的目标设备信息的流程图:
[0055] S201:对目标设备进行扫描探测,得到目标设备的开放服务信息、HTTP和/或HTTPS协议信息。
[0056] S202:根据目标设备的开放服务信息,构建探测数据包发送至目标设备,并从目标设备返回的数据包中解析得到第一目标设备信息。
[0057] 需要进行说明的是,本实施例利用协议数据包分析方法,根据扫描获得的目标设备的开放服务信息,构造相应的探测数据包,发送至目标设备,并接收目标设备返回的协议数据包,对协议数据包进行解析,将得到的目标设备信息作为第一目标设备信息。
[0058] 需要进行说明的是,本实施例中可以通过目标设备的开放服务信息获取目标设备的开放端口信息,根据目标设备的开放端口信息构建探测数据包发送至目标设备,并从目标设备返回的数据包中解析得到第一目标设备信息。
[0059] 本实施例并不限定构建探测数据包发送至目标设备的频率,只要是能够及时获取到第一目标设备信息即可。例如,可以每启动一次获取目标设备的目标设备信息的程序,执行一次构建探测数据包发送至目标设备的操作,也可以每隔预设发送时间周期执行一次构建探测数据包发送至目标设备的操作。本实施例并不限定预设发送时间周期的设定值。例如,预设发送时间周期可以是30分钟,预设发送时间周期也可以是60分钟,预设发送时间周期还可以是90分钟。
[0060] S203:根据HTTP和/或HTTPS协议信息,提取目标设备的开放页面中的第二目标设备信息。
[0061] 需要进行说明的是,本实施例利用网页分析方法,根据扫描得到的HTTP和/或HTTPS协议信息(HTTP协议为Hyper Text Transfer Protocol,超文本传输协议;HTTPS协议为超文本传输安全协议),通过网络爬虫爬取目标设备的开放页面,并从目标设备的开放页面中提取目标设备的目标设备信息,作为第二目标设备信息。
[0062] 进一步地,为了能够准确全面的提取目标设备的第二目标设备信息,上述提取目标设备的开放页面中的第二目标设备信息,可以包括以下步骤,具体请参考图3,图3为本发明实施例提供的一种提取目标设备的开放页面中的第二目标设备信息的流程图:
[0063] S301:提取目标设备的开放页面中的第一文字信息。
[0064] 需要进行说明的是,本实施例中第一文字信息是目标设备的开放页面中的文本信息。本实施例并不限定提取目标设备的开放页面中的第一文字信息的频率,只要是能够准确地提取目标设备的开放页面中的第一文字信息即可。例如,可以实时提取目标设备的开放页面中的第一文字信息,也可以每执行一次智能设备识别的操作时,执行一次提取目标设备的开放页面中的第一文字信息的操作,还可以每隔第一预设提取时间周期,执行一次提取目标设备的开放页面中的第一文字信息的操作。本实施例并不限定第一提取时间周期的设定值。例如,可以是30分钟,也可以是40分钟,还可以是60分钟。本实施例并不限定第一提取时间周期的设定依据。例如,第一提取时间周期可以根据操作人员自定义进行设定,也可以根据智能设备识别程序的处理速度进行设定,可以是智能设备识别程序的处理速度越快,第一提取时间周期的设定值越小。
[0065] S302:采用正则表达式提取目标设备的开放页面中的图片,采用深度学习算法提取图片中的第二文字信息。
[0066] 需要进行说明的是,本实施例中采用正则表达式提取目标设备的开放页面中的图片,使用文字检测模型对预处理后的图片进行检测,输出图片中文字形成文本框的坐标值,使用文字识别模型对文字检测模型输出的坐标值内的图片信息进行文字识别,并将识别到的文字进行输出。本实施例并不限定提取图片中的第二文字信息的频率。例如,可以与提取目标设备的开放页面中的第一文字信息的操作同时执行,也可以根据操作人员自定义设定。
[0067] 进一步地,为了能够提高采用正则表达式提取目标设备的开放页面中的图片的准确性,上述采用正则表达式提取目标设备的开放页面中的图片,可以包括:
[0068] 采用正则表达式提取目标设备的开放页面中的初始图片,对初始图片进行降噪处理、倾斜矫正处理和直方图均衡增强处理,得到图片。
[0069] 需要进行说明的是,本实施例并不限定对初始图片进行降噪处理、倾斜矫正处理和直方图均衡增强处理的顺序,只要是能够采用正则表达式准确地提取目标设备的开放页面中的图片即可。例如,可以依次对初始图片进行降噪处理、倾斜矫正处理和直方图均衡增强处理,也可以依次对初始图片进行倾斜矫正处理、降噪处理和直方图均衡增强处理,还可以是依次对初始图片进行降噪处理、直方图均衡增强处理和倾斜矫正处理。
[0070] S303:将第一文字信息和第二文字信息进行整合,得到目标设备信息。
[0071] 本实施例并不限定将第一文字信息和第二文字信息进行整合的具体方式,只要是能够准确地得到目标设备信息即可。例如,可以对第一文字信息和第二文字信息取并集,作为目标设备信息;也可以将多次提取的第一文字信息和第二文字信息中,累计提取次数大于或等于预设文字信息提取阈值的文字信息,作为目标设备信息。
[0072] S204:将第一目标设备信息和第二目标设备信息作为最终的目标设备信息。
[0073] 本实施例并不限定将第一目标设备信息和第二目标设备信息作为最终的目标设备信息的具体方式。例如,可以对第一目标设备信息和第二目标设备信息取并集,作为最终的目标设备信息;也可以对第一目标设备信息和第二目标设备信息取交集,作为最终的目标设备信息;也可以通过多次获取第一目标设备信息和第二目标设备信息,将单位时间内获取的频次超过目标设备信息阈值的目标设备信息作为最终的目标设备信息。本实施例并不限定目标设备信息阈值的设定值。例如,目标设备信息阈值可以是3次,目标设备信息阈值也可以是4次,目标设备信息阈值还可以是5次。本实施例并不限定目标设备信息阈值的设定依据。例如,可以根据操作人员自定义设定,也可以根据获取目标设备的目标设备信息的频率进行设定,可以是获取目标设备的目标设备信息的频率越快,目标设备信息阈值的设定值越大。
[0074] S102:根据目标设备信息确定目标设备是否为智能设备。
[0075] 进一步地,为了能够保证更全面地根据目标设备信息确定目标设备是否为智能设备,上述根据目标设备信息确定目标设备是否为智能设备,可以包括:
[0076] 若设备型号信息存在于设备型号信息库中,和/或若设备版本信息存在于设备版本信息库中,和/或若设备关键词信息存在于设备关键词信息库中,则确定目标设备为智能设备。
[0077] 需要进行说明的是,本实施例需要构建设备型号信息库、设备版本信息库和设备关键词信息库,本实施例中只要满足目标设备的目标设备信息中设备型号信息存在于设备型号信息库中、设备版本信息存在于设备版本信息库中和设备关键词信息存在于设备关键词信息库的一项,即确定目标设备为智能设备。本实施例并不限定判断上述各项的先后次序。例如,可以依次判断目标设备的目标设备信息中设备型号信息是否存在于设备型号信息库中、设备版本信息是否存在于设备版本信息库中和设备关键词信息是否存在于设备关键词信息库,也可以依次判断目标设备的目标设备信息中设备型号信息是否存在于设备型号信息库中、设备关键词信息是否存在于设备关键词信息库和设备版本信息是否存在于设备版本信息库中,其中,若其中一项确定存在于信息库中或全部不存在于信息库中,则结束判断程序。
[0078] 进一步地,为了提高根据目标设备信息确定目标设备是否为智能设备的准确性,避免误判,上述根据目标设备信息确定目标设备是否为智能设备,可以包括以下步骤,具体请参考图4,图4为本发明实施例提供的一种确定目标设备是否为智能设备的流程图:
[0079] S401:利用搜索引擎依次对设备型号信息、设备版本信息和设备关键词信息进行搜索,得到第一预设数量的搜索结果。
[0080] 需要进行说明的是,本实施例中需要利用搜索引擎对目标设备的目标设备信息中的设备型号信息、设备版本信息和设备关键词信息进行搜索,本实施例并不限定第一预设数量的设定值。例如,搜索结果的第一预设数量可以是1个,搜索结果的第一预设数量也可以是5个,搜索结果的第一预设数量还可以是10个。
[0081] S402:提取搜索结果中的信息,作为搜索目标设备信息。
[0082] 本实施例中提取搜索引擎中搜索结果对应的html(超文本标记语言)网页中的文本内容,并标识文本内容中的词语类别,本实施例并不限定提取搜索结果中的信息的具体方式。例如,可以利用正则规则对文本内容中的词语类别进行标识,作为搜索目标设备信息;也可以利用语义分析引擎对文本内容中的词语类别进行标识,作为搜索目标设备信息;还可以利用预先训练好的模型对文本内容中的词语类别进行标识,作为搜索目标设备信息。
[0083] S403:利用关联分析算法对目标设备信息和搜索目标设备信息进行处理,得到目标设备信息和搜索目标设备信息之间的关联结果。
[0084] 本实施例中利用关联分析算法对目标设备信息和搜索目标设备信息进行处理,可以利用Apriori算法(一种挖掘关联规则的频繁项集算法)对目标设备信息和搜索目标设备信息进行处理,得到与目标设备信息关联性最大的搜索目标设备信息,作为关联结果。
[0085] S404:根据关联结果和目标设备信息确定目标设备是否为智能设备。
[0086] 根据关联结果与目标设备信息对应的信息库进行匹配,确定目标设备是否为智能设备。本实施例并不限定确定目标设备是否为智能设备的具体方式。例如,可以是全部关联结果与目标设备信息对应的信息库匹配,则确定目标设备为智能设备;也可以是关联结果中一项与目标设备信息对应的信息库匹配,则确定目标设备为智能设备。
[0087] 进一步地,为了进一步提高根据关联结果和目标设备信息确定目标设备是否为智能设备的准确性,可以包括以下步骤:
[0088] 对关联结果和目标设备信息进行标注分类,得到第二预设数量的目标设备信息分类项;
[0089] 根据目标设备信息分类项的预设权重值,计算总分值;
[0090] 判断总分值是否大于阈值;
[0091] 若是,则目标设备是智能设备;
[0092] 若否,则目标设备不是智能设备。
[0093] 本实施例中并不限定第二预设数量的设定值。例如,第二预设数量的设定值可以是1个,第二预设数量的设定值也可以是2个,第二预设数量的设定值还可以是3个。本实施例并不限定第二预设数量的设定依据。例如,可以根据操作人员自定义设定,也可以根据目标设备的目标设备信息的种类进行设定,例如,目标设备的目标设备信息为设备型号信息、设备版本信息和设备关键词信息,则第二预设数量可以设置为3个。本实施例并不限定第二预设数量的目标设备信息分类项分别对应的预设权重值,可以是每个目标设备信息分类项对应的预设权重值相同,也可以是根据经验对每个目标设备信息分类项设定不同的权重值。需要进行说明的是,本实施例中阈值的设定值为操作人员预先设定的。
[0094] 进一步地,为了使用户更直观的了解到目标设备的目标设备信息,上述通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取目标设备的目标设备信息时,还可以包括以下步骤:
[0095] 获取目标设备对应的开放端口信息、设备类型信息、系统类型信息、系统版本信息、设备厂商信息、服务版本信息和服务名称信息中至少一项,作为第二目标设备信息;
[0096] 输出目标设备信息和第二目标设备信息。
[0097] 本实施例并不限定输出目标设备信息和第二目标设备信息的方式。只要是能够及时输出目标设备信息和第二目标设备信息即可。例如,可以是以语音的方式进行输出,也可以是以非语音的方式进行输出,还可以是以语音和屏幕显示结合的方式进行输出。本实施例并不限定输出目标设备信息和第二目标设备信息的频率。例如,可以是实时进行输出,即每完成一次输出的操作后,立刻进行下一次输出,也可以是每个预设输出时间周期进行一次输出的操作。本实施例并不限定预设输出时间周期的设定值。例如,预设输出时间周期的设定值可以是1秒,预设输出时间周期的设定值也可以是5秒,预设输出时间周期的设定值还可以是10秒。本实施例并不限定预设输出时间周期的设定依据。例如,可以根据操作人员自定义设定,也可以根据输出信息的优先级等级进行设定,可以是输出信息的优先级等级越高,预设输出时间周期的设定值越小。本实施例并不限定输出目标设备信息和第二目标设备信息的持续时间,例如,可以是1分钟,也可以是2分钟,还可以是5分钟,本实施例并不限定持续时间的设定依据。例如,可以根据操作人员自定义设定,也可以根据输出信息的优先级等级进行设定,可以是输出消息的优先级等级越高,输出信息的持续时间的设定值越大。
[0098] 需要进行说明的是,本发明实施例也可以根据上述目标设备信息中的至少一项作为判定目标设备是否为智能设备的判定依据。
[0099] 应用本发明实施例提供的智能设备识别方法,通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取目标设备的目标设备信息,其中,目标设备信息包括设备型号信息、设备版本信息和设备关键词信息中至少一项,网页分析方法为利用目标设备的网络协议对目标设备的开放页面进行分析的方法,根据目标设备信息确定目标设备是否为智能设备。本发明通过从多个维度获取智能设备的信息参数,利用协议数据包分析方法和网页分析方法获取目标设备的信息,能够提高识别智能设备的准确性。通过协议数据包分析方法,利用目标设备的开放服务信息获取第一目标设备信息,通过网页分析方法,利用目标设备的HTTP和/或HTTPS协议信息,获取第二目标设备信息的方式,能够准确地获取目标设备的目标设备信息,提高获取的目标设备信息的准确性,通过网页分析方法,分别提取目标设备的开放页面的第一文字信息和目标设备的开放页面图片中的第二文字信息,并整合为目标设备信息,能够准确全面的提取目标设备的第二目标设备信息。通过对目标设备的开放页面中的图片进行降噪处理、倾斜矫正处理和直方图均衡增强处理,提高了提取目标设备开放页面中图片的准确性,通过将设备型号信息、设备版本信息、设备关键词信息任意一项作为确定目标设备是否为智能设备的依据,能够保证更全面地根据目标设备信息确定目标设备是否为智能设备。通过利用搜索引擎获取目标设备信息的搜索结果,并设立阈值判断目标设备是否为智能设备的方式,提高了根据目标设备信息确定目标设备是否为智能设备的准确性,有效避免了误判,通过将开放端口信息、设备类型信息、设备厂商信息、服务版本信息和服务名称信息中至少一项与目标设备信息进行输出,可以使用户更直观的了解到目标设备的目标设备信息,提高了用户体验。
[0100] 为了使本发明更便于理解,本发明具体可以包括:
[0101] 步骤S1:获取目标设备的目标设备信息。
[0102] 对目标设备进行扫描探测,获取目标设备开放端口信息、开放服务信息和HTTP/HTTPS协议信息,并根据不同的开放服务信息构造相应的探测数据包,发送至目标设备,接收目标设备返回的数据包,并进行解析,获得目标设备的第一目标设备信息,通过不同开放服务信息具体可以获取到的信息包括:通过SSH(Secure Shell,安全外壳协议)协议获取设备类型信息、设备厂商信息、设备型号信息、服务版本信息;通过FTP(File Transfer Protocol,文件传输协议)协议获取设备厂商信息、设备型号信息、服务版本信息;通过Telnet协议(Telnet协议为Internet远程登录服务的标准协议)获取设备厂商信息、设备型号信息、服务版本信息;通过RTSP协议(RTSP协议为实时流协议)获取设备厂商信息、设备型号信息;通过ONVIF(Open Network Video Interface Forum,开放网络视频界面论坛)协议获取设备厂商信息、设备型号信息;通过EtherNet/IP协议(EtherNet/IP协议为工业应用层协议)获取设备厂商信息、设备型号信息、设备类型信息、协议版本信息;通过UPNP(Universal Plug and Play,通用即插即用)协议获取设备厂商信息、设备型号信息、服务版本信息。其中,目标设备信息包括设备型号信息、设备版本信息和设备关键词信息。
[0103] 网络爬虫通过HTTP/HTTPS协议信息,爬取目标设备的开放页面,从开放页面的文字与图片中提取目标设备信息,在页面的文字与图片中可以提取到设备厂商信息、设备型号信息、设备版本信息、设备类型信息,作为第二目标设备信息。其中从开放页面的文字与图片中提取目标设备信息具体可以包括:
[0104] 步骤1,提取开放页面中的文字信息,作为第一文字信息。
[0105] 步骤2,网络爬虫采用正则表达式提取开放页面中的初始图片,并对初始图片进行预处理,包括:采用高斯低通滤波器(Gaussian Low Pass Filter)对图片进行降噪处理,采用Radon变换对图片进行倾斜矫正处理,采用直方图均衡方法对图片进行增强处理。
[0106] 步骤3,使用文字检测模型对预处理后的图片进行检测,输出图片中文字形成文本框的坐标值。其中,文字检测模型的建立过程包括:爬取大量智能设备的开放页面中的图片,并进行标注建立文字检测数据集,再与公开icdar2015数据集混合建立文字检测训练集,其中标注内容包括图片中各段文字形成文本框的坐标值。使用开源的OCR(Optical Character Recognition,光学字符识别)框架paddleOCR(基于深度学习的OCR识别库)中基于可微的二值化算法(Differentiable Binarization,DB)的预训练模型,利用文字检测训练集进行训练得到文字检测模型,其中DB算法是将二值化阈值加入训练中进行学习,能够在检测过程中获得更加准确文字检测边。
[0107] 步骤4,使用文字识别模型对文字检测模型输出的坐标值内的图片信息进行文字识别,并将文字识别模型所识别到的文字信息使用空格进行划分,再以字符串的形式进行输出。其中,文字识别模型的建立过程包括:下载公开的中英文文字识别数据集建立文字识别训练集。然后使用开源的OCR(Optical Character Recognition)框架paddleOCR中基于CRNN(Convolutional Recurrent Neural Network,卷积递归神经网络)的预训练模型,利用训练集进行训练得到文字识别模型。
[0108] 将第一目标设备信息和第二目标设备信息取并集,作为目标设备信息。
[0109] 步骤S2:根据目标设备信息确定目标设备是否为智能设备。
[0110] 首先构建设备型号信息库、设备版本信息库和设备关键词信息库,其中,设备型号信息库储存智能设备的设备型号信息,设备型号信息与设备厂商信息对应,设备版本信息库储存智能设备的设备版本信息,设备关键词信息库储存智能设备的设备关键词信息。将文字识别结果进行分词,基于命名实体识别、搜索引擎识别的方法进行属性识别,得到设备型号信息、设备版本信息和设备关键词信息。
[0111] 其中,将文字识别结果进行分词,包括:对于未粘连的文本,采用以空格为间隔的分词方法;对于粘连文本,采用N‑gram算法(N‑gram算法为一种文本挖掘和自然语言处理算法)分词。将整段字符串分为词语集合 。
[0112] 基于命名实体识别进行属性识别,包括:词语集合 ,结果集合。设置结果集合中元素 代表设备型号信息, 代表设备版本信息,
代表设备关键词信息。初始值 , , 。调用设备型号信息
库、设备版本信息库,设备关键词信息库,将词语集合 中的所有词语,
在信息库中进行匹配。对于 ,若在设备型号信息库匹配成功,则赋值 ;若在设备版本信息库匹配成功,则赋值 ,若在设备关键词信息库匹配成功,则赋值 。匹配结束后,若 , , ,则进入第三步,否则输出结果集合

[0113] 基于搜索引擎进行属性识别,包括:将词语集 中的所有词语,依次使用搜索引擎进行搜索。对于 ,在搜索引擎中搜索 ,得到搜索结果,取前十条搜索结果的链接,爬取相应的html网页内容并对内容进行清洗,只保留文本;根据正则规则标识文本中的词语类别,将这些标记结果构成检索结果集合 。将集合T与
集合 用关联分析算法Apriori进行处理,得到与词语集 最关联的结
果。输出与词语集合 关联性最大的结果 。输出结果
集合 。
[0114] 根据目标设备信息标注分类的结果,采用递进式目标判定算法,判定目标设备是否为智能设备。具体可以包括:若设备型号存在于设备型号信息库中,则判定该设备为智能家居设备和/或若设备版本存在于设备版本信息库中,则判定该设备为智能家居设备和/或若关键词存在于关键词信息库中,则判定该设备为智能家居设备。
[0115] 若同时不存在于上述信息库中,则计算各类目标设备信息的权重值,计算总的分值,若总的分值大于阈值,则判定目标设备为智能设备。具体包括以下步骤:
[0116] 1)计算目标设备的各类目标设备信息的权重值。
[0117] 对于设备厂商信息、设备版本信息分值只存在1或0,其中1代表对应分类有值,0代表对应分类无值。例如,设备厂商信息的信息不为空,分值设置为1,如果值为空,分值设置为0。应用Relief算法获取每一开放端口对应的权重值。
[0118] 2)应用聚类算法判断目标设备为智能设备或非智能设备。
[0119] 应用 公式计算端口的权重分数值,其中n表示该待识别设备有n个开放端口,表示第i个开放端口对应的权重值。
[0120] 通过计算分值向量与聚类后的智能设备和非智能设备的中心的欧式距离判定目标设备是智能设备或非智能设备。其中,在网站采集大量智能家居设备/非智能家居设备,并获取其多元信息,形成设备信息训练集。对于设备信息训练集中每一设备信息的开放端口应用Multi‑Hot算法编码为端口向量。例如信息训练集中某一设备信息的开放端口为[0,2,5],则该设备开放端口被编码为端口向量[0,0,1,0,0,1,0,0,0…],端口向量的维度为端口总数65535。初始化权重向量W为零向量,维度与端口号的数量一致。从设备信息训练集中随机选择一个端口向量R,然后从和R同类的设备中寻找最近邻端口向量H,从和端口向量R不同类的设备中寻找最近邻端口向量M,根据以下规则更新每个特征的权重:如果端口向量R和样本端口向量H在某个特征上的距离小于端口向量R和端口向量M上的距离,则说明该特征对区分同类和不同类的最近邻是有益的,则增加该特征的权重。反之,减少该特征的权重。迭代公式如下:
[0121] ,其中, 。
[0122] 将权重分数值与其他多元信息合并,应用k‑means聚类得到两个聚类中心,将距离智能家居设备聚类中心近的样本判定为智能家居设备;距离非智能家居设备聚类中心近的样本判定为非智能家居设备。
[0123] 步骤S3:将上述目标设备信息和第二目标设备信息输出至显示终端。
[0124] 下面对本发明实施例提供的智能设备识别装置进行介绍,下文描述的智能设备识别装置与上文描述的智能设备识别方法可相互对应参照。
[0125] 具体请参考图5,图5为本发明实施例提供的一种智能设备识别装置的结构示意图,可以包括:
[0126] 获取模块100,用于通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取所述目标设备的目标设备信息;所述目标设备信息包括设备型号信息、设备版本信息和设备关键词信息中至少一项;所述网页分析方法为利用所述目标设备的网络协议对所述目标设备的开放页面进行分析的方法;
[0127] 确定模块200,用于根据所述目标设备信息确定所述目标设备是否为智能设备。
[0128] 进一步,基于上述实施例,所述获取模块100,可以包括
[0129] 扫描探测单元,用于对所述目标设备进行扫描探测,得到所述目标设备的开放服务信息、HTTP和/或HTTPS协议信息;
[0130] 第一目标设备信息获取单元,用于根据所述目标设备的开放服务信息,构建探测数据包发送至所述目标设备,并从所述目标设备返回的数据包中解析得到第一目标设备信息;
[0131] 第二目标设备信息获取单元,用于根据所述HTTP和/或HTTPS协议信息,提取所述目标设备的所述开放页面中的第二目标设备信息;
[0132] 最终目标设备信息获取单元,用于将所述第一目标设备信息和所述第二目标设备信息作为最终的所述目标设备信息。
[0133] 进一步,基于上述任意实施例,所述第二目标设备信息获取单元,可以包括:
[0134] 第一提取子单元,用于提取所述目标设备的所述开放页面中的第一文字信息;
[0135] 第二提取子单元,用于采用正则表达式提取所述目标设备的所述开放页面中的图片,采用深度学习算法提取所述图片中的第二文字信息;
[0136] 整合子单元,用于将所述第一文字信息和所述第二文字信息进行整合,得到所述目标设备信息。
[0137] 进一步,基于上述任意实施例,所述第二提取子单元,可以包括:
[0138] 图片处理子单元,用于采用所述正则表达式提取所述目标设备的所述开放页面中的初始图片,对所述初始图片进行降噪处理、倾斜矫正处理和直方图均衡增强处理,得到所述图片。
[0139] 进一步,基于上述任意实施例,所述确定模块200,可以包括:
[0140] 第一确定单元,用于若所述设备型号信息存在于设备型号信息库中,和/或若所述设备版本信息存在于设备版本信息库中,和/或若所述设备关键词信息存在于设备关键词信息库中,则确定所述目标设备为智能设备。
[0141] 进一步,基于上述任意实施例,所述确定模块200,可以包括:
[0142] 搜索单元,用于利用搜索引擎依次对所述设备型号信息、所述设备版本信息和所述设备关键词信息进行搜索,得到第一预设数量的搜索结果;
[0143] 第三提取单元,用于提取所述搜索结果中的信息,作为搜索目标设备信息;
[0144] 关联结果获取单元,用于利用关联分析算法对所述目标设备信息和所述搜索目标设备信息进行处理,得到所述目标设备信息和所述搜索目标设备信息之间的关联结果;
[0145] 第二确定单元,用于根据所述关联结果和所述目标设备信息确定所述目标设备是否为智能设备。
[0146] 进一步,基于上述任意实施例,所述第二确定单元,可以包括:
[0147] 标注分类子单元,用于对所述关联结果和所述目标设备信息进行标注分类,得到第二预设数量的目标设备信息分类项;
[0148] 计算子单元,用于根据所述目标设备信息分类项的预设权重值,计算总分值;
[0149] 判断子单元,用于判断所述总分值是否大于阈值;
[0150] 第一确定子单元,用于若所述总分值大于所述阈值,则所述目标设备是智能设备;
[0151] 第二确定子单元,用于若所述总分值小于或等于所述阈值,则所述目标设备不是智能设备。
[0152] 需要说明的是,上述智能设备识别装置中的模块、单元以及子单元在不影响逻辑的情况下,其顺序可以前后进行更改。
[0153] 应用本发明实施例提供的智能设备识别装置,获取模块100用于通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取目标设备的目标设备信息,其中,目标设备信息包括设备型号信息、设备版本信息和设备关键词信息中至少一项,网页分析方法为利用目标设备的网络协议对目标设备的开放页面进行分析的方法。确定模块200用于根据目标设备信息确定目标设备是否为智能设备。本发明通过从多个维度获取智能设备的信息参数,利用协议数据包分析方法和网页分析方法获取目标设备的信息,能够提高识别智能设备的准确性。通过协议数据包分析方法,利用目标设备的开放服务信息获取第一目标设备信息,通过网页分析方法,利用目标设备的HTTP和/或HTTPS协议信息,获取第二目标设备信息的方式,能够准确地获取目标设备的目标设备信息,提高获取的目标设备信息的准确性,通过网页分析方法,分别提取目标设备的开放页面的第一文字信息和目标设备的开放页面图片中的第二文字信息,并整合为目标设备信息,能够准确全面的提取目标设备的第二目标设备信息。通过对目标设备的开放页面中的图片进行降噪处理、倾斜矫正处理和直方图均衡增强处理,提高了提取目标设备开放页面中图片的准确性。通过将设备型号信息、设备版本信息、设备关键词信息任意一项作为确定目标设备是否为智能设备的依据,能够保证更全面地根据目标设备信息确定目标设备是否为智能设备,通过利用搜索引擎获取目标设备信息的搜索结果,并设立阈值判断目标设备是否为智能设备的方式,提高了根据目标设备信息确定目标设备是否为智能设备的准确性,有效避免了误判。
[0154] 下面对本发明实施例提供的智能设备识别设备进行介绍,下文描述的智能设备识别设备与上文描述的智能设备识别方法可相互对应参照。
[0155] 请参考图6,图6为本发明实施例提供的一种智能设备识别设备的结构示意图,可以包括:
[0156] 存储器10,用于存储计算机程序;
[0157] 处理器20,用于执行计算机程序,以实现上述的智能设备识别方法。
[0158] 存储器10、处理器20、通信接口31均通过通信总线32完成相互间的通信。
[0159] 在本发明实施例中,存储器10中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器10中可以存储有用于实现以下功能的程序:
[0160] 通过协议数据包分析方法和网页分析方法对目标设备进行分析处理,获取所述目标设备的目标设备信息;所述目标设备信息包括设备型号信息、设备版本信息和设备关键词信息中至少一项;所述网页分析方法为利用所述目标设备的网络协议对所述目标设备的开放页面进行分析的方法;
[0161] 根据所述目标设备信息确定所述目标设备是否为智能设备。
[0162] 在一种可能的实现方式中,存储器10可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
[0163] 此外,存储器10可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括NVRAM。存储器存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可以包括各种系统程序,用于实现各种基础任务以及处理基于硬件的任务。
[0164] 处理器20可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件,处理器20可以是微处理器或者也可以是任何常规的处理器等。处理器20可以调用存储器10中存储的程序。
[0165] 通信接口31可以为通信模块的接口,用于与其他设备或者系统连接。
[0166] 当然,需要说明的是,图6所示的结构并不构成对本申请实施例中智能设备识别设备的限定,在实际应用中智能设备识别设备可以包括比图6所示的更多或更少的部件,或者组合某些部件。
[0167] 下面对本发明实施例提供的可读存储介质进行介绍,下文描述的可读存储介质与上文描述的智能设备识别方法可相互对应参照。
[0168] 本发明还提供一种可读存储介质,该可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的智能设备识别方法的步骤。
[0169] 该可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0170] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0171] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
[0172] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0173] 以上对本发明所提供的智能设备识别方法、装置、设备和可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。