基于MAC地址的终端型号识别系统及识别方法
文献发布时间:2023-06-19 09:29:07
技术领域
本发明涉及一种型号识别系统及对应的识别方法,具体而言,涉及一种基于MAC地址的终端型号识别系统及识别方法,属于终端识别技术领域。
背景技术
近年来,随着网络通讯技术的不断发展,各类智能化、功能化的网络终端快速推广,终端与平台、终端与终端之间的交互访问及信息处理也日益频繁。在这样的技术背景下,越来越多的互联网企业开始关注网络访问策略的问题,期望以更为高效、准确地方式实现对终端设备的识别访问。
就各种网络访问策略而言,终端识别技术可以说是其基础条件,每台终端设备所携带的型号特征信息会在该设备同外界通讯的过程中体现出来,在此前提下,通过跟踪终端设备的通讯过程,分析其中的各项特征,即可达到终端型号识别的目的。
在现有技术中,针对终端型号的识别操作主要通过分析网关下挂终端流量信息中的特征数据地方式来识别出对应的终端型号信息。但是,当前的型号识别依赖于分析大量的流量信息,并不能做到设备上线后的快速识别。此外,在现行的网络条件下,大量的终端设备在访问网络时不携带型号特征信息或者携带无效的型号特征信息,现有的通过特征信息进行设备型号识别的方式已经遇到了技术瓶颈,无法进一步提高终端型号的识别能力,因此,急需引入一款新的算法来识别这些不携带特征信息的终端。
MAC地址(Media Access Control Address),直译为媒体存取控制位址。它是一个用来确认网络设备位置的位址,只要不更改自己的MAC地址,MAC地址在世界是惟一的,因此,这一技术手段无疑给上述问题提供了一种全新的解决方案。
因此,如何提出一种全新的、基于MAC地址的终端型号识别系统及识别方法,以克服现有技术条件下所存在的诸多缺陷,也就成为了目前行业内技术人员亟待解决的问题。
发明内容
鉴于现有技术存在上述缺陷,本发明的目的是提出一种基于MAC地址的终端型号识别系统及识别方法,具体如下。
一种基于MAC地址的终端型号识别系统,包括:
系统存储模块,用于存储与MAC地址相对应的终端设备型号信息;
识别流程执行模块,用于接收终端设备的MAC地址、调用所述系统存储模块,并依据MAC地址对终端设备的型号进行识别、输出识别结果;
所述识别流程执行模块包括,
MAC地址接收单元,与所接入的终端设备信号连接,用于接收需要进行型号识别的终端设备的MAC地址并下发,
终端型号识别单元,用于依据终端设备的MAC地址以及与MAC地址相对应的终端设备型号信息,通过寻找、计算完成对终端设备的型号识别,
识别结果输出单元,用于将最终的终端设备的型号识别结果进行输出。
优选地,所述系统存储模块包括:
参数配置单元,用于配置系统内运行时的各项参数并依据配置结果执行相应的系统操作流程;
基础数据库单元,用于存储与MAC地址相对应的终端设备型号信息并在系统启动后将所存储的信息加载至系统内存中;
所述基础数据库单元内设置有MAC型号查询API接口,所述终端型号识别单元通过所述MAC型号查询API接口与所述基础数据库单元信号连接。
优选地,所述终端型号识别单元包括:
初步判断子单元,分别与所述MAC地址接收单元及所述基础数据库单元信号连接,用于判断所接收的MAC地址的OUI是否存在于所述基础数据库单元中;
二次判断子单元,与所述初步判断子单元信号连接,用于依据所述初步判断子单元的判断结果再次判断所接收的MAC地址是否存在于所述基础数据库单元中;
终端型号计算子单元,与所述二次判断子单元信号连接,用于依据所述二次判断子单元的判断结果、利用算法进行终端设备型号计算;
可信度判断子单元,与所述终端型号计算子单元信号连接,用于判断所述终端型号计算子单元的计算结果是否超出预设值;
所述初步判断子单元、所述二次判断子单元、所述终端型号计算子单元以及所述可信度判断子单元四者分别与所述识别结果输出单元信号连接。
一种基于MAC地址的终端型号识别方法,使用如上所述的基于MAC地址的终端型号识别系统,包括如下步骤:
S1、配置系统启动参数,将基础数据库单元内所存储的信息加载至系统内存中并开放MAC型号查询API接口,将终端设备接入系统,接收需要进行型号识别的终端设备的MAC地址;
S2、查询判断所接收的MAC地址的OUI是否存在于所述基础数据库单元中,
若不存在则将识别结果置为不识别,输出识别结果、结束识别流程,
若存在则按序执行S3;
S3、查询判断所接收的MAC地址是否存在于所述基础数据库单元中,
若存在则直接返回所述基础数据库单元中所记录的终端设备的型号信息,输出识别结果、结束识别流程,
若不存在则按序执行S4;
S4、对终端设备的型号进行计算,输出型号计算结果的同时输出该型号计算结果的可信度;
S5、确定可信度预设值,判断终端设备的型号计算结果的可信度是否高于所述可信度预设值,
若高于则封装终端设备的型号信息,输出识别结果、结束识别流程,
若未高于则将终端设备的型号信息清零,将识别结果置为不识别,输出识别结果、结束识别流程。
优选地,S4中所述对终端设备的型号进行计算,包括如下步骤:
S41、截取待计算的MAC地址的后六位,将截取结果转化为十进制数字;
S42、将转化后的十进制数字放入所述基础数据库单元中,使用二分法查找前后距离最近的若干个MAC地址并组成用于生成型号计算结果的可信度的数据集;
S43、使用简化后的万有引力公式计算数据集中每个MAC地址与待计算的MAC地址间的引力,然后根据不同的型号进行聚合,计算出每个型号的引力的合力,输出最大合力的型号信息和合力值,同时将合力值作为该型号计算结果的可信度。
优选地,S5中所述确定可信度预设值,包括如下步骤:
遍历所述基础数据库单元中的OUI,在每个OUI下等距间隔制造一万个测试MAC地址,使用简化后的万有引力公式计算每个测试MAC地址的引力并取出计算结果的中位数作为可信度预设值。
优选地,所述简化后的万有引力公式为:F引=1/r
与现有技术相比,本发明的优点主要体现在以下几个方面:
本发明所提供的一种基于MAC地址的终端型号识别系统及识别方法,以终端设备的MAC地址作为型号识别的依据,结合更为清晰的型号识别流程,有效地解决了现行网络条件下大量终端设备在访问网络时不携带型号特征信息或者携带无效型号特征信息时终端型号的识别问题,保证了最终输出结果的准确性。
同时,本发明还能够做到对系统中新接入终端设备型号的快速识别,显著地提升了终端型号的识别速度,提高了终端型号识别的效率、缩短了终端型号识别的时间。
此外,本发明也为同领域内的其他相关方案提供了参考,可以以此为依据进行拓展延伸,运用于同领域内其他与终端识别技术相关的技术方案中,具有十分广阔的应用前景。
以下便结合实施例附图,对本发明的具体实施方式作进一步的详述,以使本发明技术方案更易于理解、掌握。
附图说明
图1为本发明系统的架构示意图;
图2为本发明方法的流程示意图;
图3为本发明方法中对终端设备进行型号计算的流程示意图。
具体实施方式
本发明提出了一种基于MAC地址的终端型号识别系统及识别方法,具体方案如下。
如图1所示,一种基于MAC地址的终端型号识别系统,包括:
系统存储模块,用于存储与MAC地址相对应的终端设备型号信息;
识别流程执行模块,用于接收终端设备的MAC地址、调用所述系统存储模块,并依据MAC地址对终端设备的型号进行识别、输出识别结果。
所述系统存储模块包括:
参数配置单元,用于配置系统内运行时的各项参数并依据配置结果执行相应的系统操作流程;
基础数据库单元,用于存储与MAC地址相对应的终端设备型号信息并在系统启动后将所存储的信息加载至系统内存中。
此处需要说明的是,所述基础数据库单元内设置有MAC型号查询API接口,所述终端型号识别单元通过所述MAC型号查询API接口与所述基础数据库单元信号连接。
所述识别流程执行模块包括:
MAC地址接收单元,与所接入的终端设备信号连接,用于接收需要进行型号识别的终端设备的MAC地址并下发;
终端型号识别单元,用于依据终端设备的MAC地址以及与MAC地址相对应的终端设备型号信息,通过寻找、计算完成对终端设备的型号识别;
识别结果输出单元,用于将最终的终端设备的型号识别结果进行输出。
进一步而言,所述终端型号识别单元包括:
初步判断子单元,分别与所述MAC地址接收单元及所述基础数据库单元信号连接,用于判断所接收的MAC地址的OUI是否存在于所述基础数据库单元中;
二次判断子单元,与所述初步判断子单元信号连接,用于依据所述初步判断子单元的判断结果再次判断所接收的MAC地址是否存在于所述基础数据库单元中;
终端型号计算子单元,与所述二次判断子单元信号连接,用于依据所述二次判断子单元的判断结果、利用算法进行终端设备型号计算;
可信度判断子单元,与所述终端型号计算子单元信号连接,用于判断所述终端型号计算子单元的计算结果是否超出预设值。
此处需要说明的是,所述初步判断子单元、所述二次判断子单元、所述终端型号计算子单元以及所述可信度判断子单元四者分别与所述识别结果输出单元信号连接。
如图2所示,本发明还包括一种基于MAC地址的终端型号识别方法,使用如上所述的基于MAC地址的终端型号识别系统,包括如下步骤:
S1、配置系统启动参数,将基础数据库单元内所存储的信息加载至系统内存中并开放MAC型号查询API接口,将终端设备接入系统,接收需要进行型号识别的终端设备的MAC地址。
S2、查询判断所接收的MAC地址的OUI是否存在于所述基础数据库单元中;所述OUI(Organizationally unique identifier),译为组织唯一标志符,是由电器和电子工程师协会分配给单位组织的,它包含了24位(3字节)信息。
若不存在则将识别结果置为不识别,输出识别结果、结束识别流程;
若存在则按序执行S3。
S3、查询判断所接收的MAC地址是否存在于所述基础数据库单元中;
若存在则直接返回所述基础数据库单元中所记录的终端设备的型号信息,输出识别结果、结束识别流程;
若不存在则按序执行S4。
S4、对终端设备的型号进行计算,输出型号计算结果的同时输出该型号计算结果的可信度。
如图3所示,此处所述对终端设备的型号进行计算,具体操作如下。
S41、截取待计算的MAC地址的后六位,将截取结果转化为十进制数字;
S42、将转化后的十进制数字放入所述基础数据库单元中,使用二分法查找前后距离最近的若干个MAC地址并组成用于生成型号计算结果的可信度的数据集;
S43、使用简化后的万有引力公式计算数据集中每个MAC地址与待计算的MAC地址间的引力,然后根据不同的型号进行聚合,计算出每个型号的引力的合力,输出最大合力的型号信息和合力值,同时将合力值作为该型号计算结果的可信度。
S5、确定可信度预设值,判断终端设备的型号计算结果的可信度是否高于所述可信度预设值;
若高于则封装终端设备的型号信息,输出识别结果、结束识别流程;
若未高于则将终端设备的型号信息清零,将识别结果置为不识别,输出识别结果、结束识别流程。
由于基础库中是根据OUI分组存放MAC地址,所以每个OUI下都应该生成不同的可信度预设值。此处所述确定可信度预设值,具体操作如下。
遍历所述基础数据库单元中的OUI,在每个OUI下等距间隔制造一万个测试MAC地址,使用简化后的万有引力公式计算每个测试MAC地址的引力并取出计算结果的中位数作为可信度预设值。
此外,还需要说明的是,万有引力等于引力常量乘以两物体质量的乘积除以它们距离的平方,由于不同的MAC地址看做质点时,质量和引力常量都是相同的,因此所述简化后的万有引力公式为:F引=1/r2,即两个MAC地址间引力等于两个MAC地址间距离的平方分之一。
以下使用一个具体的操作实例对上述技术方案进行补充说明。
以MAC地址“000763FAB39A”为例,识别流程如下:
系统启动,加载基础库数据,在“000763”这个OUI下均匀间隔制造一万个测试MAC,使用简化后的引力公式计算每个测试MAC的引力,并取出引力的中位数9.84x10
开放MAC型号查询API接口,接收MAC地址“000763FAB39A”。
截取MAC地址的OUI信息“000763”放入基础库中查询,系统判断该OUI信息存在,进行MAC地址查询。
在该OUI“000763”下,查询MAC地址后六位“FAB39A”是否存在基础中,系统判断后返回不存在,进行MAC型号计算。
将“FAB39A”转换为十进制数字16429978,在基础库中查询距离最近的五个MAC地址以及对应的型号信息“FAB346”(16429894,荣耀盒子)、“FAB352”(16429906,荣耀盒子)、“FAB394”(16429972,荣耀盒子)、“FAB3EF”(16430063,荣耀盒子)、“FAB3F0”(16430064,荣耀盒子),计算这五个MAC地址与“FAB39A”的相对距离,并使用简化后的合力公式计算出合力F合≈0.028,大于可信度预设值。系统输出该设备型号为荣耀盒子,可信度0.028,本次识别流程结束。
本发明所提供的一种基于MAC地址的终端型号识别系统及识别方法,以终端设备的MAC地址作为型号识别的依据,结合更为清晰的型号识别流程,有效地解决了现行网络条件下大量终端设备在访问网络时不携带型号特征信息或者携带无效型号特征信息时终端型号的识别问题,保证了最终输出结果的准确性。
同时,本发明还能够做到对系统中新接入终端设备型号的快速识别,显著地提升了终端型号的识别速度,提高了终端型号识别的效率、缩短了终端型号识别的时间。
此外,本发明也为同领域内的其他相关方案提供了参考,可以以此为依据进行拓展延伸,运用于同领域内其他与终端识别技术相关的技术方案中,具有十分广阔的应用前景。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神和基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
- 基于MAC地址的终端型号识别系统及识别方法
- 一种基于IFAT指纹的移动终端品牌型号的识别方法