首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于私有HEAD的数据镜像方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:深圳云盈网络科技有限公司

摘要:本发明公开了一种基于私有HEAD的数据镜像方法,包括:用户终端访问互联网;AH模块对访问互联网的上网数据包进行识别,复制满足条件的数据包,在其前部增加私有HEAD进行封装,将封装后得到的数据包发送给审计硬件模块;HOST设备和审计硬件模块均存在自己的固定网络地址;审计硬件模块收到封装后得到的数据包后,AS模块对其进行解封装处理;审计硬件模块对解封装后的数据包进行网络安全审计,丢弃掉无用的数据包,并将有用的数据包转换成符合各地市公安的要求标准的数据,并通过网络上报到指定的审计服务器。本发明对HOST设备的性能消耗较低、对HOST设备的用户体验无影响、降低部署成本、对于中小场所更容易落地实施。

主权项:1.一种基于私有HEAD的数据镜像方法,其特征在于,应用于公安系统的网络安全审计系统,所述网络安全审计系统包括用户终端、HOST设备、审计硬件模块和审计服务器,所述用户终端通过无线方式连接所述HOST设备,所述HOST设备与所述审计硬件模块连接,所述审计硬件模块通过网关与所述审计服务器连接,所述HOST设备中设有AH模块,所述审计硬件模块中设有AS模块,所述方法包括如下步骤:A所述用户终端访问互联网;B所述AH模块对所述用户终端访问互联网的上网数据包进行识别,复制满足条件的上网数据包,并在其前部增加私有HEAD进行封装处理,将封装后得到的数据包发送给审计硬件模块;所述HOST设备和审计硬件模块均存在自己的固定网络地址;C所述审计硬件模块收到所述封装后得到的数据包后,所述AS模块对所述封装后得到的数据包进行解封装处理;D所述审计硬件模块对解封装后的数据包进行网络安全审计,丢弃掉无用的数据包,并将有用的数据包转换成符合各地市公安的要求标准的数据,并通过网络上报到指定的所述审计服务器;所述私有HEAD采用UDP协议进行封装处理,并把所述上网数据包作为数据内容封装在内,所述私有HEAD采用指定端口号;所述步骤B进一步包括:B1所述AH模块初始化时,分别注册HOOK函数PREROUTING和POSTROUTING;B2当有所述终端的上网数据包时,检测所述上网数据包是否满足丢弃条件,如是,对所述上网数据包进行丢弃;否则,执行步骤B3;B3检测所述上网数据包是否满足镜像处理的条件,如是,执行步骤B4;否则,对所述上网数据包进行放行;B4对所述上网数据包进行限速处理,执行步骤B5;B5复制所述上网数据包;B6检测是否需要分片处理,如是,将所述上网数据包分为两个片段进行发送,执行步骤B7';否则,执行步骤B7;B7在所述上网数据包的前面添加所述私有HEAD得到所述封装后得到的数据包,执行步骤B8;B7'在每个所述片段的前面分别添加对应的私有HEAD,并在各自的私有HEAD的IP层置位分片标记得到所述封装后得到的数据包,执行步骤B8;B8将所述封装后得到的数据包通过指定接口发送给所述审计硬件模块,并对所述上网数据包进行放行处理。

全文数据:基于私有HEAD的数据镜像方法技术领域[0001]本发明涉及无线数据通信领域,特别涉及一种基于私有HEAD的数据镜像方法。背景技术[0002]随着笔记本电脑、智能手机、平板电脑等移动终端的日益普及和国内运营商以及各类提供WiFi服务公共场所的大规模建设,中国互联网产业迎来了移动互联网时代。提供无线上网服务的场所也越来越多,比如火车站、飞机场等大型公共场所,购物商场、咖啡厅、KTV等休闲娱乐场所,甚至连小型宾馆酒店、招待所也都普遍提供无线接入互联网服务。[0003]这随之带来的就是WLAN上网场所的安全监管问题日益突出,因为在非经营性上网服务场所如宾馆、休闲会所、中西餐厅等,通过WiFi上网都是不需要出示身份证明的,这部分的监管存在很大的漏洞。很多网民在这些场所随意上网,发布一些有害信息,影响社会治安和公共秩序;更有甚者,通过不记名接入互联网,做些违法犯罪的勾当,给公共安全和公民财产等带来巨大安全隐患。[0004]公安机关按照互联网管理条例,将WLAN安全监管纳入管理范畴,并进行严格检查和执行。各非经营上网服务的场所,只要是面向公众提供WiFi服务的,必须安装符合公安部82号令的互联网安全审计系统(下称“审计系统”)。审计系统包含前端设备端和后端月艮务器端两部分。[0005]传统前端审计的方式有两种,一种是直接运行在HOST宿主系统上,通过1ibpcap网络数据包捕获函数库机制捕获用户上网数据,这种方式对HOST设备的内存和CPU处理能力有一定要求,同时对HOST设备的整体性能有较大影响;另一种是通过物理端口镜像的方式获取用户上网数据,这种方式一般开启端口镜像的位置在HOST设备的上行网络中,通常位于网关或交换机设备上,对于小场所简单网络的情景下,部署成本偏高,不容易落地实施。发明内容[0006]本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种对host设备的性能消耗较低、对HOST设备的用户体验无影响、降低部署成本、对于中小场所更容易落地实施的基于私有HEAD的数据镜像方法。[0007]本发明解决其技术问题所采用的技术方案是:构造一种基于私有HEAD的数据镜像方法,应用于公安系统的网络安全审计系统,所述网络安全审计系统包括用户终端、HOST设备、审计硬件模块和审计服务器,所述用户终端通过无线方式连接所述HOST设备,所述HOST设备与所述审计硬件模块连接,所述审计硬件模块通过网关与所述审计服务器连接,所述HOST设备中设有AHaudithost模块,所述审计硬件模块中设有ASauditsalve模块,所述方法包括如下步骤:[0008]A所述用户终端访问互联网;[0009]B所述AH模块对所述用户终端访问互联网的上网数据包进行识别,复制满足条件的数据包,并在其前部增加私有head进行封装处理,将封装后得到的数据包发送给审计硬件模块;所述HOST设备和审计硬件模块均存在自己的固定网络地址;[0010]C所述审计硬件模块收到所述封装后得到的数据包后,所述AS模块对所述封装后得到的数据包进行解封装处理;[0011]D所述审计硬件模块对解封装后的数据包进行网络安全审计,丢弃掉无用的数据包,并将有用的数据包转换成符合各地市公安的要求标准的数据,并通过网络上报到指定的所述审计服务器。[0012]在本发明所述的基于私有ffiAD的数据镜像方法中,所述私有HEAD采用UDP协议进行封装处理,并把所述上网数据包作为数据内容封装在内,所述私有HEAD采用指定端口号。[0013]在本发明所述的基于私有HEAD的数据镜像方法中,所述步骤B进一步包括:[0014]B1所述AH模块初始化时,分别注册HOOK函数PREROUTING和POSTROUTING;[0015]B2当有所述终端的上网数据包时,检测所述上网数据包是否满足丢弃条件,如是,对所述上网数据包进行丢弃;否则,执行步骤B3;[0016]B3检测所述上网数据包是否满足镜像处理的条件,如是,执行步骤B4;否则,对所述上网数据包进行放行;[0017]B4对所述上网数据包进行限速处理,执行步骤B5;[0018]B5复制所述上网数据包;[0019]B6检测是否需要分片处理,如是,将所述上网数据包分为两个片段进行发送,执行步骤B7';否则,执行步骤B7;[0020]B7在所述上网数据包的前面添加所述私有HEAD得到所述封装后得到的数据包,执行步骤B8;[0021]B7〇在每个所述片段的前面分别添加对应的私有HEAD,并在各自的私有HEAD的IP层置位分片标记得到所述封装后得到的数据包,执行步骤B8;[0022]B8将所述封装后得到的数据包通过指定接口发送给所述审计硬件模块,并对所述上网数据包进行放行处理。[0023]在本发明所述的基于私有HEAD的数据镜像方法中,所述丢弃条件包括:所述上网数据包的接口信息是WAN口,且所述上网数据包为ARP报文,询问的地址段是169.254.100.25430,或者所述上网数据包的接口信息是WAN口,且所述上网数据包为IP报文,所述IP报文中源IP为地址段169.254•100•25430。[0024]在本发明所述的基于私有HEAD的数据镜像方法中,满足所述镜像处理的条件包括:检测所述AH模块的功能是否开启,如果没有开启,则对所述上网数据包进行放行处理;检测所述上网数据包是否为IP报文,如果不是,则对所述上网数据包进行放行处理;检测所述上网数据包是否为LAN口,如不是,则对所述上网数据包进行放行处理;检测所述上网数据包的源MAC或目的MAC是否为所述审计硬件模块的MAC地址,如是,则对所述上网数据包进行放行处理;检测所述上网数据包的接口状态是否是UP,如不是,则对所述上网数据包进行放行处理。[0025]在本发明所述的基于私有HEAD的数据镜像方法中,所述限速处理采用令牌桶算法,令牌桶中的每一个令牌代表一个字节,所述步骤B4进一步包括:[0026]B41所述令牌桶中的令牌以固定速率添加;[0027]B42当一个n字节的上网数据包到达时,从所述令牌桶中删除n个所述令牌,右剩余的令牌小于n,则限制所述上网数据包;所述n为大于1的整数。[0028]在本发明所述的基于私有HEAD的数据镜像方法中,所述AS模块通过注册H〇〇K函数PREROUTING来捕获封装后得到的数据包,所述步骤C进一步包括:[0029]C1检测当前收到的是否是封装后得到的数据包,如是,执行步骤C2;否则,对所述上网数据包进行放行;_[0030]C2检测所述封装后得到的数据包是否分片,如是,进行重组操作,执行步骤C3;否则,执行步骤C4;[0031]C3判断重组操作是否成功,如是,执行步骤C4;否则,执行步骤C6;[0032]C4对所述封装后得到的数据包进行复制,执行步骤C5;[0033]C5去除所述封装后得到的数据包中的私有HEAD,将所述上网数据包进行还原,并将所述上网数据包发送到指定的接口,执行步骤C6;[0034]C6将所述封装后得到的数据包进行丢弃。[0035]在本发明所述的基于私有HEAD的数据镜像方法中,注册到HOOK函数PREROUTING,若所述上网数据包中的接口名称为LAN口名称,则认为是所述终端的上行数据;若所述上网数据包中的接口名称为WAN口名称,则认为是所述终端的下行数据;注册到H00K函数POSTROUTING,若所述上网数据包中的接口名称为LAN口名称,则认为是所述终端的下行数据;若所述上网数据包中的接口名称为WAN口名称,则认为是所述终端的上行数据。[0036]在本发明所述的基于私有HEAD的数据镜像方法中,所述指定端口号为5151。[0037]在本发明所述的基于私有HEAD的数据镜像方法中,所述HOST设备的固定网络地址为169.254•100.25030,所述审计硬件模块的固定网络地址为I69•254.100.2493〇。[0038]实施本发明的基于私有HEAD的数据镜像方法,具有以下有益效果:由于利用两个软件模块,即AH模块和AS模块,AH模块工作在HOST设备上,负责对用户的上网数据包进行封装处理,AS模块工作在审计硬件模块上,负责对封装后得到的数据包进行解封处理,本发明是通过软件实现用户的上网数据包的镜像功能,最大限度保证原数据包的正确性,配合完成对用户上网数据的审计工作,其对HOST设备的性能消耗较低、对HOST设备的用户体验无影响、降低部署成本、对于中小场所更容易落地实施。附图说明[0039]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0040]图1为本发明基于私有HEAD的数据镜像方法一个实施例中网络安全审计系统的结构示意图;[0041]图2为所述实施例中基于私有HEAD的数据镜像方法的流程图;[0042]图3为所述实施例中对上网数据包进行封装的示意图;[0043]图4为所述实施例中封装格式示意图;[0044]图5为所述实施例中LINUX内核数据转发示意图;[0045]图6为所述实施例中AH模块对用户终端访问互联网的上网数据包进行识别,复制满足条件的数据包,并在其前部增加私有HEAD进行封装处理,将封装后得到的数据包发送给审计硬件模块的具体流程图;[0046]图7为所述实施例中对上网数据包进行限速处理的具体流程图;[0047]图8为所述实施例中对上网数据包进行限速处理的示意图;[0048]图9为所述实施例中审计硬件模块收到封装后得到的数据包后,AS模块对封装后得到的数据包进行解封装处理的具体流程图。具体实施方式[0049]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0050]在本发明基于私有HEAD的数据镜像方法实施例中,该基于私有HEAD的数据镜像方法应用于公安系统的网络安全审计系统,该网络安全审计系统的结构示意图如图1所示。图1中,该审计系统包括用户终端、HOST设备、审计硬件模块和审计服务器,用户终端通过无线方式连接HOST设备,HOST设备通过网线、PCIE接口或者USB接口与审计硬件模块连接,审计硬件模块通过网关与审计服务器连接。[0051]本发明通过软件实现用户上网数据包的镜像功能,配合完成对用户上网数据的审计工作。本发明软件LINUX内核开发,涉及到两个软件模块,AH模块和AS模块。其中,AH模块设置在HOST设备中,AS模块设置在审计硬件模块中。具体而言,AH模块工作在HOST设备上,负责对用户的上网数据包进行封装处理。AS模块工作在审计硬件模块上,负责对封装后得到的数据包进行解封处理。HOST设备和审计硬件模块需保证网络互通,可通过连接。为方便HOST和审计硬件模块互通,HOST设备必须存在固定网络地址169.254.100.25030,硬件审计模块必须存在固定网络地址169•254.100•24930。[0052]图2为本实施例中基于私有HEAD的数据镜像方法的流程图,图2中,该基于私有HEAD的数据镜像方法包括如下步骤:[0053]步骤S01用户终端访问互联网:本步骤中,用户终端无线连接HOST设备,访问互联网,如浏览网页、观看视频等。[0054]步骤S02AH模块对用户终端访问互联网的上网数据包进行识别,复制满足条件的上网数据包,并在其前部增加私有HEAD后进行封装处理,将封装后得到的数据包发送给审计硬件模块:本步骤中,HOST设备通过网线、PCIE接口或者USB接口与审计硬件模块连接,同时,AH模块对用户终端访问互联网的上网数据包进行识别,复制满足条件的上网数据包,并在其前部增加私有head后进行封装处理,将封装后得到的数据包发送给审计硬件模块。也就是本发明通过HEAD方式实现数据镜像功能。[0055]步骤S03审计硬件模块收到封装后得到的数据包后,AS模块对封装后得到的数据包进行解封装处理:本步骤中,审计硬件模块收到封装后得到的数据包后,AS模块对封装后得到的数据包进行解封装处理。[0056]图3为本实施例中对上网数据包进行封装的示意图,图3中,AH模块复制用户的满足条件的上网数据包,并在其前部增加私有HEAD,然后发送给审计硬件模块。AS模块将上网数据包的前部的私有HEAD去除掉,完成对上网数据包的还原。[0057]本实施例中,私有HEAD采用UDP协议进行封装处理(即封装报文),并把上网数据包即用户完整的真实数据包作为数据内容封装在内,私有ffiAD采用指定端口号,该指定端口号为5151,指定端口包含源端口和目的端口。图4为本实施例中封装格式示意图,图4中,完整数据报文就是用户的上网数据包。在LINUX系统中,当终端访问外网的数据进入,首先经过第一个HOOK函数钩子函数,可注册进去实现用户自定义的处理逻辑PREROUTING进行处理;然后就进入路由代码,其决定该上网数据包是需要转发还是发给本机的;若需要转发,则它被FORWARD处理;经过转发的上网数据包经过最后一个HOOK函数TOSTROUTING处理以后,再传输到网络上。[0058]图5为本实施例中LINUX内核数据转发示意图,图5中,终端的上行数据从LAN口进入,首先经过PREROUTING,此时上行数据中的接口信息DEV是LAN口的名称,然后进入FORWARD,再进入POSTROUTING,上行数据中的接口信息更换为WAN口的名称,并最终从WAN口出去。终端的下行数据则从WAN口进入,首先经过PREROUTING,此时下行数据中的接口信息DEV是WAN口的名称,然后进入FORWARD,再进入POSTROUTING,下行数据中的接口信息更换为LAN口的名称,并最终从LAN口出去。[0059]由此可见,注册到H00K函数PREROUTING,若上网数据包中的接口名称为LAN口名称,则认为是终端的上行数据;若上网数据包中的接口名称为WAN口名称,则认为是终端的下行数据。相反,注册到H00K函数POSTROUTING,若上网数据包中的接口名称为LAN口名称,则认为是终端的下行数据;若上网数据包中的接口名称为ffAN口名称,则认为是终端的上行数据。AH模块通过这种机制识别用户的上网数据包,并实现封装转发。[0060]步骤S04审计硬件模对解封装后的数据包进行网络安全审计,丢弃掉无用的数据包,并将有用的数据包转换成符合各地市公安的要求标准的数据,并通过网络上报到指定的审计服务器:本步骤中,审计硬件模对解封装处理后的上网数据包进行网络安全审计,将无用的数据包丢弃掉,并将有用的数据包转换成符合各地市公安的要求标准的数据,通过网络上报到指定的审计服务器。本发明是通过软件实现用户的上网数据包的镜像功能,配合完成对用户上网数据的网络安全审计工作,其对HOST设备的性能消耗较低、对HOST设备的用户体验无影响,并在不添加设备和增加成本的情况下可以完整的镜像终端的数据内容,包含HOST设备的无线端和有线端,保证审计系统的正常运转,其能降低部署成本。特别是对于中小场所,更容易落地实施。[0061]对于本实施例而言,上述步骤S02还可进一步细化,其细化后的流程图如图6所示。图6中,上述步骤S02进一步包括如下步骤:[0062]步骤S20AH模块初始化时,分别注册H00K函数PREROUTING和POSTROUTING:本步骤中,AH模块初始化时,分别注册H00K函数PREROUTING和POSTROUTING,当有终端的上网数据包时,便触发后续流程。[0063]步骤S21当有终端的上网数据包时,检测上网数据包是否满足丢弃条件:本步骤中,当有终端的上网数据包时,检测上网数据包是否满足丢弃条件,丢弃条件包括:上网数据包的接口信息是WAN口,且上网数据包为ARP报文,询问的地址段是169.254.100.25430,或者上网数据包的接口信息是WAN口,且上网数据包为IP报文,IP报文中源IP为地址段169.254.100.25430。目的是保证这个地址段的数据报文上网数据包无法从设备WAN口出去或进来,以保障HOST和审计硬件模块之间的通信。本步骤中,如果检测的结果为是,则执行步骤S22;否则,执行步骤S23。[0064]步骤S22对上网数据包进行丢弃:如果上述步骤S21的检测结果为是,即满足丢弃条件,则执行本步骤。本步骤中,对上网数据包进行丢弃处理。[0065]步骤S23检测上网数据包是否满足镜像处理的条件:如果上述步骤S21的判断结果为否,即不满足丢弃条件,则执行本步骤。本步骤中,检测上网数据包是否满足镜像处理的条件,满足镜像处理的条件包括:检测AH模块的功能是否开启,如果没有开启,则对上网数据包进行放行处理;检测上网数据包是否为IP报文,如果不是,则对上网数据包进行放行处理,审计功能只关心IP报文;检测上网数据包是否为LAN口,如不是,则对上网数据包进行放行处理,只获取LAN口的上行数据即可;检测上网数据包的源MAC或目的MAC是否为审计硬件模块的MAC地址,如是,则对上网数据包进行放行处理,目的是忽略审计硬件模块的自身流量;检测上网数据包的接口状态是否是UP,如不是,则对上网数据包进行放行处理,因上网数据包最终通过接口发送到审计硬件模块,发送前需要确认该接口处于正常工作状态。[0066]步骤S24对上网数据包进行放行:如果上述步骤S23的判断结果为否,即不满足镜像处理的条件,则执行本步骤。本步骤中,对上网数据包进行放行处理。[0067]步骤S25对上网数据包进行限速处理:如果上述步骤S23的判断结果为是,即满足镜像处理的条件,则执行本步骤。本步骤中,对满足镜像处理的条件的上网数据包进行限速处理。目的是防止封装后得到的数据包过大,从而导致审计硬件模块的下行数据拥堵,影响审计硬件模块的正常业务。执行完本步骤,执行步骤S26。通过限速处理,可以保证原有业务正常运转。[0068]步骤S26复制上网数据包:本步骤中,复制上网数据包,拷贝一份新的,避免对原始的上网数据包造成影响。执行完本步骤,执行步骤S27。[0069]步骤S27检测是否需要分片处理:本步骤中,检测是否需要分片处理,判断的条件是,上网数据包的大小加上私有HEAD的大小是否超过发送接口的MTU阈值,如果判断的结果为是,则执行步骤S28;否则,执行步骤S29。[0070]步骤S28将上网数据包分为两个片段进行发送:如果上述步骤S27的判断结果为是,即上网数据包的大小加上私有HEAD的大小超过发送接口的MTU阈值,则执行本步骤。本步骤中,将上网数据包分为两个片段进行发送。执行完本步骤,执行步骤S29'。通过分片机制处理可以保证数据正常被转发。[0071]步骤S29'在每个片段的前面分别添加对应的私有HEAD,并在各自的私有HEAD的IP层置位分片标记得到封装后得到的数据包:本步骤中,对于分片,在每个片段的前面分别添加对应的私有HEAD,并在各自的私有HEAD的IP层置位分片标记,这样就会得到封装后得到的数据包,方便后续进行重组操作。执行完本步骤,执行步骤S30。[0072]步骤S29在上网数据包的前面添加私有HEAD得到封装后得到的数据包:如果上述步骤S27的判断结果为否,则执行本步骤。本步骤中,将上网数据包当作完整数据,在上网数据包的前面添加私有HEAD,这样就会得到封装后得到的数据包。执行完本步骤,执行步骤S30〇[0073]步骤S30将封装后得到的数据包通过指定接口发送给审计硬件模块,并对上网数据包进行放行处理:本步骤中,当封装后得到的数据包组装芫毕后,将封装后得到的数聒蚀通过指定接口发送给审计硬件模块,并对上网数据包进行放行处理,保证终端原有业务的正常进行。[0074]本实施例中,限速处理采用令牌桶算法,令牌桶中的每一个令牌代表一个字节。上述步骤S25还可进一步细化,其细化后的流程图如图7所示。图7中,上述步骤S25进一步包括如下步骤:[0075]步骤S251令牌桶中的令牌以固定速率添加:如果令牌桶中存在令牌,则允许继续处理;而如果牌桶中不存在令牌,则放弃处理。本步骤中,令牌桶中的令牌以固定速率添加,假如平均发送速率为r,则每隔1秒r个令牌被加入到令牌桶中,r大于〇。[0076]步骤S252当一个n字节的上网数据包到达时,从令牌桶中删除n个令牌,若剩余的令牌小于n,则限制上网数据包:本步骤中,当一个n字节的上网数据包到达时,就从令牌桶中删除n个令牌,若剩余的令牌小于n,则限制上网数据包,n为大于1的整数。对上网数据包进行限速处理的示意图如图8所示。[0077]本实施例中,AS模块通过注册HOOK函数PREROUTING来捕获封装后得到的数据包。对于本实施例而言,上述步骤S03还可进一步细化,其细化后流程图如图9所示。图9中,上述步骤S03进一步包括如下步骤:[0078]步骤S31检测当前收到的是否是封装后得到的数据包:本步骤中,检测当前收到的是否是封装后得到的数据包,检测的依据条件为:数据包为UDP报文,且报文中的源IP地址为169.254.100.250,端口号为5151。本步骤中,如果检测的结果为是,则执仃步骤S33;否贝IJ,执行步骤S32。[0079]步骤S32对上网数据包进行放行:如果上述步骤S31的检测结果为否,即当前收到的不是封装后得到的数据包,则执行本步骤。本步骤中,对上网数据包进行放行处理。[0080]步骤S33检测封装后得到的数据包是否分片:如果上述步骤S31的检测结果为是,即当前收到的是封装后得到的数据包,则执行本步骤。本步骤中,检测封装后得到的数据包是否分片,检测可以通过私有HEAD的IP层分片标志位来判别,如果检测的结果为是,则执行步骤S34;否则,执行步骤S36。[0081]步骤S34进行重组操作:如果上述步骤S33的判断结果为是,即不是分片,则执行本步骤。本步骤中,进行重组操作。重组时,需保证所有分片数据均已经到达,因此需要缓存分片数据。分片数据的缓存采用HASH结构,方便快速查找。同时通过定时器对长久未完成重置的分片数据进行清理操作,以避免过量消耗内存。执行完本步骤,执行步骤S35。[0082]步骤S35判断重组操作是否成功:本步骤中,判断重组操作是否成功,如果判断的结果为是,则执行步骤S36;否则,执行步骤S38。[0083]步骤S36对封装后得到的数据包进行复制:如果上述步骤S35的判断结果为是,则执行本步骤。本步骤中,对封装后得到的数据包进行复制,避免对原始的封装后得到的数据包造成影响。执行完本步骤,执行步骤S37。[0084]步骤S37去除封装后得到的数据包中的私有HEAD,将上网数据包进行还原,并将上网数据包发送到指定的接口:本步骤中,去除封装后得到的数据包中的私有head,完成对用户终端的上网数据包的还原操作,还原后,将还原后的上网数据包发送到指定的接口,以保证审计程序可以获取到此数据内容。执行完本步骤,执行步骤S38。[0085]步骤S38将封装后得到的数据包进行丢弃:本步骤中,将原妬的抖表后侍到叫级做包进行丢弃处理。[0086]总之,本发明是通过软件实现用户的上网数据包的镜像功能,配合完成对用户上网数据的网络安全审计工作,其对HOST设备的性能消耗较低、对HOST设备的用户体验无影响、降低部署成本、对于小场所更容易落地实施。在实际应用中,在要求不高的情况下,也可以通过如下方式来实现:通过修改原始数据的源MAC和目的MAC地址,达到镜像终端数据的功能。具体方法是,注册HOOK函数PREROUTING和POSTROUTING。当有用户终端的上网数据包时,复制一份,同时将用户终端的上网数据包中的源MAC修改为HOST的MAC地址,目的MAC修改为硬件审计模块的MAC地址,并将该报文终端的上网数据包从指定接口发出。硬件审计模块接收到该报文,无需做任何处理。该方案需要修改报文的以太头,破坏了原始上网数据包的完整性,导致审计程序无法通过原始上网数据包直接获取用户终端的MAC信息,需要通过其他手段辅助获取,相对来说比较麻烦。[0087]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

权利要求:1.一种基于私有HEAD的数据镜像方法,其特征在于,应用于公安系统的网络安全审计系统,所述网络安全审计系统包括用户终端、HOST设备、审计硬件模块和审计服务器,所述用户终端通过无线方式连接所述HOST设备,所述HOST设备与所述审计硬件模块连接,所述审计硬件模块通过网关与所述审计服务器连接,所述HOST设备中设有AH模块,所述审计硬件模块中设有AS模块,所述方法包括如下步骤:A所述用户终端访问互联网;B所述AH模块对所述用户终端访问互联网的上网数据包进行识别,复制满足条件的上网数据包,并在其前部增加私有ffiAD进行封装处理,将封装后得到的数据包发送给审计硬件模块;所述HOST设备和审计硬件模块均存在自己的固定网络地址;C所述审计硬件模块收到所述封装后得到的数据包后,所述AS模块对所述封装后得到的数据包进行解封装处理;D所述审计硬件模块对解封装后的数据包进行网络安全审计,丢弃掉无用的数据包,并将有用的数据包转换成符合各地市公安的要求标准的数据,并通过网络上报到指定的所述审计服务器。2.根据权利要求1所述的基于私有HEAD的数据镜像方法,其特征在于,所述私有HEAD采用UDP协议进行封装处理,并把所述上网数据包作为数据内容封装在内,所述私有HEAD采用指定端口号。3.根据权利要求2所述的基于私有HEAD的数据镜像方法,其特征在于,所述步骤B进一步包括:B1所述AH模块初始化时,分别注册HOOK函数PREROUTING和POSTROUTING;B2当有所述终端的上网数据包时,检测所述上网数据包是否满足丢弃条件,如是,对所述上网数据包进行丢弃;否则,执行步骤B3;B3检测所述上网数据包是否满足镜像处理的条件,如是,执行步骤B4;否则,对所述上网数据包进行放行;B4对所述上网数据包进行限速处理,执行步骤B5;B5复制所述上网数据包;B6检测是否需要分片处理,如是,将所述上网数据包分为两个片段进行发送,执行步骤B7';否则,执行步骤B7;B7在所述上网数据包的前面添加所述私有HEAD得到所述封装后得到的数据包,执行步骤B8;B7'在每个所述片段的前面分别添加对应的私有HEAD,并在各自的私有HEAD的IP层置位分片标记得到所述封装后得到的数据包,执行步骤B8;B8将所述封装后得到的数据包通过指定接口发送给所述审计硬件模块,并对所述上网数据包进行放行处理。4.根据权利要求3所述的基于私有HEAD的数据镜像方法,其特征在于,所述丢弃条件包括:所述上网数据包的接口信息是WAN口,且所述上网数据包为ARP报文,询问的地址段是169•254•100•25430,或者所述上网数据包的接口信息是WAN口,且所述上网数据包为IP报文,所述IP报文中源IP为地址段169.254.100.25430。5.根据权利要求3所述的基于私有HEAD的数据镜像方法,其特征在于,满足所述镜像处理的条件包括:检测所述AH模块的功能是否开启,如果没有开启,则对所述上网数据包进行放行处理;检测所述上网数据包是否为IP报文,如果不是,则对所述上网数据包进行放行处理;检测所述上网数据包是否为LAN口,如不是,则对所述上网数据包进行放行处理;检测所述上网数据包的源MAC或目的MAC是否为所述审计硬件模块的MAC地址,如是,则对所述上网数据包进行放行处理;检测所述上网数据包的接口状态是否是UP,如不是,则对所述上网数据包进行放行处理。6.根据权利要求3所述的基于私有HEAD的数据镜像方法,其特征在于,所述限速处理采用令牌桶算法,令牌桶中的每一个令牌代表一个字节,所述步骤B4进一步包括:B41所述令牌桶中的令牌以固定速率添加;B42当一个n字节的上网数据包到达时,从所述令牌桶中删除n个所述令牌,若剩余的令牌小于n,则限制所述上网数据包;所述n为大于1的整数。7.根据权利要求1至6任意一项所述的基于私有HEAD的数据镜像方法,其特征在于,所述AS模块通过注册HOOK函数PREROUTING来捕获封装后得到的数据包,所述步骤0进一步包括:C1检测当前收到的是否是封装后得到的数据包,如是,执行步骤C2;否则,对所述上网数据包进行放行;C2检测所述封装后得到的数据包是否分片,如是,进行重组操作,执行步骤C3;否则,执行步骤C4;C3判断重组操作是否成功,如是,执行步骤C4;否则,执行步骤C6;C4对所述封装后得到的数据包进行复制,执行步骤C5;C5去除所述封装后得到的数据包中的私有HEAD,将所述上网数据包进行还原,并将所述上网数据包发送到指定的接口,执行步骤C6;C6将所述封装后得到的数据包进行丢弃。8.根据权利要求1至6任意一项所述的基于私有HEAD的数据镜像方法,其特征在于,注册到HOOK函数PREROUTING,若所述上网数据包中的接口名称为LAN口名称,则认为是所述终端的上行数据;若所述上网数据包中的接口名称为WAN口名称,则认为是所述终端的下行数据;注册到HOOK函数POSTROUTING,若所述上网数据包中的接□名称为LAN□名称,则认为是所述终端的下行数据;若所述上网数据包中的接口名称为WAN口名称,则认为是所述终端的上行数据。9.根据权利要求2所述的基于私有HEAD的数据镜像方法,其特征在于,所述指定端口号为5151。10.根据权利要求1所述的基于私有HEAD的数据镜像方法,其特征在于,所述HOST的固定网络地址为169.254.100.25030,所述审计硬件模块的固定网络地址为169.254.100.24930。

百度查询: 深圳云盈网络科技有限公司 基于私有HEAD的数据镜像方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。