CN108111619A - 一种数据分流方法及装置、计算机设备、存储介质 - Google Patents

一种数据分流方法及装置、计算机设备、存储介质 Download PDF

Info

Publication number
CN108111619A
CN108111619A CN201711464180.9A CN201711464180A CN108111619A CN 108111619 A CN108111619 A CN 108111619A CN 201711464180 A CN201711464180 A CN 201711464180A CN 108111619 A CN108111619 A CN 108111619A
Authority
CN
China
Prior art keywords
data
microsoft loopback
loopback adapter
sent
behalf
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711464180.9A
Other languages
English (en)
Other versions
CN108111619B (zh
Inventor
张韶
王盈盈
马煜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an Baopu Communication Technology Co Ltd
Raisecom Technology Co Ltd
Original Assignee
Xi'an Baopu Communication Technology Co Ltd
Raisecom Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xi'an Baopu Communication Technology Co Ltd, Raisecom Technology Co Ltd filed Critical Xi'an Baopu Communication Technology Co Ltd
Priority to CN201711464180.9A priority Critical patent/CN108111619B/zh
Publication of CN108111619A publication Critical patent/CN108111619A/zh
Application granted granted Critical
Publication of CN108111619B publication Critical patent/CN108111619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Abstract

本发明公开了一种数据分流方法及装置、计算机设备、存储介质,包括:在配置的虚拟网卡上,接收应用程序发往外部服务器的数据;读取虚拟网卡传输层及以上的数据;将不需要代理的数据经物理网卡转发到目的服务器,将需要代理的数据按协议处理后经物理网卡发送到代理服务器。采用本发明可以按照用户需求进行自定义分流规则,能够支持对所有的应用软件进行代理,支持对国外网络和企业网络进行代理,不会出现不能对国内国外流量进行分流的情况;能够支持多种代理协议或隧道协议,不会出现无法代理的情况。

Description

一种数据分流方法及装置、计算机设备、存储介质
技术领域
本发明涉及计算机通信技术领域,特别涉及一种数据分流方法及装置、计算机设备、存储介质。
背景技术
互联网的发展已经日趋完善,但是仍然存在网络不通畅的问题,比如国外IP和企业内网访问过慢等问题。
虽然一些针对网关和Linux设备的代理软件已经取得比较好的效果,然而在Windows平台上,尚未有完善的方案。
也即,现有技术的不足在于,在全局代理时不能分流和部分代理时不能对不支持代理的程序进行代理,具体如,对于类似微软商城的软件无法代理,不能对国内国外流量进行分流等。
发明内容
本发明提供了一种数据分流方法及装置、计算机设备、存储介质,用以解决全局代理时不能分流和部分代理时不能对不支持代理的程序进行代理的问题。
本发明实施例中提供了一种数据分流方法,包括:
在配置的虚拟网卡上,接收应用程序发往外部服务器的数据;
读取虚拟网卡传输层及以上的数据;
将不需要代理的数据经物理网卡转发到目的服务器,将需要代理的数据按协议处理后经物理网卡发送到代理服务器。
较佳地,进一步包括:
接收从物理网卡发来的数据;
在根据套接字连接确定发来的数据是需要代理的数据时,在对该报文进行解密后经虚拟网卡发往相应的应用程序,在根据套接字连接确定发来的数据是不需要代理的数据时,经虚拟网卡发往相应的应用程序。
较佳地,经虚拟网卡发往相应的应用程序,是在虚拟网卡收到数据后,按Windows系统协议栈要求将数据送达相应的应用程序。
较佳地,读取虚拟网卡传输层及以上的数据时,进一步包括:
丢弃传输层及以下的数据。
较佳地,传输层及以上的层的数据包括基于TCP和UDP协议的所有的应用层协议传输的数据。
较佳地,进行如下配置以使应用程序发往外部服务器的数据发送至虚拟网卡:
配置虚拟网卡地址;
在系统路由配置表中添加两条永久路由,其中,两条永久路由的目的IP段是固定不变的,且默认网关地址与虚拟网卡地址在同一网段。
较佳地,在系统路由配置表中添加的两条永久路由,是在虚拟网卡启动后以覆盖默认路由的方式添加的。
较佳地,所述虚拟网卡是通过调用Windows系统命令进行配置的。
较佳地,进行如下配置用以判断数据是否需要代理:
导入分流规则文件,其中,分流规则文件中包括:不需要代理的IP段和域名列表以及需要代理的IP段和域名列表。
较佳地,在按分流规则文件对数据进行匹配时,优先匹配需要代理的数据。
本发明实施例中提供了一种数据分流装置,包括:
虚拟网卡,用于接收应用程序发往外部服务器的数据;
全局代理软件,用于配置的虚拟网卡,读取虚拟网卡传输层及以上的数据,将不需要代理的数据经物理网卡转发到目的服务器,将需要代理的数据按协议处理后经物理网卡发送到代理服务器。
较佳地,全局代理软件进一步用于接收从物理网卡发来的数据;在根据套接字连接确定发来的数据是需要代理的数据时,在对该报文进行解密后经虚拟网卡发往相应的应用程序,在根据套接字连接确定发来的数据是不需要代理的数据时,经虚拟网卡发往相应的应用程序。
本发明实施例中提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明实施例中提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本发明有益效果如下:
在本发明实施例提供的技术方案中,由于使用配置的虚拟网卡,使得应用程序发往外部服务器的数据只能发往虚拟网卡,并能够按照需要的分流规则针对数据是否需要代理进行分流,从而可以按照用户需求进行自定义分流规则,能够支持对所有的应用软件进行代理,支持对国外网络和企业网络进行代理,不会出现不能对国内国外流量进行分流的情况;也由于分流的是虚拟网卡传输层及以上的数据,因此能够支持多种代理协议或隧道协议,不会出现无法代理的情况。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中数据分流方法实施流程示意图;
图2为本发明实施例中数据分流时网络功能结构示意图;
图3为本发明实施例中数据分流装置结构示意图。
具体实施方式
发明人在发明过程中注意到:
在Windows平台上,代理软件主要分为HTTP(HyperText Transfer Protocol,超文本传输协议)代理和VPN(Virtual Private Network,虚拟专用网络)代理。
1、HTTP代理存在以下问题:
只能对某些使用HTTP协议的软件进行代理,不支持FTP(File TransferProtocol,文件传输协议),SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)等协议。
HTTP代理对于类似微软商城的软件无法代理,因为该类软件采用沙盒模式运行,无法捕捉到其网络数据。
2、VPN代理存在以下问题:
PPTP(Point to Point Tunneling Protocol,点对点隧道协议),L2TP(Layer TwoTunneling Protocol,第二层通道协议)等协议由于流量统计特征明显,容易被防火墙拦截。由于没有完善的分流措施,因而一般是用路由表分流,把企业专网的IP段添加到路由表,用于访问企业内网资源。而路由表添加条目数量有限制,因此不能对国内国外流量进行分流。
本发明实施例中提出了一种新的全局代理及分流方案,考虑传统VPN代理和HTTP代理的特点,并根据分流规则文件进行分流,解决访问所有网络资源的问题,从而可以有效的减少代理服务器的负担。下面结合附图对本发明的具体实施方式进行说明。
图1为数据分流方法实施流程示意图,如图所示,可以包括:
步骤101、在配置的虚拟网卡上,接收应用程序发往外部服务器的数据;
步骤102、读取虚拟网卡传输层及以上的数据;
步骤103、将不需要代理的数据经物理网卡转发到目的服务器,将需要代理的数据按协议处理后经物理网卡发送到代理服务器。
上述是应用程序发出数据的分流处理,下面针对接收数据的实施,还可以进一步包括:
接收从物理网卡发来的数据;
在根据套接字连接确定发来的数据是需要代理的数据时,在对该报文进行解密后经虚拟网卡发往相应的应用程序,在根据套接字连接确定发来的数据是不需要代理的数据时,经虚拟网卡发往相应的应用程序。
具体的,由于发出的数据与代理服务器或目的服务器之间有套接字连接,因此代理服务器或目的服务器返回的报文在通过物理网卡接收时,可以根据套接字进行判断,如果判断该报文是代理报文则对该报文进行解密,发送解密后的报文到虚拟网卡;如果是非代理报文则不解密,直接发送到虚拟网卡。
实施中,经虚拟网卡发往相应的应用程序,可以是在虚拟网卡收到数据后,按Windows系统协议栈要求将数据送达相应的应用程序。也即,虚拟网卡收到报文后,Windows系统协议栈会将报文送达应用程序。
步骤102实施中,在读取虚拟网卡传输层及以上的数据时,还可以进一步包括:
丢弃传输层及以下的数据。
实施中,传输层及以上的层的数据包括基于TCP和UDP协议的所有的应用层协议传输的数据。
具体的,读取虚拟网卡的传输层及以上数据报文,包括基于TCP(TransmissionControl Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)协议的所有的应用层协议,比如HTTP(HyperText Transfer Protocol,超文本传输协议)、FTP(File Transfer Protocol,文件传输协议)、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)和DNS(Domain Name System,域名系统)等;将传输层以下协议,比如ICMP(Internet Control Message Protocol,Internet控制报文协议)等数据报文丢弃。
实施中,进行如下配置以使应用程序发往外部服务器的数据发送至虚拟网卡:
配置虚拟网卡地址;
在系统路由配置表中添加两条永久路由,其中,两条永久路由的目的IP段是固定不变的,且默认网关地址与虚拟网卡地址在同一网段。
实施中,在系统路由配置表中添加的两条永久路由,是在虚拟网卡启动后以覆盖默认路由的方式添加的。
实施中,所述虚拟网卡是通过调用Windows系统命令进行配置的。
具体的,虚拟网卡,也可称虚拟网络适配器,即用软件模拟网络环境,模拟网络适配器,通常windows系统自带此软件,实施中,进入添加硬件向导,添加新硬件,检测过后选择添加新设备,再选择从列表中选取,选中网卡下一步,查找制造商Microsoft有一个设备Microsoft Loopback Adapter,选中它,安装完成后,查看硬件管理器,会多出一个新网卡,这就是虚拟网卡。实施中也可以使用其他方式,例如使用OpenVPN开源项目里的Tap-Windows创建虚拟网络适配器,也可以使用SofteherVPN开源项目提供的虚拟网卡安装程序等等。当然,也可以自己编写虚拟网卡驱动来创建虚拟网卡。
实施中,进行如下配置用以判断数据是否需要代理:
导入分流规则文件,其中,分流规则文件中包括:不需要代理的IP段和域名列表以及需要代理的IP段和域名列表。
实施中,在按分流规则文件对数据进行匹配时,优先匹配需要代理的数据。
下面用实例对上述方案的实施进行说明。
实例中设计了一种基于Windows平台的全局代理及分流方案。方案中,为了便于理解,设计一软件实现分流方案,将其命名为:全局代理软件,该软件主要行使分流功能,则在实施中用户只需要启动全局代理软件,就能自动完成网络配置,通过全局代理软件访问网络。实例可以对所有传输层及以上的网络流量进行代理,而对应用软件本身而言是透明的。
图2为数据分流时网络功能结构示意图,如图所示,应用软件与虚拟网卡相连,收发的数据对象是虚拟网卡,虚拟网卡与全局代理软件相连,全局代理软件与物理网卡相连,并按照分流规则文件进行分流,分流的数据经物理网卡与目的服务器2,以及需要代理服务器的目的服务器1交互。
下面对全局代理软件下的数据分流具体流程进行详细说明。
1、全局代理软件安装过程中自动安装虚拟网卡,也可以调用第三方软件或是Windows系统命令配置虚拟网卡。
2、安装程序对虚拟网卡进行两项配置:
(1)调用Windows系统命令给虚拟网卡重命名,例如RSpeedoVPN,在对虚拟网卡进行调用操作要使用此名称,比如IP配置,开启和关闭虚拟网卡等;
(2)调用Windows系统命令给虚拟网卡配置私有IP地址和子网掩码,例如IP地址10.0.0.1和子网掩码255.255.255.0。
3、路由配置表中的两条路由目的IP段是固定不变的,默认网关地址只要和虚拟网卡地址在同一网段即可。也即,进行如下配置以使应用程序发往外部服务器的数据发送至虚拟网卡:
配置虚拟网卡地址;
在系统路由配置表中添加两条永久路由,其中,两条永久路由的目的IP段是固定不变的,且默认网关地址与虚拟网卡地址在同一网段。
具体可以如下表1所示:
表1:路由配置表
目的IP段 默认网关
0.0.0.0/1 私有地址(需和虚拟网卡IP在同一网段,例如10.0.0.2)
128.0.0.0/1 私有地址(需和虚拟网卡IP在同一网段,例如10.0.0.2)
安装程序仅添加路由配置表中的两条永久路由到系统路由,不添加或修改其他任何路由。虚拟网卡不启动时,上述两条路由不生效,虚拟网卡启动时,上述两条永久路由变成活动路由并自动生效。也即,在系统路由配置表中添加的两条永久路由,是在虚拟网卡启动后以覆盖默认路由的方式添加的。
采用上述两条路由覆盖默认路由而不是直接修改默认路由的原因主要有:
直接修改默认路由需要管理员权限,用户每次启动和关闭软件必须拥有管理员权限;
直接修改默认路由导流会导致系统网络连接图标异常。
4、用户启动全局代理软件后,自动从导入分流规则文件。
也即,进行如下配置用以判断数据是否需要代理:
导入分流规则文件,其中,分流规则文件中包括:不需要代理的IP段和域名列表以及需要代理的IP段和域名列表。具体分流规则可以如下所示:
[proxy_all]
[bypass_list]
1.0.1.0/24
223.0.0.0/12
(^|\.)youtube\.com
[proxy_list]
172.16.0.0/16
(^|\.)twitter\.com
(^|\.)goolge\.com
如上,该文件分为两个部分,[bypass_list]是指获取或设置一个地址数组,这些地址不使用代理服务器,[proxy_list]是指获取或设置一个地址数组,这些地址使用代理服务器。[bypass_list]是不需要代理的IP段和域名列表,[proxy_list]是需要代理的IP段和域名列表。分流规则文件导入完成后,全局代理软件对文件解析内容,对IP段和域名进行分类和排序,方便在分流时,对IP和域名进行二分查找算法快速匹配。
5、点击全局代理软件加速按钮,启动虚拟网卡。
路由配置表中的两条路由自动生效,覆盖系统默认路由,因为0.0.0.0/1和128.0.0.0/1两个网段的组合后等同0.0.0.0/0,因此可完全覆盖默认路由。默认网关的地址是一个虚拟的不存在的地址,只要与虚拟网卡地址在同一网段即可。由此,应用程序流量都被导向虚拟网卡。这里所述的应用程序是指Windows平台上的所有应用程序。
6、全局代理软件读取虚拟网卡的传输层及以上数据报文,包括基于TCP和UDP协议的所有的应用层协议,比如HTTP、FTP、SMTP和DNS等;将传输层以下协议,比如ICMP等数据报文丢弃。将需要分流的数据报文根据分流规则分流,以减轻代理服务器的压力。
7、分流规则。
优先匹配[proxy_list](需要代理),再匹配[bypass_list](不需要代理)。[proxy_list]和[bypass_list]中优先匹配IP地址,再匹配域名。IP采用精确匹配,需要在某个具体的IP段内;域名采用关键字模糊匹配,比如不进行代理的名单中有“goolge.com”,则“goolge.com.hk”和“google.com.jp”都会认为匹配成功。如果[proxy_list]和[bypass_list]都匹配失败,则默认代理。
8、全局代理软件把不需要代理的流量,直接把数据转发到目的服务器,;对于需要代理的流量,把数据封装成SOCK5报文,或L2TP(Layer Two Tunneling Protocol,第二层通道协议)、IPSec(Internet Protocol Security,Internet协议安全性)、PPTP(Point toPoint Tunneling Protocol,点对点隧道协议)等协议的报文,并进行加密,发送到代理服务器,代理服务器解密并解析报文头,转发到目的服务器,如图中的红色箭头所示。
9、由于全局代理软件与代理服务器或目的服务器之间有套接字连接,因此代理服务器或目的服务器返回的报文会通过物理网卡被全局代理软件接收。全局代理软件如果判断该报文是代理报文则对该报文进行解密,发送解密后的报文到虚拟网卡;如果是非代理报文则不解密,直接发送到虚拟网卡。
10、虚拟网卡收到报文后,Windows系统协议栈会将报文送达应用程序。
11、全局代理软件退出时,关闭虚拟网卡,路由配置表中的两条永久路由自动失效,默认路由生效,恢复到原Windows默认报文处理模式。
基于同一发明构思,本发明实施例中还提供了一种数据分流装置、一种计算机设备、一种计算机可读存储介质,由于这些设备解决问题的原理与一种数据分流方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
图3为数据分流装置结构示意图,如图所示,可以包括:
虚拟网卡301,用于接收应用程序发往外部服务器的数据;
全局代理软件302,用于配置的虚拟网卡,读取虚拟网卡传输层及以上的数据,将不需要代理的数据经物理网卡转发到目的服务器,将需要代理的数据按协议处理后经物理网卡发送到代理服务器。
实施中,全局代理软件进一步用于接收从物理网卡发来的数据;在根据套接字连接确定发来的数据是需要代理的数据时,在对该报文进行解密后经虚拟网卡发往相应的应用程序,在根据套接字连接确定发来的数据是不需要代理的数据时,经虚拟网卡发往相应的应用程序。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
在实施本发明实施例提供的技术方案时,可以按如下方式实施。
本发明实施例中还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下所述方法:
在配置的虚拟网卡上,接收应用程序发往外部服务器的数据;
读取虚拟网卡传输层及以上的数据;
将不需要代理的数据经物理网卡转发到目的服务器,将需要代理的数据按协议处理后经物理网卡发送到代理服务器。
实施中,进一步包括:
接收从物理网卡发来的数据;
在根据套接字连接确定发来的数据是需要代理的数据时,在对该报文进行解密后经虚拟网卡发往相应的应用程序,在根据套接字连接确定发来的数据是不需要代理的数据时,经虚拟网卡发往相应的应用程序。
实施中,经虚拟网卡发往相应的应用程序,是在虚拟网卡收到数据后,按Windows系统协议栈要求将数据送达相应的应用程序。
实施中,读取虚拟网卡传输层及以上的数据时,进一步包括:
丢弃传输层及以下的数据。
实施中,传输层及以上的层的数据包括基于TCP和UDP协议的所有的应用层协议传输的数据。
实施中,进行如下配置以使应用程序发往外部服务器的数据发送至虚拟网卡:
配置虚拟网卡地址;
在系统路由配置表中添加两条永久路由,其中,两条永久路由的目的IP段是固定不变的,且默认网关地址与虚拟网卡地址在同一网段。
实施中,在系统路由配置表中添加的两条永久路由,是在虚拟网卡启动后以覆盖默认路由的方式添加的。
实施中,所述虚拟网卡是通过调用Windows系统命令进行配置的。
实施中,进行如下配置用以判断数据是否需要代理:
导入分流规则文件,其中,分流规则文件中包括:不需要代理的IP段和域名列表以及需要代理的IP段和域名列表。
实施中,在按分流规则文件对数据进行匹配时,优先匹配需要代理的数据。
本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述数据分流方法的计算机程序。具体可以参见上述计算机设备的实施。
综上所述,在本发明实施例提供的技术方案中,提供了通过添加永久路由向虚拟网卡导流的方案。
进一步的,采用添加路由配置表中的两条永久路由进行导流,替代操作系统默认路由,能够让Windows系统网络连接图标显示正常。如果采用其他方式进行导流,会导致Windows系统网络连接图标显示异常。
可以通过软件来开启或关闭虚拟网卡控制分流,且不需要管理员权限,例如实例中的全局代理软件。
采用的匹配规则支持IP和域名,域名采用模糊匹配,匹配前,对IP和域名进行排序,可以采用折半查找算法加速匹配。
方案中能够对传输层及以上的所有应用程序的数据报文进行分流。
并且支持SOCK5、L2TP、IPSec、PPTP等多种协议转发代理报文。
可以看出,本方案操作便利,例如采用例中的软件方式,可以一键安装,自动配置虚拟网卡和路由表,代理模式和非代理模式切换简单。
本方案可以灵活分流:可以按照用户需求进行自定义分流规则,在企业应用场景,可进行个性化定制,在线分发规则。分流可以有效的减少代理服务器的负担,把不需要代理的流量直接发送到目的服务器。
本方案能够支持多种应用协议:支持基于TCP和UDP协议的所有应用层协议,包括HTTP,FTP,SMTP和DNS等。支持对所有的应用软件进行代理。支持对国外网络和企业网络进行代理。
支持多种代理协议或隧道协议:如SOCKS5、L2TP、IPSec、PPTP等。
本方案通用性强:全局代理软件在Windows XP及以后的Windows系统都适用。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种数据分流方法,其特征在于,包括:
在配置的虚拟网卡上,接收应用程序发往外部服务器的数据;
读取虚拟网卡传输层及以上的数据;
将不需要代理的数据经物理网卡转发到目的服务器,将需要代理的数据按协议处理后经物理网卡发送到代理服务器。
2.如权利要求1所述的方法,其特征在于,进一步包括:
接收从物理网卡发来的数据;
在根据套接字连接确定发来的数据是需要代理的数据时,在对该报文进行解密后经虚拟网卡发往相应的应用程序,在根据套接字连接确定发来的数据是不需要代理的数据时,经虚拟网卡发往相应的应用程序。
3.如权利要求2所述的方法,其特征在于,经虚拟网卡发往相应的应用程序,是在虚拟网卡收到数据后,按Windows系统协议栈要求将数据送达相应的应用程序。
4.如权利要求1所述的方法,其特征在于,读取虚拟网卡传输层及以上的数据时,进一步包括:
丢弃传输层及以下的数据。
5.如权利要求1所述的方法,其特征在于,传输层及以上的层的数据包括基于TCP和UDP协议的所有的应用层协议传输的数据。
6.如权利要求1至5任一所述的方法,其特征在于,进行如下配置以使应用程序发往外部服务器的数据发送至虚拟网卡:
配置虚拟网卡地址;
在系统路由配置表中添加两条永久路由,其中,两条永久路由的目的IP段是固定不变的,且默认网关地址与虚拟网卡地址在同一网段。
7.如权利要求6所述的方法,其特征在于,在系统路由配置表中添加的两条永久路由,是在虚拟网卡启动后以覆盖默认路由的方式添加的。
8.如权利要求6所述的方法,其特征在于,所述虚拟网卡是通过调用Windows系统命令进行配置的。
9.如权利要求1至5任一所述的方法,其特征在于,进行如下配置用以判断数据是否需要代理:
导入分流规则文件,其中,分流规则文件中包括:不需要代理的IP段和域名列表以及需要代理的IP段和域名列表。
10.如权利要求9所述的方法,其特征在于,在按分流规则文件对数据进行匹配时,优先匹配需要代理的数据。
11.一种数据分流装置,其特征在于,包括:
虚拟网卡,用于接收应用程序发往外部服务器的数据;
全局代理软件,用于配置的虚拟网卡,读取虚拟网卡传输层及以上的数据,将不需要代理的数据经物理网卡转发到目的服务器,将需要代理的数据按协议处理后经物理网卡发送到代理服务器。
12.如权利要求11所述的装置,其特征在于,全局代理软件进一步用于接收从物理网卡发来的数据;在根据套接字连接确定发来的数据是需要代理的数据时,在对该报文进行解密后经虚拟网卡发往相应的应用程序,在根据套接字连接确定发来的数据是不需要代理的数据时,经虚拟网卡发往相应的应用程序。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10任一所述方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至10任一所述方法的计算机程序。
CN201711464180.9A 2017-12-28 2017-12-28 一种数据分流方法及装置、计算机设备、存储介质 Active CN108111619B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711464180.9A CN108111619B (zh) 2017-12-28 2017-12-28 一种数据分流方法及装置、计算机设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711464180.9A CN108111619B (zh) 2017-12-28 2017-12-28 一种数据分流方法及装置、计算机设备、存储介质

Publications (2)

Publication Number Publication Date
CN108111619A true CN108111619A (zh) 2018-06-01
CN108111619B CN108111619B (zh) 2021-08-24

Family

ID=62214268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711464180.9A Active CN108111619B (zh) 2017-12-28 2017-12-28 一种数据分流方法及装置、计算机设备、存储介质

Country Status (1)

Country Link
CN (1) CN108111619B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639554A (zh) * 2018-12-26 2019-04-16 山东有人信息技术有限公司 一种远程vlan实现方法
CN109818820A (zh) * 2018-12-21 2019-05-28 上海瑞家信息技术有限公司 流量数据监控方法、装置、电子设备及存储介质
CN109889448A (zh) * 2019-03-25 2019-06-14 武汉思普崚技术有限公司 一种网络流量的分流方法及装置
CN111314499A (zh) * 2020-02-17 2020-06-19 深信服科技股份有限公司 一种域名代理方法、装置、设备及可读存储介质
CN111490939A (zh) * 2020-03-30 2020-08-04 苏州瑞立思科技有限公司 一种支持高级策略配置高性能的windows网卡驱动方法
CN111786869A (zh) * 2019-04-04 2020-10-16 厦门网宿有限公司 一种服务器之间的数据传输方法及服务器
CN111786868A (zh) * 2019-04-04 2020-10-16 厦门网宿有限公司 服务器之间的数据传输方法及strongswan服务器
CN112073505A (zh) * 2020-09-04 2020-12-11 优刻得科技股份有限公司 在云服务器上进行卸载的方法、控制装置、存储介质
CN112398685A (zh) * 2020-11-04 2021-02-23 腾讯科技(深圳)有限公司 基于移动终端的主机设备加速方法、装置、设备及介质
CN112887444A (zh) * 2021-01-19 2021-06-01 网宿科技股份有限公司 一种vpn网络的请求处理方法、客户端设备及系统
CN113055446A (zh) * 2021-02-24 2021-06-29 深圳竹云科技有限公司 零信任中保护应用流量的方法、装置及计算设备
CN113810380A (zh) * 2021-08-23 2021-12-17 杭州安恒信息安全技术有限公司 代理层次切换方法、系统、可读存储介质及计算机设备
CN113923273A (zh) * 2021-09-29 2022-01-11 深信服科技股份有限公司 一种数据包控制方法及相关装置
CN114422214A (zh) * 2021-12-31 2022-04-29 深信服科技股份有限公司 一种访问信息处理方法、装置、设备及计算机存储介质
CN114765580A (zh) * 2020-12-30 2022-07-19 腾讯科技(深圳)有限公司 域外网络资源的网络加速方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588918A (zh) * 2004-09-30 2005-03-02 西安西电捷通无线网络通信有限公司 一种柔性ip网络技术体系中移动节点的隧道实现方法
CN101459618A (zh) * 2009-01-06 2009-06-17 北京航空航天大学 虚拟机网络的数据包转发方法和装置
CN102065125A (zh) * 2010-11-18 2011-05-18 广州致远电子有限公司 一种嵌入式ssl vpn的实现方法
US20140201740A1 (en) * 2007-03-29 2014-07-17 Vmware, Inc. Software delivery for virtual machines
US20150142669A1 (en) * 2013-11-16 2015-05-21 Mads Landrok Virtual payment chipcard service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588918A (zh) * 2004-09-30 2005-03-02 西安西电捷通无线网络通信有限公司 一种柔性ip网络技术体系中移动节点的隧道实现方法
US20140201740A1 (en) * 2007-03-29 2014-07-17 Vmware, Inc. Software delivery for virtual machines
CN101459618A (zh) * 2009-01-06 2009-06-17 北京航空航天大学 虚拟机网络的数据包转发方法和装置
CN102065125A (zh) * 2010-11-18 2011-05-18 广州致远电子有限公司 一种嵌入式ssl vpn的实现方法
US20150142669A1 (en) * 2013-11-16 2015-05-21 Mads Landrok Virtual payment chipcard service

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TOZZ: "全局代理神器SSTAP(软件/游戏走代理)", 《百度》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109818820A (zh) * 2018-12-21 2019-05-28 上海瑞家信息技术有限公司 流量数据监控方法、装置、电子设备及存储介质
CN109639554A (zh) * 2018-12-26 2019-04-16 山东有人信息技术有限公司 一种远程vlan实现方法
CN109639554B (zh) * 2018-12-26 2022-01-21 山东有人物联网股份有限公司 一种远程vlan实现方法
CN109889448A (zh) * 2019-03-25 2019-06-14 武汉思普崚技术有限公司 一种网络流量的分流方法及装置
CN111786869B (zh) * 2019-04-04 2022-04-22 厦门网宿有限公司 一种服务器之间的数据传输方法及服务器
CN111786869A (zh) * 2019-04-04 2020-10-16 厦门网宿有限公司 一种服务器之间的数据传输方法及服务器
CN111786868A (zh) * 2019-04-04 2020-10-16 厦门网宿有限公司 服务器之间的数据传输方法及strongswan服务器
CN111786868B (zh) * 2019-04-04 2022-04-22 厦门网宿有限公司 服务器之间的数据传输方法及strongswan服务器
CN111314499A (zh) * 2020-02-17 2020-06-19 深信服科技股份有限公司 一种域名代理方法、装置、设备及可读存储介质
CN111314499B (zh) * 2020-02-17 2022-09-30 深信服科技股份有限公司 一种域名代理方法、装置、设备及可读存储介质
CN111490939A (zh) * 2020-03-30 2020-08-04 苏州瑞立思科技有限公司 一种支持高级策略配置高性能的windows网卡驱动方法
CN112073505A (zh) * 2020-09-04 2020-12-11 优刻得科技股份有限公司 在云服务器上进行卸载的方法、控制装置、存储介质
CN112398685B (zh) * 2020-11-04 2024-01-19 腾讯科技(深圳)有限公司 基于移动终端的主机设备加速方法、装置、设备及介质
CN112398685A (zh) * 2020-11-04 2021-02-23 腾讯科技(深圳)有限公司 基于移动终端的主机设备加速方法、装置、设备及介质
CN114765580A (zh) * 2020-12-30 2022-07-19 腾讯科技(深圳)有限公司 域外网络资源的网络加速方法、装置、设备及存储介质
CN114765580B (zh) * 2020-12-30 2023-11-03 腾讯科技(深圳)有限公司 域外网络资源的网络加速方法、装置、设备及存储介质
CN112887444A (zh) * 2021-01-19 2021-06-01 网宿科技股份有限公司 一种vpn网络的请求处理方法、客户端设备及系统
CN113055446B (zh) * 2021-02-24 2022-06-14 深圳竹云科技有限公司 零信任中保护应用流量的方法、装置及计算设备
CN113055446A (zh) * 2021-02-24 2021-06-29 深圳竹云科技有限公司 零信任中保护应用流量的方法、装置及计算设备
CN113810380A (zh) * 2021-08-23 2021-12-17 杭州安恒信息安全技术有限公司 代理层次切换方法、系统、可读存储介质及计算机设备
CN113810380B (zh) * 2021-08-23 2023-08-01 杭州安恒信息安全技术有限公司 代理层次切换方法、系统、可读存储介质及计算机设备
CN113923273A (zh) * 2021-09-29 2022-01-11 深信服科技股份有限公司 一种数据包控制方法及相关装置
CN114422214A (zh) * 2021-12-31 2022-04-29 深信服科技股份有限公司 一种访问信息处理方法、装置、设备及计算机存储介质
CN114422214B (zh) * 2021-12-31 2023-12-29 深信服科技股份有限公司 一种访问信息处理方法、装置、设备及计算机存储介质

Also Published As

Publication number Publication date
CN108111619B (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN108111619A (zh) 一种数据分流方法及装置、计算机设备、存储介质
CN103023898B (zh) 一种访问vpn服务端内网资源的方法及装置
RU2595517C2 (ru) Объекты виртуального сетевого интерфейса
US10237230B2 (en) Method and system for inspecting network traffic between end points of a zone
JP5740445B2 (ja) 遠隔サービスへのローカル安全なネットワークアクセスを提供する方法
EP3449599B1 (en) A data driven orchestrated network being responsive to environmental conditions using a light weight distributed controller
CN113950816A (zh) 使用边车代理机构提供多云微服务网关的系统和方法
CN111030912B (zh) 虚拟私有云vpc之间互通的方法
CN106031118A (zh) 云服务安全中介和代理
US10778465B1 (en) Scalable cloud switch for integration of on premises networking infrastructure with networking services in the cloud
JP7416919B2 (ja) データ処理方法及び装置並びにコンピュータ記憶媒体
MX2008000175A (es) Arquitectura unificada para acceso remoto a una red.
JP2022032038A (ja) クラウドベースのセキュリティサービスのための大規模なローカル化
US8812693B2 (en) System and method of implementing aggregated virtual private network (VPN) settings through a simplified graphical user interface (GUI)
CN105939239A (zh) 虚拟网卡的数据传输方法及装置
CN104040538B (zh) 一种互联网应用交互方法、装置及系统
CN109768906B (zh) 一种子网专线配置方法及装置
US20020103878A1 (en) System for automated configuration of access to the internet
CN109617753A (zh) 一种网络平台管理方法、系统及电子设备和存储介质
CN108390795A (zh) 家电设备及其监控方法、智慧家居系统及可读存储介质
CN111818081A (zh) 虚拟加密机管理方法、装置、计算机设备和存储介质
EP3836487A1 (en) Internet access behavior management system, device and method
US20150100625A1 (en) Data Transmission System
CN113660177A (zh) 一种流量控制方法、装置、系统及可读存储介质
CN107135096B (zh) 堡垒机出口链路优化系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant