首页> 中国专利> 基于netfilter和netlink实现家庭网关数据访问监控的方法及系统

基于netfilter和netlink实现家庭网关数据访问监控的方法及系统

摘要

本发明涉及一种基于netfilter和netlink实现家庭网关数据访问监控的方法,包括管理平台下发监控指令到网关,由插件接收指令信息;插件解析平台指令,提取相关有效信息字段转发给业务模块;业务模块解析插件转发的指令,并通过netlink发送给业务驱动;业务驱动根据netlink收到的指令执行相应的动作。本发明还涉及一种基于netfilter和netlink实现家庭网关数据访问监控的系统。采用了本发明的基于netfilter和netlink实现家庭网关数据访问监控的方法及系统,通过插件、业务模块、内核驱动的分工合作极大的降低了技术实现的难度,并且通过内核的处理极大地提高了监控执行的效率,在相应的事件发生时可以快速的上报监控信息。

著录项

  • 公开/公告号CN112383445A

    专利类型发明专利

  • 公开/公告日2021-02-19

    原文格式PDF

  • 申请/专利权人 上海市共进通信技术有限公司;

    申请/专利号CN202011164367.9

  • 发明设计人 钟文俊;季鸣;晏春平;

    申请日2020-10-27

  • 分类号H04L12/26(20060101);H04L12/66(20060101);

  • 代理机构31002 上海智信专利代理有限公司;

  • 代理人王洁;郑暄

  • 地址 200235 上海市徐汇区虹梅路1905号远中科研楼7楼

  • 入库时间 2023-06-19 09:55:50

说明书

技术领域

本发明涉及电子通信技术领域,尤其涉及数据访问监控领域,具体是指一种基于netfilter和netlink实现家庭网关数据访问监控的方法及系统。

背景技术

现代社会中,家庭网关已经非常普及,而人们的生活也对于数据的依赖性越来越大。如何实现家庭网关对于数据访问的监控,在现有技术中的技术层面上会遇到极大的实现难度,而且监控执行的效率低下,经常出现相应的事件发生时无法实时上报监控信息的情况。

发明内容

本发明的目的是克服了上述现有技术的缺点,提供了一种满足准确性高、误差小、适用范围较为广泛的基于netfilter和netlink实现家庭网关数据访问监控的方法及系统。

为了实现上述目的,本发明的基于netfilter和netlink实现家庭网关数据访问监控的方法及系统如下:

该基于netfilter和netlink实现家庭网关数据访问监控的方法,其主要特点是,所述的方法包括以下步骤:

(1)管理平台下发监控指令到网关,由插件接收指令信息;

(2)插件解析平台指令,提取相关有效信息字段转发给业务模块;

(3)业务模块解析插件转发的指令,并通过netlink发送给业务驱动;

(4)业务驱动根据netlink收到的指令执行相应的动作。

较佳地,所述的步骤(1)具体包括以下步骤:

(1.1)管理平台按照相关的需求下发监控添加或者删除指令到网关插件。

较佳地,所述的步骤(2)具体包括以下步骤:

(2.1)插件解析平台指令是否合法,如果是,则继续步骤(2.2);否则,返回指令失败和具体原因;

(2.2)插件在内部进行有限的合法和有效性校验,对校验通过的指令按照指定格式调用对应API,通过API将相关指令被转发到业务模块;

(2.3)插件对监控结果信息进行组装,以指定格式上报给管理平台。

较佳地,所述的步骤(3)具体包括以下步骤:

(3.1)业务模块解析指令数据,分析添加或者删除指定监控的URL、IP,或者监控时间段的信息;

(3.2)业务模块对数据中的存在的URL进行DNS解析获取其IP;

(3.3)业务模块根据解析出的数据是添加或者删除,相应的添加或者删除配置文件中的IP;

(3.4)业务模块将相关配置信息通过netlink发给内核驱动;

(3.5)业务模块持续等待内核驱动的netlink信息,将相关信息转发给插件。

较佳地,所述的步骤(4)具体包括以下步骤:

(4.1)内核驱动判断收到业务模块通过netlink发过来的配置信息是否添加或者删除监控任务,如果是删除监控任务则继续步骤(4.6),如果是添加监控任务则继续步骤(4.2);

(4.2)业务驱动将该项任务添加到任务链表中;

(4.3)业务驱动轮询任务链表,将还没有执行的任务节点中提取其IP地址;

(4.4)业务模块将提取到的IP地址通过netfilter,将hook_fun挂在FOWARDING链下;

(4.5)业务驱动将每一个访问的数据的目的IP与任务链表中的IP进行对比,若IP一致,则通过netlink将相关信息发送给业务模块;

(4.6)业务驱动从当前监控任务链表中删除该任务项,并将对应正在执行的任务进行取消。

该基于netfilter和netlink实现家庭网关数据访问监控的方法,其主要特点是,所述的系统包括:

插件,用于将管理平台下发的监控指令转发至网关,并能够及时将网关的监控结果上报至管理平台;

业务模块,与所述的插件相连接,用于接受并处理来自监控管理插件转发的监控指令、并及时向监控插件反馈监控结果;

业务驱动模块,与所述的业务模块相连接,用于对数据访问进行监测,并在模块间进行通信;

访问监控程序,通过插件进行有限的合法和有效性校验,调用对应API,业务模块解析指令数据,业务驱动通过收到的IP信息,按照要求执行添加或者删除该IP的监控任务,所述的访问监控程序具体包括以下步骤:

(1)管理平台下发监控指令到网关,由插件接收指令信息;

(2)插件解析平台指令,提取相关有效信息字段转发给业务模块;

(3)业务模块解析插件转发的指令,并通过netlink发送给业务驱动;

(4)业务驱动根据netlink收到的指令执行相应的动作。

较佳地,所述的步骤(1)具体包括以下步骤:

(1.1)管理平台按照相关的需求下发监控添加或者删除指令到网关插件。

较佳地,所述的步骤(2)具体包括以下步骤:

(2.1)插件解析平台指令是否合法,如果是,则继续步骤(2.2);否则,返回指令失败和具体原因;

(2.2)插件在内部进行有限的合法和有效性校验,对校验通过的指令按照指定格式调用对应API,通过API将相关指令被转发到业务模块;

(2.3)插件对监控结果信息进行组装,以指定格式上报给管理平台。

较佳地,所述的步骤(3)具体包括以下步骤:

(3.1)业务模块解析指令数据,分析添加或者删除指定监控的URL、IP,或者监控时间段的信息;

(3.2)业务模块对数据中的存在的URL进行DNS解析获取其IP;

(3.3)业务模块根据解析出的数据是添加或者删除,相应的添加或者删除配置文件中的IP;

(3.4)业务模块将相关配置信息通过netlink发给内核驱动;

(3.5)业务模块持续等待内核驱动的netlink信息,将相关信息转发给插件。

较佳地,所述的步骤(4)具体包括以下步骤:

(4.1)内核驱动判断收到业务模块通过netlink发过来的配置信息是否添加或者删除监控任务,如果是删除监控任务则继续步骤(4.6),如果是添加监控任务则继续步骤(4.2);

(4.2)业务驱动将该项任务添加到任务链表中;

(4.3)业务驱动轮询任务链表,将还没有执行的任务节点中提取其IP地址;

(4.4)业务模块将提取到的IP地址通过netfilter,将hook_fun挂在FOWARDING链下;

(4.5)业务驱动将每一个访问的数据的目的IP与任务链表中的IP进行对比,若IP一致,则通过netlink将相关信息发送给业务模块;

(4.6)业务驱动从当前监控任务链表中删除该任务项,并将对应正在执行的任务进行取消。

较佳地,所述的业务驱动模块包括:

netfilter单元,基于Linux内核的防火墙功能,用于对数据访问进行实时监测;

netlink单元,与所述的业务模块相连接,用于与监控业务处理模块之间进行通信。

采用了本发明的基于netfilter和netlink实现家庭网关数据访问监控的方法及系统,监控管理平台能够及时获取到家庭网关是否访问了所需要监控的网站,访问持续时间大约多长,什么时间终止访问该网站。通过插件、业务模块、内核驱动的分工合作极大的降低了技术实现的难度,并且通过内核的处理极大地提高了监控执行的效率,在相应的事件发生时可以快速的上报监控信息。

附图说明

图1为本发明的基于netfilter和netlink实现家庭网关数据访问监控的系统的结构图。

图2为本发明的基于netfilter和netlink实现家庭网关数据访问监控的方法的数据访问监控技术插件的流程图。

图3为本发明的基于netfilter和netlink实现家庭网关数据访问监控的方法的数据访问监控技术业务模块的流程图。

图4为本发明的基于netfilter和netlink实现家庭网关数据访问监控的方法的数据访问监控技术业务驱动的流程图。

具体实施方式

为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。

本发明的该基于netfilter和netlink实现家庭网关数据访问监控的方法,其中包括以下步骤:

(1)管理平台下发监控指令到网关,由插件接收指令信息;

(1.1)管理平台按照相关的需求下发监控添加或者删除指令到网关插件;

(2)插件解析平台指令,提取相关有效信息字段转发给业务模块;

(2.1)插件解析平台指令是否合法,如果是,则继续步骤(2.2);否则,返回指令失败和具体原因;

(2.2)插件在内部进行有限的合法和有效性校验,对校验通过的指令按照指定格式调用对应API,通过API将相关指令被转发到业务模块;

(2.3)插件对监控结果信息进行组装,以指定格式上报给管理平台;

(3)业务模块解析插件转发的指令,并通过netlink发送给业务驱动;

(3.1)业务模块解析指令数据,分析添加或者删除指定监控的URL、IP,或者监控时间段的信息;

(3.2)业务模块对数据中的存在的URL进行DNS解析获取其IP;

(3.3)业务模块根据解析出的数据是添加或者删除,相应的添加或者删除配置文件中的IP;

(3.4)业务模块将相关配置信息通过netlink发给内核驱动;

(3.5)业务模块持续等待内核驱动的netlink信息,将相关信息转发给插件;

(4)业务驱动根据netlink收到的指令执行相应的动作;

(4.1)内核驱动判断收到业务模块通过netlink发过来的配置信息是否添加或者删除监控任务,如果是删除监控任务则继续步骤(4.6),如果是添加监控任务则继续步骤(4.2);

(4.2)业务驱动将该项任务添加到任务链表中;

(4.3)业务驱动轮询任务链表,将还没有执行的任务节点中提取其IP地址;

(4.4)业务模块将提取到的IP地址通过netfilter,将hook_fun挂在FOWARDING链下;

(4.5)业务驱动将每一个访问的数据的目的IP与任务链表中的IP进行对比,若IP一致,则通过netlink将相关信息发送给业务模块;

(4.6)业务驱动从当前监控任务链表中删除该任务项,并将对应正在执行的任务进行取消。

本发明的该基于netfilter和netlink实现家庭网关数据访问监控的系统,其中包括:

插件,用于将管理平台下发的监控指令转发至网关,并能够及时将网关的监控结果上报至管理平台;

业务模块,与所述的插件相连接,用于接受并处理来自监控管理插件转发的监控指令、并及时向监控插件反馈监控结果;

业务驱动模块,与所述的业务模块相连接,用于对数据访问进行监测,并在模块间进行通信;

访问监控程序,通过插件进行有限的合法和有效性校验,调用对应API,业务模块解析指令数据,业务驱动通过收到的IP信息,按照要求执行添加或者删除该IP的监控任务,所述的访问监控程序具体包括以下步骤:

(1)管理平台下发监控指令到网关,由插件接收指令信息;

(1.1)管理平台按照相关的需求下发监控添加或者删除指令到网关插件;

(2)插件解析平台指令,提取相关有效信息字段转发给业务模块;

(2.1)插件解析平台指令是否合法,如果是,则继续步骤(2.2);否则,返回指令失败和具体原因;

(2.2)插件在内部进行有限的合法和有效性校验,对校验通过的指令按照指定格式调用对应API,通过API将相关指令被转发到业务模块;

(2.3)插件对监控结果信息进行组装,以指定格式上报给管理平台;

(3)业务模块解析插件转发的指令,并通过netlink发送给业务驱动;

(3.1)业务模块解析指令数据,分析添加或者删除指定监控的URL、IP,或者监控时间段的信息;

(3.2)业务模块对数据中的存在的URL进行DNS解析获取其IP;

(3.3)业务模块根据解析出的数据是添加或者删除,相应的添加或者删除配置文件中的IP;

(3.4)业务模块将相关配置信息通过netlink发给内核驱动;

(3.5)业务模块持续等待内核驱动的netlink信息,将相关信息转发给插件;

(4)业务驱动根据netlink收到的指令执行相应的动作;

(4.1)内核驱动判断收到业务模块通过netlink发过来的配置信息是否添加或者删除监控任务,如果是删除监控任务则继续步骤(4.6),如果是添加监控任务则继续步骤(4.2);

(4.2)业务驱动将该项任务添加到任务链表中;

(4.3)业务驱动轮询任务链表,将还没有执行的任务节点中提取其IP地址;

(4.4)业务模块将提取到的IP地址通过netfilter,将hook_fun挂在FOWARDING链下;

(4.5)业务驱动将每一个访问的数据的目的IP与任务链表中的IP进行对比,若IP一致,则通过netlink将相关信息发送给业务模块;

(4.6)业务驱动从当前监控任务链表中删除该任务项,并将对应正在执行的任务进行取消。

作为本发明的优选实施方式,所述的业务驱动模块包括:

netfilter单元,基于Linux内核的防火墙功能,用于对数据访问进行实时监测;

netlink单元,与所述的业务模块相连接,用于与监控业务处理模块之间进行通信。

本发明的具体实施方式中,涉及一种实现家庭网关基于netfilter和netlink的数据访问监控技术,包括监控管理插件,用于将管理平台下发的监控指令转发给网关,并能够及时将网关的监控结果上报给管理平台;监控业务处理模块,用于接受并处理来自监控管理插件转发的监控指令、及时向监控插件反馈监控结果;监控业务内核驱动,包括netfilter和netlink两部分内容,netfilter用于数据访问的实时监测,netlink用于与监控业务处理模块之间的通信。

本发明的实现家庭网关基于netfilter和netlink的数据访问监控技术,其中包括:

插件,用于将管理平台下发的监控指令转发给网关,并能够及时将网关的监控结果上报给管理平台;

业务模块,用于接受并处理来自监控管理插件转发的监控指令、及时向监控插件反馈监控结果;

业务驱动,包括netfilter和netlink两部分内容,netfilter用于数据访问的实时监测,netlink用于与监控业务处理模块之间的通信。

插件、业务模块、业务驱动在自明确的分工基础上要保持互通协作。插件、业务模块、业务驱动是三个可以相对独立的功能模块。

本发明的实现家庭网关基于netfilter和netlink的数据访问监控技术,其中包括以下步骤:

(1)所述的插件接受管理平台下发的监控指令,这些指令是JSON格式,在插件内部进行有限的合法和有效性校验,对校验通过的指令按照指定格式调用对应API,这些API由网关提供,通过API将相关指令被转发到业务模块;

(2)业务模块接收到插件的指令,业务模块会解析指令数据,分析是添加或者删除指定监控的URL、IP,或者监控时间段等等。对于解析JSON数据出来的是URL的,业务模块会首先将URL通过DNS解析出具体的IP,如果从插件转发过来的数据就是IP则不需要进行DNS解析。在这之后业务模块会将该IP以及其添加或者删除监控的动作保存在一个文件中,并通过netlink讲相关信息发送到内核,然后由业务驱动去处理;

(3)业务驱动通过netlink收到业务模块发过来的IP等信息,驱动会按照要求执行添加或者删除该IP的监控任务,具体的监控任务执行通过netfilter来完成。

其中,步骤(1)具体包括以下步骤:

(1.1)所述的插件接收管理平台下发的JSON指令;

(1.2)所述的插件会校验JSON指令是否合法,如果校验通过则继续步骤(1.3);否则,返回数据错误等相关信息;

(1.3)所述的插件会解析接收到平台下发的JSON指令,根据指令信息,调用对应API,将相关信息发到业务模块。

其中,步骤(2)具体包括以下步骤:

(2.1)所述的业务模块,会解析来自插件的指令数据,分析是添加或者删除指定监控的URL、IP,或者监控时间段等等,如果解析出来的数据是URL则继续步骤(2.2),如果是IP则继续步骤(2.3);

(2.2)所述的业务模块会解析URL得到IP地址;

(2.3)所述的业务模块会根据相关的添加或者删除的配置信息更新模块的配置文件;

(2.4)所述的业务模块会将配置信息通过netlink发送到业务驱动;

其中,步骤(3)具体包括以下步骤:

(3.1)所述的业务驱动会初始化一个任务链表用于保存任务信息,并自定义一个hook_fun用来执行任务;

(3.2)所述的业务驱动会先判断是添加或者是删除监控任务,如果是删除监控任务则继续步骤(3.7),如果是添加监控任务则继续步骤(3.3);

(3.3)所述的业务驱动会将该项任务添加到任务链表中;

(3.4)所述的业务驱动会轮询任务链表,将从还没有执行的任务节点中提取其IP地址;

(3.5)所述的业务驱动会将提取到的IP地址通过netfilter,将hook_fun挂在FOWARDING链下面;

(3.6)所述的业务驱动会将每一个访问的数据的目的IP与任务链表中的IP进行对比,如果有IP一致,则会通过netlink将相关信息发送给业务模块;

(3.7)所述的业务驱动会从当前监控任务链表中删除该任务项,并将对应正在执行的任务进行取消。

家庭网关基于netfilter和netlink的数据访问监控技术。家庭网关对该技术实现要有明确的模块划分,模块之间分工合作。如果将整个技术的实现在一个模块中实现,将会极大增加技术的实现难度。插件用于将管理平台下发的监控指令转发给网关,并能够及时将网关的监控结果上报给管理平台;业务模块用于接受并处理来自监控管理插件转发的监控指令、及时向监控插件反馈监控结果;业务驱动包括netfilter和netlink两部分内容,netfilter用于数据访问的实时监测,netlink用于与监控业务处理模块之间的通信。

为了实现上述的目的,插件需要至少具备指令接收、指令合法性判断、指令解析、指令向下转发、监控结果组装上报五项功能;业务模块需至少具备接收插件的转发指令、URL通过DNS解析出IP、更新监控配置文件、netlink的方式与内核驱动通信、上报监控信息到插件五项功能;内核驱动需要至少具备通过netlink与业务模块通信、保存更新监控任务信息、监控任务执行、监控触发上报四项功能。

为了能够更清楚地理解本发明专利的技术内容,特举以下实施例详细说明。

请参阅图1,从示意图中可以看到,在网关上运行着插件、业务模块、内核,而本发明所指的内核驱动只是内核中的一个自定义模块。

要实现基于netfilter和netlink的数据访问监控技术,首先你的网关需要支持插件的安装,并且你自己按照功能需求实现该插件,最终将该插件运行在网关上并且调通与管理平台的交互连接;业务模块需要按照功能的需求自己开发一个新的模块并运行在网关上,注意需要调通与插件之间的通信交互;最后需要实现内核驱动,这个驱动还是需要自己根据功能需求去实现,并要能与业务模块之间通过netlink实现通信,这时是需要与业务模块进行联调才能完成。

采用了本发明的基于netfilter和netlink实现家庭网关数据访问监控的方法及系统,监控管理平台能够及时获取到家庭网关是否访问了所需要监控的网站,访问持续时间大约多长,什么时间终止访问该网站。通过插件、业务模块、内核驱动的分工合作极大的降低了技术实现的难度,并且通过内核的处理极大地提高了监控执行的效率,在相应的事件发生时可以快速的上报监控信息。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号