一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

获取终端系统类型的方法、装置、路由器及存储介质与流程

2021-10-16 03:23:00 来源:中国专利 TAG:终端 数据处理 路由 装置 获取


1.本发明涉及数据处理技术领域,尤其涉及获取终端系统类型的方法、装置、路由器及存储介质。


背景技术:

2.现如今,智能设备越来越多样化,出现了大量的例如android(美国谷歌公司开发的移动操作系统,中文名称:安卓)设备、ios(苹果公司开发的移动操作系统)设备、pc(personal computer,个人电脑)设备、pad(平板电脑)设备、机顶盒等设备,这些设备都需要进行网络通讯,因此需要连接电信及其他运营商云平台;而电信及其他运营商云平台需要统计到用户终端的真实信息,其中特别需要获取系统的类型信息。
3.但是目前没有很好的方法能快速获取上述的这些参数,因此需要一种更好的方法来解决现有技术中的技术问题。


技术实现要素:

4.有鉴于此,本发明提出了获取终端系统类型的方法、装置、路由器及存储介质,能自动实现终端设备的系统信息的获取,可以适用于大量的设备系统类型的识别需要。
5.具体的,本发明提出了以下具体的实施例:
6.本发明提出了一种获取终端系统类型的方法,包括:
7.获取终端发送给路由器的dhcp报文;
8.若所述dhcp报文中存在指定字段,从所述指定字段中提取对应所述终端的系统的标识,并基于所述标识确定所述终端的系统类型;
9.若所述dhcp报文中不存在指定字段,则获取所述终端发送给所述路由器的http报文,从所述http报文中提取ua消息头,并基于所述ua消息头确定所述终端的系统类型。
10.在一个具体的实施例中,所述dhcp报文为dhcp request报文。
11.在一个具体的实施例中,所述指定字段为option 60字段。
12.在一个具体的实施例中,所述“基于所述标识确定所述终端的系统类型”,包括:
13.在预设的对应关系表中查找与所述标识对应的系统类型;所述对应关系表中包含有各所述标识与系统类型之间的对应关系;
14.将查找到的所述系统类型设置为所述终端的系统类型。
15.在一个具体的实施例中,所述“获取所述终端发送给所述路由器的http报文,从所述http报文中提取ua消息头”,包括:
16.启动预设进程获取所述终端发送给所述路由器的http报文;
17.提取所述http报文中的mac地址和ip地址;
18.若提取的mac地址和ip地址两者与待处理列表中mac地址和ip地址完全匹配,则从所述http报文中提取ua消息头;
19.将所述待处理列表中完全匹配的mac地址和ip地址删除。
20.在一个具体的实施例中,该方法还包括:
21.若所述待处理列表中不存在mac地址和ip地址,则终止所述预设进程。
22.本发明实施例还提出了一种获取终端系统类型的装置,包括:
23.获取模块,用于获取终端发送给路由器的dhcp报文;
24.第一处理模块,用于若所述dhcp报文中的存在指定字段,从所述指定字段中提取对应所述终端的系统的标识,并基于所述标识确定所述终端的系统类型;
25.第二处理模块,用于若所述dhcp报文中不存在指定字段,则获取所述终端发送给所述路由器的http报文,从所述http报文中提取ua消息头,并基于所述ua消息头确定所述终端的类型。
26.在一个具体的实施例中,所述dhcp报文为dhcp request报文。
27.本发明实施例还提出了一种路由器,包括存储器以及处理器,所述存储器用于存储获取终端系统类型的计算机程序,所述处理器运行所述获取终端系统类型的计算机程序以使所述路由器执行上述获取终端系统类型的方法。
28.本发明实施例还提出了一种存储介质,所述存储介质上存储有获取终端系统类型的计算机程序,所述获取终端系统类型的计算机程序被处理器执行时实现如上述获取终端系统类型的方法。
29.以此,本发明实施例提出了获取终端系统类型的方法、装置、路由器及存储介质,其中,该方法包括:获取终端发送给路由器的dhcp报文;若所述dhcp报文中存在指定字段,从所述指定字段中提取对应所述终端的系统的标识,并基于所述标识确定所述终端的系统类型;若所述dhcp报文中不存在指定字段,则获取所述终端发送给所述路由器的http报文,从所述http报文中提取ua消息头,并基于所述ua消息头确定所述终端的系统类型。本方案通过对报文的识别,能自动实现终端设备的系统信息的获取,可以适用于大量的设备系统类型的识别需要。
附图说明
30.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
31.图1示出了本发明实施例提出的一种获取终端系统类型的方法的流程示意图;
32.图2a示出了本发明实施例提出的一种获取终端系统类型的方法中dhcp request报文的option 60字段的示意图;
33.图2b示出了本发明实施例提出的一种获取终端系统类型的方法中另一dhcp request报文的option 60字段的示意图;
34.图3a示出了本发明实施例提出的一种获取终端系统类型的方法中一种linux类型的http报文中提取ua消息头的示意图;
35.图3b示出了本发明实施例提出的一种获取终端系统类型的方法中一种windows类型的http报文中提取ua消息头的示意图;
36.图3c示出了本发明实施例提出的一种获取终端系统类型中一种ios类型的http报文中提取ua消息头的示意图;
37.图3d示出了本发明实施例提出的一种获取终端系统类型的方法中一种android类型的http报文中提取ua消息头的示意图;
38.图4示出了本发明实施例提出的一种获取终端系统类型的方法的部分流程示意图;
39.图5示出了本发明实施例提出的一种获取终端系统类型的方法的另一部分的流程示意图;
40.图6示出了本发明实施例提出的一种获取终端系统类型的装置的结构示意图。
41.图例说明:
42.201

获取模块;202

第一处理模块;203

第二处理模块。
具体实施方式
43.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
44.通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
46.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
47.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
48.实施例1
49.本发明实施例1公开了一种获取终端系统类型的方法,如图1所示,包括以下步骤:
50.步骤s101、获取终端发送给路由器的dhcp报文;
51.具体的,用户所在的终端并不会直接访问云平台站点,终端是通过路由器来实现访问云平台站点的,由此,可以通过获取终端发送给路由器的dhcp报文,并通过该dhcp报文确定该终端的系统类型。
52.具体的,用户终端设备每次关联路由器都会触发dhcp协商过程,以获取ip地址进行后续上网需求,在此过程中用户终端会发送dhcp discover报文和dhcp request报文,这两种报文中都会填充终端系统类型字段,但由于终端在未关联任何路由器设备时,会频繁发送dhcp discover报文,数据量过大,不利于监听,所以此处仅处理dhcp request报文。以
此节约系统资源。因此在一个具体的实施例中,所述dhcp报文为dhcp request报文。
53.步骤s102、若所述dhcp报文中存在指定字段,从所述指定字段中提取对应所述终端的系统的标识,并基于所述标识确定所述终端的系统类型;
54.具体的,步骤s102中的所述“基于所述标识确定所述终端的系统类型”,包括:
55.在预设的对应关系表中查找与所述标识对应的系统类型;所述对应关系表中包含有各所述标识与系统类型之间的对应关系;将查找到的所述系统类型设置为所述终端的系统类型。
56.具体的,所述指定字段为option 60字段。基于dhcp request报文中option 60字段可获取操作系统类型,目前普遍流行的终端都会填充此字段,如windows系统关键字为msft,android系统关键字为android,操作系统类型与dhcp option对应关系可如下表:
57.表1
58.系统类型option 60字段windowsmsftandroidandroidiosn/alinuxn/a
59.具体的,如图2a与图2b所示的dhcp request报文,根据其中的option60字段可知,分别对应的系统类型为windows系统、android系统。
60.具体的,可以通过修改dhcpd开源代码来实现步骤s102,具体的,如图4所示,可以在dhcpd模块中增加报文分析函数,用以处理dhcp request报文中option 60字段,将终端的mac(英文media access control address,中文名称媒体存取控制位址,也称局域网地址)、ip(internet protocol,网际互连协议)地址、system类型建立对应关系并保存至flash;
61.也会存在部分终端系统发送的dhcp request报文中不携带option 60字段,此类型终端系统信息本方案将在后续通过解析http协议报文获取,也即执行步骤s103。
62.步骤s103、若所述dhcp报文中不存在指定字段,则获取所述终端发送给所述路由器的http报文,从所述http报文中提取ua消息头,并基于所述ua消息头确定所述终端的系统类型。
63.针对那部分dhcp request报文中不携带option 60字段的终端设备,可通过监听http报文,然后提取http header消息头中ua识别终端系统类型。ua消息头全称user

agent,属于http header标准字段,其内包含浏览器类型、版本号,操作系统类型、版本号。通过大量测试,抓取不同终端设备的http报文,可发现操作系统类型与ua消息头的对应关系如下表;
64.表2
[0065][0066]
具体的如图3a、图3b、图3c及图3d所示,其对应的系统类型分别为linux类型、windows类型、ios类型和android类型。
[0067]
具体的,所述“获取所述终端发送给所述路由器的http报文,从所述http报文中提取ua消息头”,包括:启动预设进程获取所述终端发送给所述路由器的http报文;提取所述http报文中的mac地址和ip地址;若提取的mac地址和ip地址两者与待处理列表中mac地址和ip地址完全匹配,则从所述http报文中提取ua消息头,将所述待处理列表中完全匹配的mac地址和ip地址删除。
[0068]
此外,本方案还进一步还包括:若所述待处理列表中不存在mac地址和ip地址,则终止所述预设进程。
[0069]
如图5所示,如request报文中不携带option 60字段,则检查当前系统中是否运行终端系统类型处理模块,如没有运行则直接拉起此模块进行下一步处理,如系统中此模块已处于运行阶段,则通过ipc进程消息通信机制将终端设备mac地址、ip地址通知终端系统类型处理模块clientuamonitor,至此完全由clientuamonitor接管;在此,终端系统类型处理模块clientuamonitor是新增的,主要用于获取设备终端的http协议报文的ua字段。此模块启动后首先会获取待处理的设备mac和ip地址,维持一份待处理mac列表,然后创建raw socket,仅处理http报文。
[0070]
通过读取http报文中的mac和ip地址,如果发现与待处理的mac和ip地址完全匹配,则提取此http报文的ua消息头字段,保存至flash,同时删除此模块中待处理列表中此mac条目。此外,还检查终端系统类型处理模块中待处理列表中是否还有数据,如有则继续流程,如列表已为空,则结束退出。
[0071]
实施例2
[0072]
为了对本发明进行进一步的说明,本发明实施例2还公开了一种获取终端系统类型的装置,如图6所示,包括:
[0073]
获取模块201,用于获取终端发送给路由器的dhcp报文;
[0074]
第一处理模块202,用于若所述dhcp报文中存在指定字段,从所述指定字段中提取对应所述终端的系统的标识,并基于所述标识确定所述终端的系统类型;
[0075]
第二处理模块203,用于若所述dhcp报文中不存在指定字段,则获取所述终端发送给所述路由器的http报文,从所述http报文中提取ua消息头,并基于所述ua消息头确定所述终端的系统类型。
[0076]
在一个具体的实施例中,所述dhcp报文为dhcp request报文。
[0077]
在一个具体的实施例中,所述指定字段为option 60字段。
[0078]
在一个具体的实施例中,所述第一处理模块202“基于所述标识确定所述终端的系统类型”,包括:在预设的对应关系表中查找与所述标识对应的系统类型;所述对应关系表中包含有各所述标识与系统类型之间的对应关系;将查找到的所述系统类型设置为所述终端的系统类型。
[0079]
在一个具体的实施例中,所述第二处理模块203“获取所述终端发送给所述路由器的http报文,从所述http报文中提取ua消息头”,包括:启动预设进程获取所述终端发送给所述路由器的http报文;提取所述http报文中的mac地址和ip地址;若提取的mac地址和ip地址两者与待处理列表中mac地址和ip地址完全匹配,则从所述http报文中提取ua消息头,将所述待处理列表中完全匹配的mac地址和ip地址删除。
[0080]
在一个具体的实施例中,所述第二处理模块203还用于:若所述待处理列表中不存在mac地址和ip地址,则终止所述预设进程。
[0081]
实施例3
[0082]
本发明实施例3还公开了一种路由器,包括存储器以及处理器,所述存储器用于存储获取终端系统类型的计算机程序,所述处理器运行所述获取终端系统类型的计算机程序以使所述路由器执行实施例1中所述获取终端系统类型的方法。
[0083]
实施例4
[0084]
本发明实施例4还公开了一种存储介质,所述存储介质上存储有获取终端系统类型的计算机程序,所述获取终端系统类型的计算机程序被处理器执行时实现实施例1中所述获取终端系统类型的方法。
[0085]
以此,本发明实施例提出了获取终端系统类型的方法、装置、路由器及存储介质,其中,该方法包括:获取终端发送给路由器的dhcp报文;若所述dhcp报文中存在指定字段,从所述指定字段中提取对应所述终端的系统的标识,并基于所述标识确定所述终端的系统类型;若所述dhcp报文中不存在指定字段,则获取所述终端发送给所述路由器的http报文,从所述http报文中提取ua消息头,并基于所述ua消息头确定所述终端的系统类型。本方案通过对报文的识别,能自动实现终端设备的系统信息的获取,可以适用于大量的设备系统类型的识别需要。
[0086]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的
每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0087]
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
[0088]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0089]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜