CN115085953A - 一种内网访问方法、装置、设备及计算机可读存储介质 - Google Patents
一种内网访问方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115085953A CN115085953A CN202110266158.3A CN202110266158A CN115085953A CN 115085953 A CN115085953 A CN 115085953A CN 202110266158 A CN202110266158 A CN 202110266158A CN 115085953 A CN115085953 A CN 115085953A
- Authority
- CN
- China
- Prior art keywords
- data packet
- intranet
- encapsulated
- encapsulated data
- protocol
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 230000005540 biological transmission Effects 0.000 claims description 64
- 230000015654 memory Effects 0.000 claims description 53
- 238000004891 communication Methods 0.000 claims description 33
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000003993 interaction Effects 0.000 description 7
- 238000005538 encapsulation Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种内网访问方法、装置、设备及计算机可读存储介质,涉及云技术领域;该方法包括:通过虚拟流量代理设备接收终端发送的封装数据包;封装数据包是由终端通过虚拟网卡设备所拦截到的应用数据包进行封装得到的;基于封装数据包对应的协议类型,分通道将封装数据包传输给内网服务设备;通过内网服务设备对封装数据包进行解封装,得到应用数据包,并从应用数据包中提取出身份信息;当身份信息认证通过时,通过内网服务设备响应应用数据包中的内网访问请求,建立与终端之间的内网访问连接。通过本申请,能够提高云技术中的内网访问的便捷程度。
Description
技术领域
本申请涉及云技术,尤其涉及一种内网访问方法、装置、设备及计算机可读存储介质。
背景技术
全尺寸办公是指既可以在工作地点办公,也可以在非工作地办公,例如,在居住地、室外等地点通过网络来进行办公。全尺寸办公的前提是用户可以通过外网顺利地访问到内网,以实现与内网的资源交互。相关技术中,用户在通过移动终端访问内网时,需要在第一次访问时需要VPN代理进行配置,而VPN代理的配置过程相当复杂且繁琐,从而使得内网访问的便捷程度较低。
发明内容
本申请实施例提供一种内网访问方法、装置、设备及计算机可读存储介质,能够提高内网访问的便捷程度,扩大内网访问的数据包类型范围。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种内网访问方法,包括:
通过虚拟流量代理设备接收终端发送的封装数据包;所述封装数据包是由所述终端通过虚拟网卡设备所拦截到的应用数据包进行封装得到的;
基于所述封装数据包对应的协议类型,分通道将所述封装数据包传输给内网服务设备;
通过所述内网服务设备对所述封装数据包进行解封装,得到应用数据包,并从所述应用数据包中提取出身份信息;
当所述身份信息认证通过时,通过所述内网服务设备响应所述应用数据包中的内网访问请求,建立与所述终端之间的内网访问连接。
在本申请的一些实施例中,所述通过所述内网服务设备对所述封装数据包进行解封装,得到应用数据包,包括:
通过所述内网服务设备将所述封装数据包中的各个协议头逐层去除,直至得到不包含协议头的数据体;所述各个协议头表征了传输时的附加信息;
将所述不包含协议头的数据体作为所述应用数据包。
本申请实施例提供一种内网访问方法,包括:
当检测到包含应用程序的内网访问请求和身份信息的应用数据包时,通过虚拟网卡设备对所述应用数据包进行拦截;
通过所述虚拟网卡设备对所述应用数据包进行封装,得到封装数据包;
通过通信接口插件,将所述封装数据包发送至服务器,以使所述服务器根据所述封装数据包对应的协议类型,确定所述封装数据包的传输方式,依据所述传输方式,将所述封装数据包传输给内网服务设备,通过内网服务设备对所述封装数据包解封装得到应用数据包,从所述应用数据包中提取出身份信息,并在所述身份信息认证通过时,响应于所述应用数据包中的内网访问请求,建立内网访问连接。
在本申请的一些实施例中,所述至少一个接口插件包括:网络通信接口插件和虚拟专用网络代理服务插件。
本申请实施例提供一种内网访问装置,包括:
数据接收模块,用于通过虚拟流量代理设备接收终端发送的封装数据包;所述封装数据包是由所述终端通过虚拟网卡设备所拦截到的应用数据包进行封装得到的;
数据传输模块,用于基于所述封装数据包对应的协议类型,分通道将所述封装数据包传输给内网服务设备;
数据解封模块,用于通过所述内网服务设备对所述封装数据包进行解封装,得到应用数据包,并从所述应用数据包中提取出身份信息;
连接建立模块,用于当所述身份信息认证通过时,通过所述内网服务设备响应所述应用数据包中的内网访问请求,建立与所述终端之间的内网访问连接。
在本申请的一些实施例中,所述数据传输模块,还用于当所述封装数据包对应的协议类型属于无连接协议时,将所述封装数据包直接发送给所述内网服务设备,以将所述封装数据包分通道传输给所述内网服务设备;当所述封装数据包对应的协议类型属于面向连接协议时,通过网关将所述封装数据包转发给所述内网服务设备,以将所述封装数据包分通道传输给所述内网服务设备。
在本申请的一些实施例中,所述数据传输模块,还用于当所述封装数据包对应的协议类型属于除所述无连接协议和所述面向连接协议之外的其他协议类型时,对所述封装数据包进行协议转换,得到转换后的数据包;其中,所述转换后的数据包对应的协议类型为所述无连接协议和所述面向连接协议中的任意一种,所述无连接协议包括用户数据报协议,所述面向连接协议包括传输控制协议,所述其他协议类型包括网际互连协议;依据所述转换后的数据包对应的协议类型,确定出所述转换后的数据包对应的匹配传输方式,并依据所述匹配传输方式将所述转换后的数据包发送给所述内网服务设备,以将所述封装数据包分通道传输给所述内网服务设备。
在本申请的一些实施例中,所述数据传输模块,还用于对所述虚拟流量代理设备与所述网关进行三次握手,在握手成功时建立所述虚拟流量代理设备与所述网关之间的本地连接;
所述数据传输模块,还用于通过所述本地连接,将所述封装数据包传输给所述网关;通过所述网关,将所述封装数据包转发给所述内网服务设备。
在本申请的一些实施例中,所述数据解封模块,还用于通过所述内网服务设备将所述封装数据包中的各个协议头逐层去除,直至得到不包含协议头的数据体;所述各个协议头表征了传输时的附加信息;将所述不包含协议头的数据体作为所述应用数据包。
本申请实施例提供一种内网访问装置,包括:
数据拦截模块,用于当检测到包含应用程序的内网访问请求和身份信息的应用数据包时,通过虚拟网卡设备对所述应用数据包进行拦截;
数据封装模块,用于通过所述虚拟网卡设备对所述应用数据包进行封装,得到封装数据包;
数据发送模块,用于通过通信接口插件,将所述封装数据包发送至服务器,以使所述服务器根据所述封装数据包对应的协议类型,确定所述封装数据包的传输方式,依据所述传输方式,将所述封装数据包传输给内网服务设备,通过内网服务设备对所述封装数据包解封装得到应用数据包,从所述应用数据包中提取出身份信息,并在所述身份信息认证通过时,响应于所述应用数据包中的内网访问请求,建立内网访问连接。
在本申请的一些实施例中,所述通信接口插件包括:至少一个操作系统对应的至少一个接口插件;
所述数据发送模块,还用于依据操作系统,从所述至少一个操作系统对应的所述至少一个接口插件中,挑选出所述封装数据包对应的目标接口插件;利用所述封装数据包对应的目标接口插件,将所述封装数据包发送至所述服务器。
本申请实施例提供一种服务器,包括:
第一存储器,用于存储可执行内网访问指令;
第一处理器,用于执行所述第一存储器中存储的可执行内网访问指令时,实现本申请实施例服务器侧提供的内网访问方法。
本申请实施例提供一种终端,包括:
第二存储器,用于存储可执行内网访问指令;
第二处理器,用于执行所述第二存储器中存储的可执行内网访问指令时,实现本申请实施例终端侧提供的内网访问方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行内网访问指令,用于引起第一处理器执行时,实现本申请实施例服务器侧提供的内网访问方法;或者用于引起第二处理器执行时,实现本申请实施例终端侧提供的内网服务方法。
本申请实施例具有以下有益效果:服务器通过虚拟流量代理设备接收终端发送的封装数据包,由于封装数据包是终端通过虚拟网卡设备所拦截到的应用数据包进行封装得到的,实现了对应用数据包的全流量代理,使得用户可以在不进行任何配置的情况下就可以访问到内网,减少了内网访问时的配置准备,大大提高了内网访问的便捷程度;并且依据封装数据包的协议类型确定出对应的传输方式,从而实现为不同协议类型的封装数据包分通道处理,以实现对不同类型的流量均能成功访问内网,扩大了内网访问的数据包类型范围。
附图说明
图1是本申请实施例提供的内网访问系统100的一个可选的架构示意图;
图2是本申请实施例提供的服务器的结构示意图;
图3是本申请实施例提供的终端的结构示意图;
图4是本申请实施例提供的内网访问方法的一个可选的流程示意图一;
图5是本申请实施例提供的内网访问方法的一个可选的流程示意图二;
图6是本申请实施例提供的内网访问方法的一个可选的流程示意图三;
图7是本申请实施例提供的对封装数据包解封装的示意图;
图8是本申请实施例提供的内网访问的流量的流向示意图一;
图9是本申请实施例提供的内网访问的流量的流向示意图二。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、存储、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网络、图片类网站和更多门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标识,需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
2)内网,是指办公网,即公司内部所配置的局域网。一些公司为了保护内部资料不外泄,会配置局域网将公司内部的各个设备连接起来,以使得公司内部设备之间可以进行会话、资源共享,而公司外部的设备不会访问到内部资源。
3)外网,可以理解为互联网。任何具备接入外网条件的设备,都可以随时接入外网,从而,外网相比内网覆盖更加广泛。利用这一特点,公司员工可以随时随地通过外网来访问公司的内网,从而实现远程办公。
4)代理服务,负责转发个人网络和互联网之间的网络信息,并对转发进行控制和登记,其是个人网络和互联网之间的桥梁。
5)全流量代理,是指对所有的流量统一进行拦截并代理,即所有的数据包都是需要通过同一个代理发出。
6)流量拦截,即为对数据包进行拦截,这个数据包可以是终端所要接收的数据包,也可以是终端所要发出的数据包。
7)虚拟专用网络代理(Virtual Private Network,VPN)是一种模拟公用网络上的专用网络的机制,即指在公共网络上建立专用网络,进行加密通信,其中包括实施加密和身份验证以连接到网络并访问远程系统。VPN相比于代理更加安全。
全尺寸办公是指既可以在工作地点办公,也可以在非工作地办公,例如,在居住地、室外等地点通过网络来进行办公。全尺寸办公的前提是用户可以通过外网顺利地访问到内网,以实现与内网的资源交互。
移动终端具有携带便捷的特点,越来越多的用户选择了利用移动终端来进行办公。然而,相比于PC端,移动终端的计算资源和存储内存都较为低下,从而受限于计算资源和存储内存,移动终端全流量代理模式无法直接对所有的流量进行管理,而是会对移动终端处于内网还是外网进行判断,在移动终端处于内网时直接连接以进行资源访问,在移动终端处于外网时利用提前配置好的VPN代理进行资源访问。并且,在利用VPN代理时,会对数据包的类型进行判断,当数据包为传输控制协议(Transmission Control Protocol,TCP)类型或用户数据报协议(User Datagram Protocol,UDP)类型时,会按照TCP协议或者UDP协议分别进行传输。
可见,相关技术中,用户在需要借助于移动终端访问内网时,需要在第一次访问时需要VPN代理进行配置,而VPN代理的配置过程相当复杂且繁琐,从而使得内网访问的便捷程度较低。并且,通过VPN代理访问内网时,只能接受TCP或UDP数据包,不支持(InternetProtocol,IP)数据包的传输,从而利用VPN代理无法拦截所有的流量,从而能进行内容访问的数据包类型较少。
本申请实施例提供一种内网访问方法、装置、设备和计算机可读存储介质,能够提高内网访问的便捷程度,扩大了内网访问的数据包类型范围。下面说明本申请实施例提供的内网访问设备的示例性应用,本申请实施例提供的内网访问设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。当内网访问设备用于接收封装数据包,并对封装数据包进行解封以得到应用数据包时,内网访问设备可以实施为服务器;当内网访问设备用于对内网访问请求对应的封装数据包进行拦截,并将封装数据包发送至服务器时,内网访问设备则可以实施为终端。下面,将说明内网访问设备的示例性应用。
参见图1,图1是本申请实施例提供的内网访问系统100的一个可选的架构示意图,为实现支撑一个内网访问应用,终端400(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
终端400(内网访问设备的一种实施方式)用于当检测到包含应用程序的内网访问请求和身份信息的应用数据包时,通过虚拟网卡设备对应用数据包进行拦截,并通过虚拟网卡设备对应用数据包进行封装,得到封装数据包。接着,终端400会通过通信接口插件,将封装数据包发送至服务器200。其中,终端400是在图形界面(示例性示出了图形界面400-11和图形界面400-21)所显示的应用程序的界面中接收用户对应用程序的操作,该操作中包括了触发应用程序生成内网访问请求的操作。
服务器200(内网访问设备的另一种实施方式)用于通过虚拟流量代理设备接收终端400发送的封装数据包,而封装数据包是由终端通过虚拟网卡设备所拦截到的应用数据包进行封装得到的。服务器200根据封装数据包对应的协议类型,分通道将封装数据包传输给内网服务设备。接着,服务器200通过内网服务设备模块对封装数据包进行解封,得到应用数据包,并从应用数据包中提取出身份信息。当身份信息认证通过时,服务器200通过内网服务设备响应于应用数据包中的内网访问请求,建立与终端400之间的内网访问连接。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。
参见图2,图2是本申请实施例提供的服务器的结构示意图,图2所示的服务器200包括:至少一个第一处理器210、第一存储器250、至少一个第一网络接口220和第一用户接口230。服务器200中的各个组件通过第一总线系统240耦合在一起。可理解,第一总线系统240用于实现这些组件之间的连接通信。第一总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为第一总线系统240。
第一处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第一用户接口230包括使得能够呈现媒体内容的一个或多个第一输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。第一用户接口230还包括一个或多个第一输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第一存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。第一存储器250可选地包括在物理位置上远离第一处理器210的一个或多个存储设备。
第一存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的第一存储器250旨在包括任意适合类型的存储器。
在一些实施例中,第一存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第一操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第一网络通信模块252,用于经由一个或多个(有线或无线)第一网络接口220到达其他计算设备,示例性的第一网络接口220包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
第一呈现模块253,用于经由一个或多个与第一用户接口230相关联的第一输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第一输入处理模块254,用于对一个或多个来自一个或多个第一输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的内网访问装置255可以采用软件方式实现,图2示出了存储在第一存储器250中的内网访问装置255,其可以是程序和插件等形式的软件,包括以下软件模块:数据接收模块2551、数据传输模块2552、数据解封模块2553和连接建立模块2554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的内网访问装置255可以采用硬件方式实现,作为示例,本申请实施例提供的内网访问装置255可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的内网访问方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
示例性的,本申请实施例提供一种服务器,包括:
第一存储器,用于存储可执行内网访问指令;
第一处理器,用于执行所述第一存储器中存储的可执行内网访问指令时,实现本申请实施例服务器侧提供的内网访问方法。
参见图3,图3是本申请实施例提供的终端的结构示意图,图3所示的终端400包括:至少一个第二处理器410、第二存储器450、至少一个第二网络接口420和第二用户接口430。终端400中的各个组件通过第二总线系统440耦合在一起。可理解,第二总线系统440用于实现这些组件之间的连接通信。第二总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为第二总线系统440。
第二处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第二用户接口430包括使得能够呈现媒体内容的一个或多个第二输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。第二用户接口430还包括一个或多个第二输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第二存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。第二存储器450可选地包括在物理位置上远离第二处理器410的一个或多个存储设备。
第二存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的第二存储器450旨在包括任意适合类型的存储器。
在一些实施例中,第二存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第二操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第二网络通信模块452,用于经由一个或多个(有线或无线)第二网络接口420到达其他计算设备,示例性的第二网络接口420包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
第二呈现模块453,用于经由一个或多个与第二用户接口430相关联的第二输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第二输入处理模块454,用于对一个或多个来自一个或多个第二输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的内网访问装置455可以采用软件方式实现,图3示出了存储在第二存储器450中的内网访问装置455,其可以是程序和插件等形式的软件,包括以下软件模块:数据拦截模块4551、数据封装模块4552和数据发送模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的内网访问装置455可以采用硬件方式实现,作为示例,本申请实施例提供的内网访问装置455可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的内网访问方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
示例性的,本申请实施例提供一种终端,包括:
第二存储器,用于存储可执行内网访问指令;
第二处理器,用于执行所述第二存储器中存储的可执行内网访问指令时,实现本申请实施例终端侧提供的内网访问方法。
下面,将结合本申请实施例提供的终端和服务器的示例性应用和实施,说明本申请实施例提供的内网访问方法。
参见图4,图4是本申请实施例提供的内网访问方法的一个可选的流程示意图一,将结合图4示出的步骤进行说明。
S101、当终端检测到包含应用程序的内网访问请求和身份信息的应用数据包时,通过虚拟网卡设备对应用数据包进行拦截。
本申请实施例是在用户使用终端通过外网访问内网的场景下实现的,例如,用户通过自己居住地的网络访问公司内网时实现的,或者是用户通过移动网络访问公司内网时实现的。终端中安装有应用程序,该应用程序为用户提供了访问内网的功能接口。应用程序在生成内网访问请求的同时,为了表明自身的身份,还会生成身份信息,并将内网访问请求和身份信息打包为应用数据包。当终端检测到了应用数据包之后,就会确认用户具有访问内网的需求,从而会利用虚拟网卡设备对应用数据包进行拦截,以实现在应用层获取流量,对应用层的流量进行全流量代理。
可以理解的是,虚拟网卡设备相当于终端的虚拟代理设备,为终端提供代理服务。在本申请中,虚拟网卡设备可以是TUN虚拟设备,还可以是TAP虚拟设备,还可以为其他的虚拟设备,本申请在此不作具体限定。
在一些实施例中,终端通过虚拟网卡设备拦截应用数据包时,可以是终端在对应用数据包按照传输控制协议/互联(Transmission Control Protocol/InternetProtocol,TCP/IP)五层模型或者是开放式系统互联(Open System Interconnect,OSI)七层模型向下层传输时的传输路由的改变来实现,例如,将驱动设备的路由更改为虚拟网卡设备的路由,这样,从而应用数据包就会传输到虚拟网卡设备中,实现拦截。
需要说明的是,虚拟网卡设备为终端提供了全流量代理模式下的计算资源和内存消耗资源,从而使得终端拥有进行全流量代理模式的计算能力和存储能力。
可以理解的是,身份信息可以是用户ID,也可以是用户的工号、姓名等,还可以是其他能够将用户与其他人区分开的标识信息。内网访问请求用于向服务器表明用户需要访问内网。内网访问请求可以是与服务器约定好的字段、标识等,本申请在此不作限定。
S102、终端通过虚拟网卡设备对应用数据包进行封装,得到封装数据包。
终端在通过虚拟网卡设备在拦截得到应用数据包之后,就会为应用数据包增加在传输时所需要的头部信息,将完成头部信息添加之后的数据包作为封装数据包。
在本申请实施例中,终端在对应用数据包进行封装的过程,实质上就是对应用数据包添加协议头的过程。由于应用数据包处于应用层,终端会将应用数据包按照TCP/IP五层模型或者是OSI七层模型的顺序向下层依次传输,从而依次给应用数据包增加传输时所需要的协议头,直至传输到最底层并添加了最底层的协议头之后,就得到了封装数据包。
在一些实施例中,终端在将应用数据包向下层传输时,除了给应用数据包增加对应协议头之外,还可以为应用数据包增加对应的协议尾,从而得到封装数据包。
可以理解的是,终端在对应用数据包进行封装时,实质就是将数据从用户态封装为内核态。其中,用户态只能受限的访问内存,且不允许访问外围设备,占用CPU的能力被剥夺;内核态时CPU可以访问内存的所有数据,包括外围设备,例如硬盘、网卡等。
S103、服务器通过虚拟流量代理设备接收终端发送的封装数据包。
终端通过虚拟网卡设备封装得到封装数据包之后,就会调用通信接口插件,利用通信接口插件与虚拟网卡设备之间读写交互,获取到封装数据包,然后终端通过通信接口插件,将封装数据包发送至服务器,以使服务器根据封装数据包对应的协议类型,确定封装数据包的传输方式,依据传输方式,将封装数据包传输给内网服务设备,通过内网服务设备对封装数据包解封装得到应用数据包,从应用数据包中提取出身份信息,并在身份信息认证通过时,响应于应用数据包中的内网访问请求,建立内网访问连接。
可以理解的是,终端所调用的通信接口插件是分平台实现的,即终端的操作系统不同,所调用的通信接口插件不同。当终端的操作系统为安卓(Android)系统时,所调用的是VPN服务(VPNService),此时,终端通过VPN服务所获取到的封装数据包即为封装好的IP包;当终端的操作系统为iOS系统时,所调用的是网络通信接口(Network Extension),此时,终端通过Network Extension中的数据获取支持组件(AppProxy Provider)获取到封装数据包即为封装好的TCP/UDP包。也就是说,本申请实施例中,可能会有多种不同协议类型的封装数据包。
需要说明的是,虚拟流量代理设备可以是运行在服务器中的智能虚拟专用网络代理(Smart Virtual Private Network,SmartVPN),也可以为运行在服务器中的TUN虚拟设备,还可以为运行在服务器中的其他虚拟设备,本申请在此不作限定。
S104、服务器基于封装数据包的协议类型,分通道将封装数据包传输给内网服务设备。
由于不同的协议类型对应的不同的传输方式,服务器在接收到终端通过通信接口插件所导入的封装数据包之后,会先确认出封装数据包所对应的协议类型,然后再利用封装数据包所对应的协议类型,确认封装数据包应当以何种传输方式传输给内网服务设备,并按照该传输方式,将封装数据包导入内网服务设备。从而能够使得服务器对各个协议类型的数据包都能够进行处理,进而使得服务器能够拦截所有类型的数据包都能拦截。
示例性的,当封装数据包对应的协议类型为UDP协议,即封装数据包为UDP数据包时,由于UDP是无需建立连接就可以发送的协议,服务器就会直接将封装数据包导入内网服务设备。当封装数据包对应的协议类型为TCP协议,或者是其他需要建立连接才能够传输的协议时,则该封装数据包的传输就需要代理网关的参与,服务器就会通过代理网关,将封装数据包转发给内网服务设备。
需要说明的是,本申请实施例中,通过根据封装数据包的协议类型确定出其对应的传输方式,实质上就是实现了对于不同协议类型的封装数据包分通道处理的过程,封装数据包对应的传输方式,其实就是封装数据包所对应的处理通道。
可以理解的是,内网服务设备就是为内网提供计算、管理、存储等功能的模块,其与虚拟流量代理设备都运行在服务器上。在一些实施例中,本申请实施例中的服务器可以为服务器集群,此时,内网服务设备和虚拟流量代理设备可以运行在同一个服务器集群的不同服务器上,此时,内网服务设备就可以理解为内网服务器。
S105、服务器通过内网服务设备对封装数据包进行解封装,得到应用数据包,并从应用数据包中提取出身份信息。
服务器通过内网服务设备对封装数据包进行解封装。其中,解封装是封装的逆过程,即将封装数据包按照TCP/IP五层模型或者是OSI七层模型的顺序向上层依次传输,在每一层都会对封装数据包中的协议头进行去除,直至达到应用层,得到不包含协议头的应用数据包。之后,服务器会继续通过内网服务设备,对应用数据包中的数据进行读取,从中提取出用于表示用户身份的身份信息,以便于后续进行身份验证。
在本申请的一些实施例中,终端在对应用数据包进行封装时,还会为应用数据包添加上协议尾或其他信息,此时,服务器在通过内网服务设备对封装数据包进行解封装时,也会逐层去除封装数据包的协议尾或者其他信息。
S106、当身份信息认证通过时,服务器通过内网服务设备响应应用数据包中的内网访问请求,建立与终端之间的内网访问连接。
服务器在提取到身份信息之后,就会开始对身份信息进行认证,从而确定出该身份信息所对应的用户是否为在内网中的合法用户。当身份信息认证通过,即身份信息所对应的用户是内网中的合法用户时,就会通过内网服务设备响应内网访问请求,建立与终端的内网访问连接,以使得用户可以通过终端来访问内网中的资源。当身份信息认证不通过时,即身份信息所对应的用户不是内网中的合法用户时,服务器就会通过内网服务设备,拒绝应用数据包中的内网访问请求,这样,就可以避免不合法用户访问到内网中的资源。
本申请实施例中,服务器通过虚拟流量代理设备接收终端发送的封装数据包,由于封装数据包是终端通过虚拟网卡设备所拦截到的应用数据包进行封装得到的,实现了对应用数据包的全流量代理,使得用户可以在不进行任何配置的情况下就可以访问到内网,减少了内网访问时的配置准备,大大提高了内网访问的便捷程度;并且依据封装数据包的协议类型确定出对应的传输方式,从而实现为不同协议类型的封装数据包分通道处理,以实现对不同类型的流量均能成功访问内网,扩大了内网访问的数据包类型范围。
在本申请的一些实施例中,服务器基于封装数据包对应的协议类型,分通道将封装数据包传输给内网服务设备,即S104的具体实现过程,可以包括:S1041或S1042,如下:
S1041、当封装数据包对应的协议类型属于无连接协议时,服务器将封装数据包直接发送给内网服务设备,以将封装数据包分通道传输给内网服务设备。
服务器判断封装数据包对应的协议类型是属于无连接协议还是面向连接协议,从而确定出封装数据包是需要直连转发还是代理转发。当服务器判断出封装数据包对应的协议类型属于无连接协议时,服务器就会将封装数据包的传输方式确定为直连转发,即直接将封装数据包发送给内网服务设备,而不需要建立虚拟流量代理设备和内网服务设备之间的连接。
可以理解的是,无连接协议是指通信双方不需要事先连接一条通信线路,而是将携带目的地址的数据包直接送到线路上,由系统自主选定可选的路线进行传输。无连接协议可以包括UDP协议,还可以包括序列分组交换协议(Sequenced Packet ExchangeProtocol,SPX)等,本申请在此不作限定。
S1042、当封装数据包对应的协议类型属于面向连接协议时,服务器通过网关将封装数据包发送给内网服务设备,以将封装数据包分通道传输给内网服务设备。
当服务器判断出封装数据包对应的协议类型属于面向连接协议时,服务器就会将封装数据包的传输方式确定为代理转发,即建立虚拟流量代理设备与网关之间的连接,然后通过网关将封装数据包转发给内网服务设备。
可以理解的是,面向连接协议是指通信双方在进行数据传输之前,需要先遵守特定的规则来建立一条逻辑连接。面向连接协议可以包括TCP协议,X25协议等,本申请在此不作限定。
本申请实施例中,服务器可以封装数据包对应的协议类型进行判断,当判断出封装数据包对应的协议类型属于无连接协议时,确定传输方式为直连转发,当判断出封装数据包对应的协议类型属于面向连接协议时,确定传输方式为代理转发,从而能够实现针对不同的协议类型,来依据不同的处理方式进行处理的效果,使得对各种不同协议类型的封装数据包都能进行处理的。
参见图5,图5是本申请实施例提供的内网访问方法的一个可选的流程示意图二。在本申请的一些实施例中,服务器基于封装数据包对应的协议类型,分通道将封装数据包传输给内网服务设备,即S104的具体实现过程,还可以包括:S1043-S1044,如下:
S1043、当封装数据包对应的协议类型属于除无连接协议和面向连接协议之外的其他协议类型时,服务器对封装数据包进行协议转换,得到转换后的数据包。
当服务器判断出封装数据包所对应的协议类型,既不属于无连接协议,也不属于面向连接协议的其他协议类型时,服务器为了能够对其他协议类型的封装数据包也能够正常处理,服务器会通过虚拟流量代理设备调用网络协议栈,利用网络协议栈对属于其他协议类型的封装数据包进行转换,从而得到转换后的数据包。
需要说明的是,转换后的数据包对应的协议类型为无连接协议和面向连接协议中的任意一种,也就是说,利用网络协议栈(Netstack)对其他协议类型进行转换,实质上就是将其他协议类型的封装数据包转换为无连接协议或者是面向连接协议的数据包,以便于后续从直连转发或者是代理转发中挑选出封装数据包对应的传输方式。
进一步的,无连接协议包括用户数据报协议,面向连接协议包括传输控制协议,其他协议类型包括网际互连协议,从而,利用网络协议栈将其他协议类型的封装数据包转换为无连接协议或面向连接协议的数据包,可以为将IP协议的封装数据包转换为TCP数据包或者是UDP数据包。
S1044、服务器依据转换后的数据包对应的协议类型,确定出转换后的数据包对应的匹配传输方式,并依据匹配传输方式将转换后的数据包发送给内网服务设备,以将封装数据包分通道传输给内网服务设备。
服务器对转换后的数据包对应的协议类型进行判断,当判断出转换后的数据包对应的协议类型为无连接协议时,就会将直连转发作为封装数据包对应的匹配传输方式,从而直接将转换后的数据包发送给内网服务设备;当判断出转换后的数据包对应的协议类型为面向连接协议时,就会将转换后的数据包的匹配传输方式确定为代理转发,即建立虚拟流量代理设备与网关之间的连接,通过网关将转换后的数据包转发给内网服务设备。
在一些实施例中,在利用匹配传输方式传输转换后的数据包时,还可以是先将转换后的数据包转发给端点(Endpoint),然后通过端点转发给内网服务设备。
本申请实施例中,当封装数据包对应的协议类型为其他协议类型时,服务器可以对封装数据包进行协议转换,然后依据转换后的数据包所对应的协议类型,为封装数据包选择出对应的匹配传输方式,从而实现各种类型的数据包都能够传输到内网服务设备。
参见图6,图6是本申请实施例提供的内网访问方法的一个可选的流程示意图三。在本申请的一些实施例中,服务器通过网关将封装数据包转发给内网服务设备之前,即S1042之前,该方法可以包括:S1045,如下:
S1045、服务器对虚拟流量代理设备与网关进行三次握手,在握手成功时建立虚拟流量代理设备与网关之间的本地连接。
服务器在通过网关将封装数据包转发给内网服务设备时,先需要让虚拟流量代理设备与网关进行三次握手,在握手结束之后建立一条可靠的本地连接,以使网关来对封装数据包进行代理。
可以理解的是,三次握手的主要目的是保证虚拟流量代理设备和网关直接的连接是双工的。第一次握手是建立连接时,虚拟流量代理设备向网关发送同步序列编号(Synchronize Sequence Numbers,SYN)包,等待网关确认;第二次握手,网关收到SYN包,确认虚拟流量代理设备的SYN包,同时发送SYN+ACK(确认字符,Acknowledge character)包;第三次握手,虚拟流量代理收到SYN+ACK包,向网关发送确认包,确认包发送完毕之后,网关进入已确认状态(ESTABLTSHED)状态,完成三次握手。
在虚拟流量代理设备和网关握手成功时,本申请实施例中,服务器通过网关将封装数据包转发给内网服务设备,即S1042的实现过程,就会包括S1042a-S1042b,如下:
S1042a、服务器通过本地连接,将封装数据包传输给网关。
服务器在通过三次握手,建立好本地连接之后,通过本地连接将封装数据包发送给网关。网关接收封装数据包,以实现对封装数据包的上网代理。
S1042b、服务器通过网关,将封装数据包转发给内网服务设备。
网关在接收到封装数据包之后,会在封装数据包上附上内网服务设备的路由,服务器的系统在明确该路由之后,就会明确封装数据包是要发送给内网服务设备的,从而实现将封装数据包向内网服务设备的转发。
本申请实施例中,服务器通过三次握手建立虚拟流量代理设备与网关直接的本地连接,然后通过本地连接将封装数据包发送给网关,在通过网关将封装数据包转发给内网服务设备,如此,服务器就能实现通过网关将封装数据包转发给内网服务设备的过程了。
在本申请的一些实施例中,服务器通过内网服务设备对封装数据包进行解封装,得到应用数据包,即S105的具体实现过程,可以包括:S1051-S1052,如下:
S1051、服务器通过内网服务设备将封装数据包中的各个协议头逐层去除,直至得到不包含协议头的数据体。
S1052、服务器将不包含协议头的数据体作为应用数据包。
由于封装数据包是应用数据包向下层传输时添加了协议头,从而,封装数据包中包括了各个协议头和不包含协议头的数据体组成,其中,各个协议头表征了传输时的附加信息,为传输指明了目的路径,来源路径等。服务器通过内网服务设备,对封装数据包解封装时,会先将封装数据包中的各个协议头逐个去除,直至得到数据体时,就会将数据体作为应用数据包。
示例性的,本申请实施例提供了对封装数据包解封装的示意图。参见图7,封装数据包中依次具有MAC(媒体存取控制地址Media Access Control Address)头7-1、IP头7-2、TCP头7-3和数据体7-4。服务器通过内网服务设备先将MAC头7-1去除,再将IP头7-2去除,接着将TCP头7-3去除,最后所剩的数据体7-4,就是应用数据包。
本申请实施例中,服务器先通过内网服务设备将封装数据包中的各个协议头去除,得到不包含协议头的数据体,然后将该数据体作为应用数据包,如此,服务器就通过内网服务设备实现了对封装数据包的解封过程,以便于后续从应用数据包中获取到进行身份认证的身份信息。
在本申请的一些实施例中,通信接口插件包括至少一个操作系统对应的至少一个接口插件,此时,终端通过通信接口插件,将封装数据包发送至服务器,即S103的具体实现过程,可以包括:S1031-S1032,如下:
S1031、终端依据操作系统,从至少一个操作系统对应的至少一个接口插件中,挑选出封装数据包对应的目标接口插件。
由于终端上可以运行不同的操作系统,而每个操作系统中都有各自对应的接口插件,从而,终端会依据其自身的操作系统,从至少一个接口插件中,挑选出封装数据包所对应的接口插件,将挑选出的接口插件记为目标接口插件。
可以理解的是,至少一个接口插件中包括网络通信接口插件和虚拟专用网络代理服务插件,即VPN服务插件。其中,VPN服务插件时安卓系统所对应的插件,网络通信接口插件为iOS系统对应的插件(Network Extension),从而,终端在为安卓系统时,终端从至少一个接口插件中选择VPN服务插件作为目标接口插件,在终端为iOS系统时,终端会从至少一个接口插件中选择网络通信接口插件作为目标接口插件。
S1032、终端利用封装数据包对应的目标接口插件,将封装数据包发送至服务器。
终端在选择出封装数据包所对应的目标接口插件之后,就会通过目标接口插件,将封装数据包发送给服务器,如此,就实现了通过通信接口插件将封装数据包发送至服务器的过程。
本申请实施例中,终端能够依据其自身的操作系统,从至少一个操作系统所对应的至少一个接口插件中,选择出能够适用其操作系统的目标接口插件,然后通过目标接口插件,将封装数据包导入到服务器中,以便于服务器能够得到封装数据包。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例是在用户进行全尺寸办公时进行内网访问的场景下实现的。参见图8,图8是本申请实施例提供的内网访问的流量的流向示意图一,移动端(终端)基于零信任网络的概念,通过TUN虚拟设备8-2(虚拟网卡设备)与APP8-1(应用程序)进行交互,从而将对用户APP的流量(应用数据包)的拦截,然后利用移动端原生插件Extension(通信接口插件)将流量导向SmartVPN流量管理模块8-5(虚拟流量代理设备),其中,Extension是分平台实现的,在iOS系统(终端的操作系统)下由Network Extension 8-3(目标接口插件)实现,此时,流量为IP包或TCP/UDP包;在Android系统(终端的操作系统)下由VPNService8-4(VPN服务插件,即目标接口插件)实现,此时,流量为IP包。SmartVPN流量管理模块8-5基于数据包的协议,选择将流量直连到内网服务器8-6(内网服务设备)或通过网关8-7代理,从而转发到内网服务器8-6。如此,就能够在移动端进行全流量代理,突破内外网解析,以支持员工(用户)安全有效的进行全尺寸办公。
参见图9,图9是本申请实施例提供的内网访问的流量的流向示意图二。当移动端通过TUN虚拟设备9-1拦截到流量9-2时,可以通过移动端原生插件Extension9-3将流量导入到SmartVPN流量管理模块9-4。SmartVPN9-4流量管理模块支持IP、TCP、UDP三种不同协议的数据包,可以将这三种数据包分别进行处理。具体的,当流量是IP数据包9-5(其他协议类型的数据包)时,SmartVPN9-4可以利用Netstack,即网络协议栈将IP数据包9-5转换为TCP数据包9-6(转换后的数据包)或者是UDP数据包9-7(转换后的数据包)。在被转换为UDP数据包9-7时,可以与端点9-8直连,然后通过端点9-8直连到内网服务器9-9;当被转换为TCP数据包9-6时,可以与端点9-8进行握手,并通过智能网关9-10(网关)连接到内网服务器9-9。当流量是TCP数据包9-11(属于面向连接协议)时,需要在本地模拟目标地址与源地址的三次握手,通过智能网关9-10将TCP数据包转发给内网服务器9-9。当流量是UDP数据包(属于无连接协议)时,SmartVPN流量管理模块9-4可以直连内网服务器9-9,从而将UDP数据包9-12直接发送给内网服务器9-9。
通过上述方式,能够实现对于在用户层流量的同一拦截,借助与虚拟TUN设备支持移动端计算资源和内存资源不足的问题,在资源有限的情况下仍然能够在不区分内网和外网环境下对内网资源和服务的直接访问,提并且能够将不同的数据包分通道处理,提升了能够处理的数据包的种类,有效提升了访问内网的便捷程度。
下面继续说明本申请实施例提供的内网访问装置255的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在第一存储器250的内网访问装置255中的软件模块可以包括:
数据接收模块2551,用于通过虚拟流量代理设备接收终端发送的封装数据包;所述封装数据包是由所述终端通过虚拟网卡设备所拦截到的应用数据包进行封装得到的;
数据传输模块2552,用于基于所述封装数据包对应的协议类型,分通道将所述封装数据包传输给内网服务设备;
数据解封模块2553,用于通过所述内网服务设备对所述封装数据包进行解封装,得到应用数据包,并从所述应用数据包中提取出身份信息;
连接建立模块2554,用于当所述身份信息认证通过时,通过所述内网服务设备响应所述应用数据包中的内网访问请求,建立与所述终端之间的内网访问连接。
在本申请的一些实施例中,所述数据传输模块2552,还用于当所述封装数据包对应的协议类型属于无连接协议时,将所述封装数据包直接发送给所述内网服务设备,以将所述封装数据包分通道传输给所述内网服务设备;当所述封装数据包对应的协议类型属于面向连接协议时,通过网关将所述封装数据包转发给所述内网服务设备,以将所述封装数据包分通道传输给所述内网服务设备。
在本申请的一些实施例中,所述数据传输模块2552,还用于当所述封装数据包对应的协议类型属于除所述无连接协议和所述面向连接协议之外的其他协议类型时,对所述封装数据包进行协议转换,得到转换后的数据包;其中,所述转换后的数据包对应的协议类型为所述无连接协议和所述面向连接协议中的任意一种,所述无连接协议包括用户数据报协议,所述面向连接协议包括传输控制协议,所述其他协议类型包括网际互连协议;依据所述转换后的数据包对应的协议类型,确定出所述转换后的数据包对应的匹配传输方式,并依据所述匹配传输方式将所述转换后的数据包发送给所述内网服务设备,以将所述封装数据包分通道传输给所述内网服务设备。
在本申请的一些实施例中,所述数据传输模块2552,还用于对所述虚拟流量代理设备与所述网关进行三次握手,在握手成功时建立所述虚拟流量代理设备与所述网关之间的本地连接;
所述数据传输模块2552,还用于通过所述本地连接,将所述封装数据包传输给所述网关;通过所述网关,将所述封装数据包转发给所述内网服务设备。
在本申请的一些实施例中,所述数据解封模块2553,还用于通过所述内网服务设备将所述封装数据包中的各个协议头逐层去除,直至得到不包含协议头的数据体;所述各个协议头表征了传输时的附加信息;将所述不包含协议头的数据体作为所述应用数据包。
下面继续说明本申请实施例提供的内网访问装置455的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在第二存储器450的内网访问装置455中的软件模块可以包括:
数据拦截模块4551,用于当检测到包含应用程序的内网访问请求和身份信息的应用数据包时,通过虚拟网卡设备对所述应用数据包进行拦截;
数据封装模块4552,用于通过所述虚拟网卡设备对所述应用数据包进行封装,得到封装数据包;
数据发送模块4553,用于通过通信接口插件,将所述封装数据包发送至服务器,以使所述服务器根据所述封装数据包对应的协议类型,确定所述封装数据包的传输方式,依据所述传输方式,将所述封装数据包传输给内网服务设备,通过内网服务设备对所述封装数据包解封装得到应用数据包,从所述应用数据包中提取出身份信息,并在所述身份信息认证通过时,响应于所述应用数据包中的内网访问请求,建立内网访问连接。
在本申请的一些实施例中,所述通信接口插件包括至少一个操作系统对应的至少一个接口插件;
所述数据发送模块4553,还用于依据操作系统,从所述至少一个操作系统对应的所述至少一个接口插件中,挑选出所述封装数据包对应的目标接口插件;利用所述封装数据包对应的目标接口插件,将所述封装数据包发送至所述服务器。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的内网访问方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行内网访问指令,当可执行内网访问指令被第一处理器执行时,将引起第一处理器执行本申请实施例服务器侧提供的内网访问方法,当可执行内网访问指令被第二处理器执行时,将引起第二处理器执行本申请实施例终端侧提供的内网访问方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行内网访问指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行内网访问指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行内网访问指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (10)
1.一种内网访问方法,其特征在于,包括:
通过虚拟流量代理设备接收终端发送的封装数据包;所述封装数据包是由所述终端通过虚拟网卡设备所拦截到的应用数据包进行封装得到的;
基于所述封装数据包对应的协议类型,分通道将所述封装数据包传输给内网服务设备;
通过所述内网服务设备对所述封装数据包进行解封装,得到应用数据包,并从所述应用数据包中提取出身份信息;
当所述身份信息认证通过时,通过所述内网服务设备响应所述应用数据包中的内网访问请求,建立与所述终端之间的内网访问连接。
2.根据权利要求1所述的方法,其特征在于,所述基于所述封装数据包对应的协议类型,分通道将所述封装数据包传输给内网服务设备,包括:
当所述封装数据包对应的协议类型属于无连接协议时,将所述封装数据包直接发送给所述内网服务设备,以将所述封装数据包分通道传输给所述内网服务设备;
当所述封装数据包对应的协议类型属于面向连接协议时,通过网关将所述封装数据包转发给所述内网服务设备,以将所述封装数据包分通道传输给所述内网服务设备。
3.根据权利要求2所述的方法,其特征在于,所述基于所述封装数据包对应的协议类型,分通道将所述封装数据包传输给内网服务设备,包括:
当所述封装数据包对应的协议类型属于除所述无连接协议和所述面向连接协议之外的其他协议类型时,对所述封装数据包进行协议转换,得到转换后的数据包;
其中,所述转换后的数据包对应的协议类型为所述无连接协议和所述面向连接协议中的任意一种,所述无连接协议包括用户数据报协议,所述面向连接协议包括传输控制协议,所述其他协议类型包括网际互连协议;
依据所述转换后的数据包对应的协议类型,确定出所述转换后的数据包对应的匹配传输方式,并依据所述匹配传输方式将所述转换后的数据包发送给所述内网服务设备,以将所述封装数据包分通道传输给所述内网服务设备。
4.根据权利要求2所述的方法,其特征在于,所述通过网关将所述封装数据包转发给所述内网服务设备之前,所述方法还包括:
对所述虚拟流量代理设备与所述网关进行三次握手,在握手成功时建立所述虚拟流量代理设备与所述网关之间的本地连接;
所述通过网关将所述封装数据包转发给所述内网服务设备,包括:
通过所述本地连接,将所述封装数据包传输给所述网关;
通过所述网关,将所述封装数据包转发给所述内网服务设备。
5.一种内网访问方法,其特征在于,包括:
当检测到包含应用程序的内网访问请求和身份信息的应用数据包时,通过虚拟网卡设备对所述应用数据包进行拦截;
通过所述虚拟网卡设备对所述应用数据包进行封装,得到封装数据包;
通过通信接口插件,将所述封装数据包发送至服务器,以使所述服务器根据所述封装数据包对应的协议类型,确定所述封装数据包的传输方式,依据所述传输方式,将所述封装数据包传输给内网服务设备,通过内网服务设备对所述封装数据包解封装得到应用数据包,从所述应用数据包中提取出身份信息,并在所述身份信息认证通过时,响应于所述应用数据包中的内网访问请求,建立内网访问连接。
6.根据权利要求5所述的方法,其特征在于,所述通信接口插件包括:至少一个操作系统对应的至少一个接口插件;所述通过通信接口插件,将所述封装数据包发送至服务器,包括:
依据操作系统,从所述至少一个操作系统对应的所述至少一个接口插件中,挑选出所述封装数据包对应的目标接口插件;
利用所述封装数据包对应的目标接口插件,将所述封装数据包发送至所述服务器。
7.一种内网访问装置,其特征在于,包括:
数据接收模块,用于通过虚拟流量代理设备接收终端发送的封装数据包;所述封装数据包是由所述终端通过虚拟网卡设备所拦截到的应用数据包进行封装得到的;
数据传输模块,用于基于所述封装数据包对应的协议类型,分通道将所述封装数据包传输给内网服务设备;
数据解封模块,用于通过所述内网服务设备对所述封装数据包进行解封装,得到应用数据包,并从所述应用数据包中提取出身份信息;
连接建立模块,用于当所述身份信息认证通过时,通过所述内网服务设备响应所述应用数据包中的内网访问请求,建立与所述终端之间的内网访问连接。
8.一种服务器,其特征在于,包括:
第一存储器,用于存储可执行内网访问指令;
第一处理器,用于执行所述第一存储器中存储的可执行内网访问指令时,实现权利要求1至4任一项所述的方法。
9.一种终端,其特征在于,包括:
第二存储器,用于存储可执行内网访问指令;
第二处理器,用于执行所述第二存储器中存储的可执行内网访问指令时,实现权利要求5至6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储有可执行内网访问指令,用于被第一处理器执行时,实现权利要求1至4任一项所述的方法;或者用于被第二处理器执行时,实现权利要求5至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110266158.3A CN115085953A (zh) | 2021-03-11 | 2021-03-11 | 一种内网访问方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110266158.3A CN115085953A (zh) | 2021-03-11 | 2021-03-11 | 一种内网访问方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115085953A true CN115085953A (zh) | 2022-09-20 |
Family
ID=83240685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110266158.3A Pending CN115085953A (zh) | 2021-03-11 | 2021-03-11 | 一种内网访问方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115085953A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116361771A (zh) * | 2023-05-30 | 2023-06-30 | 南京翼辉爱智物联技术有限公司 | 设备的访问与管理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030075810A (ko) * | 2002-03-20 | 2003-09-26 | 유디에스 주식회사 | 공인네트워크와 비공인네트워크 사이에서의 데이터 통신시스템 및 그 방법 |
CN101350814A (zh) * | 2008-08-26 | 2009-01-21 | 成都卫士通信息产业股份有限公司 | 一种安全远程接入技术及其网关 |
CN102065125A (zh) * | 2010-11-18 | 2011-05-18 | 广州致远电子有限公司 | 一种嵌入式ssl vpn的实现方法 |
CN102801695A (zh) * | 2011-05-27 | 2012-11-28 | 华耀(中国)科技有限公司 | 虚拟专用网通信设备及其数据包传输方法 |
CN108243192A (zh) * | 2018-01-11 | 2018-07-03 | 世纪龙信息网络有限责任公司 | 应用访问网络的识别方法和系统 |
-
2021
- 2021-03-11 CN CN202110266158.3A patent/CN115085953A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030075810A (ko) * | 2002-03-20 | 2003-09-26 | 유디에스 주식회사 | 공인네트워크와 비공인네트워크 사이에서의 데이터 통신시스템 및 그 방법 |
CN101350814A (zh) * | 2008-08-26 | 2009-01-21 | 成都卫士通信息产业股份有限公司 | 一种安全远程接入技术及其网关 |
CN102065125A (zh) * | 2010-11-18 | 2011-05-18 | 广州致远电子有限公司 | 一种嵌入式ssl vpn的实现方法 |
CN102801695A (zh) * | 2011-05-27 | 2012-11-28 | 华耀(中国)科技有限公司 | 虚拟专用网通信设备及其数据包传输方法 |
CN108243192A (zh) * | 2018-01-11 | 2018-07-03 | 世纪龙信息网络有限责任公司 | 应用访问网络的识别方法和系统 |
Non-Patent Citations (1)
Title |
---|
田权斌;李立新;周雁舟;: "基于虚拟以太网的VPN系统", 计算机工程, no. 14, 20 July 2008 (2008-07-20) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116361771A (zh) * | 2023-05-30 | 2023-06-30 | 南京翼辉爱智物联技术有限公司 | 设备的访问与管理方法、装置、电子设备及存储介质 |
CN116361771B (zh) * | 2023-05-30 | 2023-10-03 | 南京翼辉爱智物联技术有限公司 | 设备的访问与管理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4488077B2 (ja) | 仮想化システム、仮想化方法、及び仮想化用プログラム | |
CN100380870C (zh) | 利用继承的安全属性来管理安全网络中的代理请求的系统和方法 | |
CN112039824B (zh) | 通信方法、系统、设备及计算机可读存储介质 | |
CN103401754B (zh) | 一种堆叠链路建立方法、设备及系统 | |
WO2013086869A1 (zh) | 一种互联方法、装置和系统 | |
US20070280230A1 (en) | Method and system for service discovery across a wide area network | |
CN104580192A (zh) | 应用程序的网络访问请求的处理方法和装置 | |
US20150381563A1 (en) | Relay system for transmitting ip address of client to server and method therefor | |
CN204350029U (zh) | 数据交互系统 | |
CN104753989B (zh) | 基于Web-based OS运行环境的屏幕影像传输播放方法及装置 | |
US20140150083A1 (en) | Virtual private network socket | |
CN113301106A (zh) | 运维处理系统、方法以及装置 | |
US10097375B2 (en) | Electronic device and transmission method thereof | |
CN115589383A (zh) | 基于eBPF的虚拟机数据传输方法、装置、设备及存储介质 | |
JP5698366B2 (ja) | 制御方法、装置、及びシステム | |
CN115225292B (zh) | 一种内网访问方法、装置、设备及计算机可读存储介质 | |
CN115085953A (zh) | 一种内网访问方法、装置、设备及计算机可读存储介质 | |
CN112910725B (zh) | 一种网络流量检测方法及装置、计算机可读存储介质 | |
Benomar et al. | A cloud-based and dynamic dns approach to enable the web of things | |
WO2019041332A1 (zh) | 一种加速网络传输优化方法以及系统 | |
KR100989179B1 (ko) | 중계 서버 방식 웹 브라우징 환경에서 단말기와 웹 서버간에 가상 보안 연결을 지원하는 시스템과 그 동작방법 | |
CN107690005A (zh) | 通过网络地址转换来转送封包的方法与装置 | |
CN113794715B (zh) | 一种虚拟点对点网络数据发送方法及其系统 | |
WO2019210614A1 (zh) | 实现页面功能复用的方法及装置 | |
CN115085954A (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 |