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

一种家长控制装置及方法与流程

2022-06-01 02:53:33 来源:中国专利 TAG:
1.本发明是关于上网行为监控领域,特别是关于一种家长控制装置及方法。
背景技术
::2.随着移动电子设备的普及,孩子们使用移动电子设备的年龄越来越小,但是无节制的使用移动电子设备中的应用程序(如:电子书、聊天工具、游戏等)会影响孩子的成长和学习。为了有效控制孩子们使用移动电子设备,现有的家长控制系统是通过设定移动电子设备的使用时间段以及设定在不同时间段范围内允许或禁止使用的应用程序的方式。该方式存在一定缺陷,无法对终端的上网行为进行细化。3.公开于该
背景技术
:部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。技术实现要素:4.本发明的目的在于提供一种家长控制装置及方法,其使用nfqueue机制对流量进行了深度解析,对比现有的家长控制系统,可以更加细化的控制下挂终端的上网行为。5.为实现上述目的,本发明提供了一种家长控制装置,能够应用于路由器中,与远程服务器上的云平台相连,将收集到的下挂设备的数据传送到云平台;包括:流量解析模块、设备型号识别模块、上网行为识别模块、上网行为统计模块和平台交互模块;6.所述流量解析模块用于将下挂终端的流量读取到用户空间的程序内存里,并按照网络协议解析出包括上网行为和下挂设备型号的数据,并发送给所述设备型号识别模块和所述上网行为识别模块;7.所述设备型号识别模块用于解析所述流量解析模块发送的数据得到下挂设备的设备型号数据,并发送给所述上网行为统计模块;8.所述上网行为识别模块用于对所述流量解析模块发送的数据进行特征值匹配,得到下挂设备的上网行为数据,并发送给所述上网行为统计模块;9.所述上网行为统计模块用于根据下挂设备的设备型号和上网行为数据统计出上网行为特征数据,并将统计的数据发送到所述平台交互模块;10.所述平台交互模块用于通过tcp协议与所述云平台连接并交互;所述云平台用于将下挂设备信息和上网行为的统计信息发送到控制终端,并且用于配置下挂设备的上网行为规则,其中,所述平台交互模块采用nats机制与所述云平台进行交互。11.在本发明的一实施方式中,所述流量解析模块通过libnetfilter_queue接口读取数据包的负载,并且解析数据包所包含的网络协议,将数据包解析为packet_t结构体。12.在本发明的一实施方式中,所述设备型号识别模块根据http协议中的useragent字段进行特征值匹配,得到下挂设备的设备型号。13.在本发明的一实施方式中,所述上网行为识别模块根据http/https协议中host字段进行特征值匹配,或者对tcp/udp协议的负载内容进行特征值匹配,得到下挂设备上网行为数据。14.在本发明的一实施方式中,所述上网行为识别模块中,根据http/https协议中host字段进行特征值匹配包括:获取下挂设备访问的host,通过http协议get数据中的host字段或https协议clienthello数据中的servername得到,然后跟host特征规则进行匹配。15.在本发明的一实施方式中,所述上网行为识别模块中,对tcp/udp协议的负载内容进行特征值匹配包括:获取数据包中tcp或者udp的负载内容进行特征值的匹配。16.在本发明的一实施方式中,所述上网行为统计模块基于uloop循环运作,通过fifo读取所述设备型号识别模块和所述上网行为识别模块发送的信息,统计下挂设备型号和统计上网行为。17.在本发明的一实施方式中,所述上网行为统计模块统计下挂设备型号时,使用一个列表保存下挂设备的信息,当从fifo读取到下挂设备信息时,以设备ip为索引存入设备信息列表中,流程为搜索列表内是否有当前ip的记录,如果有则更新下挂设备信息,如果没有则添加下挂设备信息。18.在本发明的一实施方式中,所述上网行为统计模块统计上网行为时,使用一个定时器和两个列表处理上网行为,一个列表保存当前识别到的上网行为,一个列表保存已经停止得上网行为;当从fifo读取到上网行为信息时以设备ip和行为id为索引存入当前行为列表中并记录开始的时间和结束的时间,定时器每分钟检测一次当前行为列表,如果有行为信息的结束的时间距离当前时间超过10分钟,则将这个行为信息从当前行为列表中移动到已停止的行为列表中。19.本发明还提供了一种家长控制方法,包括以下步骤:20.s1:将下挂终端的流量读取到用户空间的程序内存里,并按照网络协议解析出包括上网行为和下挂设备型号的数据;21.s2:解析步骤s1的数据得到下挂设备的设备型号数据;22.s3:对步骤s1的数据进行特征值匹配,得到下挂设备的上网行为数据;23.s4:根据下挂设备的设备型号和上网行为数据统计出具体的上网行为特征数据;24.s5:通过tcp协议与远程服务器上的云平台连接并交互;该云平台用于将下挂设备信息和上网行为的统计信息发送到控制终端,并且用于配置下挂设备的上网行为规则,其中,使用nats机制与云平台进行交互。25.与现有技术相比,根据本发明的一种家长控制装置及方法,基于netfilter的nfqueue机制,将路由器下挂终端的数据包发送到用户空间,然后通过解析和识别模块识别出下挂终端的上网行为统计信息,并可以通过连接云平台将信息发送给控制终端,同时控制终端可以配置的规则对特定数据包进行阻断,达到控制上网行为的功能。附图说明26.图1是根据本发明一实施方式的一种家长控制装置的示意图;27.图2是根据本发明一实施方式的一种家长控制方法的流程图;28.图3是根据本发明一实施方式的流量解析模块的流量解析流程图;29.图4是根据本发明一实施方式的packet_t数据的结构图;30.图5是根据本发明一实施方式的设备型号特征规则的示意图;31.图6是根据本发明一实施方式的host行为特征规则的示意图;32.图7是根据本发明一实施方式的tcp/udp行为特征规则的示意图;33.图8是根据本发明一实施方式的下挂设备统计流程图;34.图9是根据本发明一实施方式的上网行为统计流程图。具体实施方式35.下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。36.除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。37.本发明的一种家长控制装置和方法基于netfilter的nfqueue机制,将路由器下挂终端的数据包发送到用户空间,然后通过解析和识别模块识别出下挂终端的上网行为统计信息,并可以通过连接云平台将信息发送给控制终端,同时控制终端可以配置的规则对特定数据包进行阻断,达到控制上网行为的功能。38.iptables依赖内核netfilter框架完成功能,是netfilter框架的一个用户态工具。nfqueue同样依赖netfilter框架并且需要内核包含nfnetlink_queue子系统(2.6.14及以后的内核版本)。39.netfilter是linux2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(nat)和基于协议类型的连接跟踪成为了可能。40.netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(hook),而在每个检测点上登记了一些处理函数进行处理。41.nfqueue是iptables的一种target,用于将数据包委托给用户态应用程序裁决如何处理数据包。用户态应用程序可以使用libnetfilter_queue库连接到该队列获取包含了数据包的内核消息,并必须为数据包做出一个裁决。42.当一个数据包命中规则到达nfqueuetarget,数据包在内核中被放入以数字序号区分的队列,队列由固定长度的链表实现,链表中保存数据包及元数据(内核skb结构),当数据包收到用户态裁决时会从队列中释放,每一个数据包必须有一个裁决,队列满时新到达的数据包将被内核做drop处理。43.用户态应用程序可以读取多个数据包以做出裁决,数据包的裁决可以与读取顺序无关,过慢的裁决对导致内核队列满,内核将drop新的数据包。44.内核和用户态程序使用nfnetlink协议通信。这是一个完全基于消息的协议,不包含任何共享内存。当一个数据包入队列,内核向socket发送一个nfnetlink格式的消息,消息包含数据包数据和相关信息,用户态程序读取这个socket就可以获取消息。用户态程序裁决一个数据包时,需要组织一个nfnetlink格式的消息,消息中包含数据包在队列中的索引号,然后将消息发送给socket。45.如图1至图9所示,根据本发明优选实施方式的一种家长控制装置,该装置应用于路由器中,能够与远程服务器上的云平台相连,将收集到的下挂设备的数据传送到云平台,进而发送到控制终端。46.该装置主要流程分为2个线程,nfqueue线程和uloop线程。nfqueue线程:使用libnetfilter_queue接口循环读取并解析数据包,识别设备类型和上网行为并将其通过fifo发送给uloop线程去处理;uloop线程:创建socket连接云平台和fifo,然后使用libubox接口建立uloop循环响应云平台的消息并处理nfqueue线程通过fifo发送过来的数据。47.该装置包括:流量解析模块1、设备型号识别模块2、上网行为识别模块3、上网行为统计模块4和平台交互模块5。48.流量解析模块1,用于将下挂终端的流量读取到用户空间的程序内存里,并按照网络协议解析出包括上网行为和下挂设备型号的数据,并发送给设备型号识别模块2和上网行为识别模块3。具体地,在iptables添加nfqueue的目标,将下挂终端的流量通过libnetfilter_queue读取到用户空间的程序内存里,并按照网络协议解析出网络层(ip协议),传输层(tcp/udp协议),应用层(http/https协议)的数据方便后续进行识别。49.如图3所示,流量解析模块1主要分为2部分:1.通过libnetfilter_queue接口读取数据包的负载;2.解析数据包所包含的网络协议。最终会将数据包解析为系统定义的packet_t结构体。图4中示出了示例性的packet_t的结构。50.具体地,流量解析模块1的操作过程包括以下步骤:51.s101:打开nfq的handle,绑定af_inet忘了协议;创建一个队列接收内核里的数据包并且设置数据包的拷贝模式;52.s102:打开描述符接收队列里的数据包,接收数据包的回调函数并且获取数据包的负载内容;根据解析结果判定内核拒绝还是接收数据包,如果拒绝,则更换打开的数据包;53.s103:将数据包负载解析为packet_t结构体,并且解析数据包的ip协议头部内容;54.s104:解析数据包的udp协议头部内容和tcp协议头部内容;55.s105:根据负载内容解析上网行为,解析https协议的clienthello数据获取访问的host,解析https协议get数据获取访问的host和useragent,进而根据host解析上网行为并且根据useragent解析下挂设备型号;56.s106:将解析的信息通过fifo发送给其他模块。57.设备型号识别模块2,用于解析流量解析模块1发送的数据得到下挂设备的设备型号数据,并发送给上网行为统计模块4。具体地,根据http协议中的useragent字段进行特征值匹配,得到下挂设备的设备型号。58.图5中示出了设备型号特征表中的一条示例性特征规则,识别成功后设备型号识别模块2会将设备的ip、厂商和型号通过fifo发送给上网行为统计模块3。59.上网行为识别模块3,用于进行特征值匹配,得到下挂设备的上网行为数据,并发送给上网行为统计模块4。具体地,根据http/https协议中host字段进行特征值匹配,或者对tcp/udp协议的负载内容进行特征值匹配,得到下挂设备上网行为数据。60.上网行为识别模块3通过以下两种途径对上网行为数据进行识别:61.1.如图6所示,根据http/https协议中host字段进行特征值匹配具体包括:获取下挂设备访问的host,通过http协议get数据中的host字段或https协议clienthello数据中的servername得到,然后跟host特征规则进行匹配。例如微博流量通过匹配“*.weibo.cn”,“*.weibo.com”或“*.weibocdn.com“中的任意一个进行判断(*为通配符)。62.2.如图7所示,对tcp/udp协议的负载内容进行特征值匹配具体包括:获取数据包中tcp或者udp的负载内容进行特征值的匹配。例如微信流量通过匹配tcp端口为80,8080,443,8443并且tcp负载前3个字节为“0x17,0xf1,0x03”进行判断。63.通过上述途径识别到上网行为后,会将匹配到的上网行为特征、设备ip和时间通过fifo发送给上网行为统计模块4进行分析和统计。64.上网行为统计模块4,根据下挂设备的设备型号和上网行为数据统计出具体的上网行为特征数据,并将统计的数据发送到平台交互模块5。65.具体地,上网行为统计模块4基于uloop循环运作,通过fifo读取设备型号识别模块2和上网行为识别模块3发送的信息,其主要采用以下两种方式。66.1.如图8所示,统计下挂设备型号,使用一个列表保存下挂设备的信息,当从fifo读取到下挂设备信息时,以设备ip为索引存入设备信息列表中,流程为搜索列表内是否有当前ip的记录,如果有则更新下挂设备信息,如果没有则添加下挂设备信息。67.2.如图9所示,统计上网行为,使用一个定时器和两个列表处理上网行为,一个保存当前识别到的上网行为,一个保存已经停止得上网行为。当从fifo读取到上网行为信息时以设备ip和行为id为索引存入当前行为列表中并记录开始的时间和结束的时间,定时器每分钟检测一次当前行为列表,如果有行为信息的结束的时间距离当前时间超过10分钟,则将这个行为信息从当前行为列表中移动到已停止的行为列表中。68.平台交互模块5,用于通过tcp协议与云平台连接并交互;该云平台用于将下挂设备信息和上网行为的统计信息发送到控制终端,并且用于配置下挂设备的上网行为规则。平台交互模块5使用nats机制与云平台进行交互。69.nats核心原理就是基于消息发布订阅机制。每台服务器上的每个模块会根据自己的消息类别,向messagebus发布多个消息主题;而同时也向自己需要交互的模块,按照需要的信息内容的消息主题订阅消息。nats适合云基础设施的消息通信系统、iot设备消息通信和微服务架构。70.如图2所示,根据本发明优选实施方式的一种家长控制方法,其能够应用于路由器中,其包括以下步骤:71.s1:将下挂终端的流量读取到用户空间的程序内存里,并按照网络协议解析出包括上网行为和下挂设备型号的数据;具体地,在iptables添加nfqueue的目标,将下挂终端的流量通过libnetfilter_queue读取到用户空间的程序内存里,并按照网络协议解析出网络层(ip协议),传输层(tcp/udp协议),应用层(http/https协议)的数据方便后续进行识别。72.具体地,该步骤s1包括以下步骤:73.s101:打开nfq的handle,绑定af_inet忘了协议;创建一个队列接收内核里的数据包并且设置数据包的拷贝模式;74.s102:打开描述符接收队列里的数据包,接收数据包的回调函数并且获取数据包的负载内容;根据解析结果判定内核拒绝还是接收数据包,如果拒绝,则更换打开的数据包;75.s103:将数据包负载解析为packet_t结构体,并且解析数据包的ip协议头部内容;76.s104:解析数据包的udp协议头部内容和tcp协议头部内容;77.s105:根据负载内容解析上网行为,解析https协议的clienthello数据获取访问的host,解析https协议get数据获取访问的host和useragent,进而根据host解析上网行为并且根据useragent解析下挂设备型号;78.s106:将解析的信息通过fifo发送给其他模块。79.s2:解析步骤s1的数据得到下挂设备的设备型号数据。具体地,根据http协议中的useragent字段进行特征值匹配,得到下挂设备的设备型号。80.s3:对步骤s1的数据进行特征值匹配,得到下挂设备的上网行为数据。具体地,根据http/https协议中host字段进行特征值匹配,或者对tcp/udp协议的负载内容进行特征值匹配,得到下挂设备上网行为数据。81.其中,步骤s2和s3同步进行操作。82.s4:根据下挂设备的设备型号和上网行为数据统计出具体的上网行为特征数据。具体地,基于uloop循环运作,通过fifo读取步骤s2的下挂设备的设备型号和步骤s3的下挂设备的上网行为数据,进行下挂设备型号和上网行为的统计。具体的统计过程如下:83.1.如图8所示,统计下挂设备型号,使用一个列表保存下挂设备的信息,当从fifo读取到下挂设备信息时,以设备ip为索引存入设备信息列表中,流程为搜索列表内是否有当前ip的记录,如果有则更新下挂设备信息,如果没有则添加下挂设备信息。84.2.如图9所示,统计上网行为,使用一个定时器和两个列表处理上网行为,一个保存当前识别到的上网行为,一个保存已经停止得上网行为。当从fifo读取到上网行为信息时以设备ip和行为id为索引存入当前行为列表中并记录开始的时间和结束的时间,定时器每分钟检测一次当前行为列表,如果有行为信息的结束的时间距离当前时间超过10分钟,则将这个行为信息从当前行为列表中移动到已停止的行为列表中。85.s5:通过tcp协议与远程服务器上的云平台连接并交互;该云平台用于将下挂设备信息和上网行为的统计信息发送到控制终端,并且用于配置下挂设备的上网行为规则。使用nats为核心机制与云平台进行交互。86.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。87.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。88.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。89.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。90.前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。当前第1页12当前第1页12
再多了解一些

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

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

相关文献