一种网络包分流方法及装置制造方法及图纸

技术编号:39754679 阅读:8 留言:0更新日期:2023-12-17 23:53
本申请提供了一种网络包分流方法及装置

【技术实现步骤摘要】
一种网络包分流方法及装置、存储介质及电子设备


[0001]本申请涉及通信
,尤其涉及一种网络包分流方法及装置

存储介质及电子设备


技术介绍

[0002]虚拟专用网络
(virtual private network

VPN)
是一种建立在服务提供商公共网络上的专用网络

开通
VPN
业务的企业可以通过
VPN
网络进行数据传输

[0003]现有技术中,企业内的所有网络包全部通过
VPN
网络发送,导致需要消耗大量流量,从而增加企业成本


技术实现思路

[0004]本申请提供了一种网络包分流方法及装置

存储介质及电子设备,目的在于解决现有技术中存在的所有网络包全部通过
VPN
网络发送,导致需要消耗大量流量,从而增加企业成本的问题

[0005]为了实现上述目的,本申请提供了以下技术方案:一种网络包分流方法,应用于
Windows
筛选平台,包括:获取预设的分流配置;在驱动上下文中初始化预设的连接列表和所述分流配置中包括的进程路径列表;所述连接列表用于存储连接信息;若所述分流配置中的分流功能字段的配置信息表征开启按进程路径分流,则在所述
Windows
筛选平台的分配连接层注册第一回调函数,并在所述
Windows
筛选平台的网络包发送层注册第二回调函数;在建立网络连接的情况下,获取所述第一回调函数反馈的发起所述网络连接的目标进程的进程路径和连接信息;查找所述进程路径列表中与所述目标进程的进程路径相匹配的进程路径,得到查找结果;所述查找结果用于表征是否查找到相匹配的进程路径;判断所述查找结果是否满足过滤规则,若所述查找结果不满足过滤规则,则通过挂
spin
锁方式或
atomic
访问方式,将所述目标进程的连接信息写入至所述连接列表中;在获取到所述第二回调函数反馈的任意进程对应的网络包的情况下,通过挂
spin
锁方式或
atomic
访问方式,判断所述网络包的连接信息是否在所述连接列表中;若所述网络包的连接信息在所述连接列表中,则不通过
VPN
网络发送所述网络包;若所述网络包的连接信息不在所述连接列表中,则当所述网络包满足预设的过滤策略时,通过
VPN
网络发送所述网络包,当所述网络包满足预设的过滤策略时,通过
VPN
网络发送所述网络包

[0006]上述的方法,可选的,所述判断所述查找结果是否满足过滤规则,包括:判断所述查找结果是否与所述分流配置中的黑白名单字段的配置信息比对一致;
所述分流配置中的黑白名单字段的配置信息用于表征所述进程路径列表是否为白名单;若所述查找结果与所述分流配置中的黑白名单字段的配置信息比对一致,则确定出所述查找结果满足过滤规则;若所述查找结果与所述分流配置中的黑白名单字段的配置信息比对不一致,则确定出所述查找结果不满足过滤规则

[0007]上述的方法,可选的,还包括:若所述分流配置中的分流功能字段表征未开启按进程分流功能,则在所述
Windows
筛选平台的网络包发送层注册所述第二回调函数;接收所述第二回调函数反馈的网络包;当所述网络包满足预设的过滤策略时,通过
VPN
网络发送所述网络包,当所述网络包不满足预设的过滤策略时,不通过
VPN
网络发送所述网络包

[0008]上述的方法,可选的,所述通过
VPN
网络发送所述网络包,包括:将所述网络包发送至用户态,以便所述用户态加密所述网络包,并通过
VPN
网络发送加密后的网络包

[0009]上述的方法,可选的,所述在所述
Windows
筛选平台的分配连接层注册第一回调函数之后,还包括:在所述
Windows
筛选平台的关闭释放层注册第三回调函数;在释放端口资源时,若所述连接列表中存在连接信息,则将所述连接列表中的连接信息进行删除

[0010]上述的方法,可选的,所述连接信息包括二元组或五元组,所述在所述
Windows
筛选平台的关闭释放层注册第三回调函数,包括:若所述连接信息包括二元组,在所述
Windows
筛选平台的资源释放层注册第三回调函数;若所述连接信息包括五元组,在所述
Windows
筛选平台的关闭连接层注册第三回调函数

[0011]上述的方法,可选的,所述连接信息包括二元组或五元组,所述在所述
Windows
筛选平台的分配连接层注册第一回调函数,包括:若所述连接信息包括二元组,在所述
Windows
筛选平台的资源分配层注册第一回调函数;若所述连接信息包括五元组,在所述
Windows
筛选平台的授权连接层注册第一回调函数

[0012]一种网络包分流装置,应用于
Windows
筛选平台,包括:第一获取单元,用于获取预设的分流配置;初始化单元,用于在驱动上下文中初始化预设的连接列表和所述分流配置中包括的进程路径列表;所述连接列表用于存储连接信息;第一注册单元,用于若所述分流配置中的分流功能字段的配置信息表征开启按进程路径分流,则在所述
Windows
筛选平台的分配连接层注册第一回调函数,并在所述
Windows
筛选平台的网络包发送层注册第二回调函数;第二获取单元,用于在建立网络连接的情况下,获取所述第一回调函数反馈的发
起所述网络连接的目标进程的进程路径和连接信息;查找单元,用于查找所述进程路径列表中与所述目标进程的进程路径相匹配的进程路径,得到查找结果;所述查找结果用于表征是否查找到相匹配的进程路径;写入单元,用于判断所述查找结果是否满足过滤规则,若所述查找结果不满足过滤规则,则通过挂
spin
锁方式或
atomic
访问方式,将所述目标进程的连接信息写入至所述连接列表中;判断单元,用于在获取到所述第二回调函数反馈的任意进程对应的网络包的情况下,通过挂
spin
锁方式或
atomic
访问方式,判断所述网络包的连接信息是否在所述连接列表中;第一发送单元,用于若所述网络包的连接信息在所述连接列表中,则不通过
VPN
网络发送所述网络包;第二发送单元,用于若所述网络包的连接信息不在所述连接列表中,则当所述网络包满足预设的过滤策略时,通过
VPN
网络发送所述网络包,当所述网络包满足预设的过滤策略时,通过
VPN
网络发送所述网络包...

【技术保护点】

【技术特征摘要】
1.
一种网络包分流方法,其特征在于,应用于
Windows
筛选平台,包括:获取预设的分流配置;在驱动上下文中初始化预设的连接列表和所述分流配置中包括的进程路径列表;所述连接列表用于存储连接信息;若所述分流配置中的分流功能字段的配置信息表征开启按进程路径分流,则在所述
Windows
筛选平台的分配连接层注册第一回调函数,并在所述
Windows
筛选平台的网络包发送层注册第二回调函数;在建立网络连接的情况下,获取所述第一回调函数反馈的发起所述网络连接的目标进程的进程路径和连接信息;查找所述进程路径列表中与所述目标进程的进程路径相匹配的进程路径,得到查找结果;所述查找结果用于表征是否查找到相匹配的进程路径;判断所述查找结果是否满足过滤规则,若所述查找结果不满足过滤规则,则通过挂
spin
锁方式或
atomic
访问方式,将所述目标进程的连接信息写入至所述连接列表中;在获取到所述第二回调函数反馈的任意进程对应的网络包的情况下,通过挂
spin
锁方式或
atomic
访问方式,判断所述网络包的连接信息是否在所述连接列表中;若所述网络包的连接信息在所述连接列表,则不通过
VPN
网络发送所述网络包;若所述网络包的连接信息不在所述连接列表中,则当所述网络包满足预设的过滤策略时,通过
VPN
网络发送所述网络包,当所述网络包不满足预设的过滤策略时,不通过
VPN
网络发送所述网络包
。2.
根据权利要求1所述的网络包分流方法,其特征在于,所述判断所述查找结果是否满足过滤规则,包括:判断所述查找结果是否与所述分流配置中的黑白名单字段的配置信息比对一致;所述分流配置中的黑白名单字段的配置信息用于表征所述进程路径列表是否为白名单;若所述查找结果与所述分流配置中的黑白名单字段的配置信息比对一致,则确定出所述查找结果满足过滤规则;若所述查找结果与所述分流配置中的黑白名单字段的配置信息比对不一致,则确定出所述查找结果不满足过滤规则
。3.
根据权利要求1所述的网络包分流方法,其特征在于,还包括:若所述分流配置中的分流功能字段表征未开启按进程分流功能,则在所述
Windows
筛选平台的网络包发送层注册所述第二回调函数;接收所述第二回调函数反馈的网络包;当所述网络包满足预设的过滤策略时,通过
VPN
网络发送所述网络包,当所述网络包不满足预设的过滤策略时,不通过
VPN
网络发送所述网络包
。4.
根据权利要求1‑3任意一项所述的网络包分流方法,其特征在于,所述通过
VPN
网络发送所述网络包,包括:将所述网络包发送至用户态,以便所述用户态加密所述网络包,并通过
VPN
网络发送加密后的网络包
。5.
根据权利要求1所述的网络包分流方法,其特征在于,所述在所述
Windows
筛选平台的分配连接层注册第一回调函数之后,还包括:
在所述
Windows
筛选平台的关闭释放层注册第三回调函数;在释放端口资源时,...

【专利技术属性】
技术研发人员:刘金松施扬申习之
申请(专利权)人:成都卓拙科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1