CN115085954A - 一种内网访问方法、装置、设备及计算机可读存储介质 - Google Patents

一种内网访问方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN115085954A
CN115085954A CN202110267102.XA CN202110267102A CN115085954A CN 115085954 A CN115085954 A CN 115085954A CN 202110267102 A CN202110267102 A CN 202110267102A CN 115085954 A CN115085954 A CN 115085954A
Authority
CN
China
Prior art keywords
data packet
intranet access
server
application
encapsulation
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
Application number
CN202110267102.XA
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110267102.XA priority Critical patent/CN115085954A/zh
Publication of CN115085954A publication Critical patent/CN115085954A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing 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

一种内网访问方法、装置、设备及计算机可读存储介质
技术领域
本申请涉及云技术,尤其涉及一种内网访问方法、装置、设备及计算机可读存储介质。
背景技术
全尺寸办公是指既可以在工作地点办公,也可以在非工作地点办公,例如,在居住地、室外等地点通过网络来进行办公。全尺寸办公的前提时用户可以通过外网顺利地访问到内网,以实现与内网的资源交互。相关技术中,用户在利用移动终端请求访问内网的资源时,必须要手动对代理模式进行配置,而代理模式配置较为繁琐,从而会使得内网访问的便捷程度较低。
发明内容
本申请实施例提供一种内网访问方法、装置、设备及计算机可读存储介质,能够提高内网访问的便捷程度。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种内网访问方法,包括:
当检测到应用程序生成的包含内网访问请求和身份信息的应用数据包时,对所述应用数据包进行首次封装,得到中间数据包;所述首次封装表征发送到虚拟网卡设备时的封装;
利用全流量代理模块对所述中间数据包进行拦截;
当所述全流量代理模块发出代理访问请求时,对所述中间数据包进行再次封装,得到封装数据包;其中,所述再次封装为进行流量代理时的封装;
将所述封装数据包转发给服务器,以使所述服务器建立内网访问连接。
在本申请的一些实施例中,所述利用全流量代理模块对所述中间数据包进行拦截,包括:
通过所述全流量代理模块,接收依据所述全流量代理模块的路由信息所传输的所述中间数据包。
本申请实施例提供一种内网访问方法,包括:
接收终端通过全流量代理模块转发的封装数据包;
对所述封装数据包进行首次解封装,得到中间数据包;
对所述中间数据包进行再次解封装,得到应用数据包,并从所述应用数据包中提取出身份信息;
当对所述身份信息认证通过时,响应于所述应用数据包中的内网访问请求,建立与所述终端的内网访问连接。
在本申请的一些实施例中,所述对所述中间数据包进行再次解封装,得到应用数据包,包括:
从所述中间数据包中,依次对全流量代理模块的路由信息、字符设备的地址、虚拟网卡设备的路由信息和传输协议头进行去除,得到所述应用数据包。
本申请实施例提供一种内网访问装置,包括:。
首次封装模块,用于当检测到应用程序生成的包含内网访问请求和身份信息的应用数据包时,对所述应用数据包进行首次封装,得到中间数据包;所述首次封装表征发送到虚拟网卡设备时的封装;
数据拦截模块,用于利用全流量代理模块对所述中间数据包进行拦截;
再次封装模块,用于当所述全流量代理模块发出代理访问请求时,对所述中间数据包进行再次封装,得到封装数据包;其中,所述再次封装为进行流量代理时的封装;
数据发送模块,将所述封装数据包转发给服务器,以使所述服务器建立内网访问连接。
在本申请的一些实施例中,所述首次封装模块,还用于对所述应用数据包添加传输协议头,得到第一临时数据包;在所述第一临时数据包的头部添加所述虚拟网卡设备的路由信息,得到第二临时数据包;在所述第二临时数据包的头部添加字符设备的地址,得到第三临时数据包;在所述第三临时数据包的头部添加所述全流量代理模块的路由信息,得到所述中间数据包。
在本申请的一些实施例中,所述再次封装模块,还用于对所述中间数据包添加传输协议头,得到第一候选数据包;在所述第一候选数据包的头部添加所述服务器的路由信息,得到第二候选数据包;在所述第二候选数据包的头部添加所述服务器的物理地址,得到所述封装数据包。
在本申请的一些实施例中,所述数据拦截模块,还用于通过所述全流量代理模块,接收依据所述全流量代理模块的路由信息所传输的所述中间数据包。
本申请实施例提供一种内网访问装置,包括:
数据接收模块,用于接收终端通过全流量代理模块转发的封装数据包;
解封装模块,用于对所述封装数据包进行首次解封装,得到中间数据包;对所述中间数据包进行再次解封装,得到应用数据包;
信息提取模块,用于从所述应用数据包中提取出身份信息;
连接建立模块,用于当对所述身份信息认证通过时,响应于所述应用数据包中的内网访问请求,建立与所述终端的内网访问连接。
在本申请的一些实施例中,所述解封装模块,还用于从所述封装数据包中,依次将服务器的物理地址、服务器的路由信息,以及传输协议头去除,得到所述中间数据包。
在本申请的一些实施例中,所述解封装模块,还用于从所述中间数据包中,依次对全流量代理模块的路由信息、字符设备的地址、虚拟网卡设备的路由信息和传输协议头进行去除,得到所述应用数据包。
本申请实施例提供一种终端,包括:
第一存储器,用于存储可执行内网访问指令;
第一处理器,用于执行所述第一存储器中存储的可执行内网访问指令时,实现本申请实施例终端侧提供的内网访问方法。
本申请实施例提供一种服务器,包括:
第二存储器,用于存储可执行内网访问指令;
第二处理器,用于执行所述第二存储器中存储的可执行内网访问指令时,实现本申请实施例服务器侧提供的内网访问方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行内网访问指令,用于引起第一处理器执行时,实现本申请实施例终端侧提供的内网访问方法;或者用于引起第二处理器执行时,实现本申请实施例服务器侧提供的内网访问方法。
本申请实施例具有以下有益效果:终端对先会对包含有内网访问请求和身份信息的应用数据包进行首次封装,以使流量能够发送到虚拟网卡设备,然后再通过全流量代理模块对中间数据包进行拦截和封装,并通过全流量代理模块发给服务器,以使得服务器能够基于身份信息响应内网访问请求,从而建立内网访问连接。如此,通过利用全流量代理模块对中间数据包进行拦截以及两次数据封装过程,能够实现对内网访问请求的统一代理、统一转发,从而不需要区分请求是发往内网还是外网,实现在不区分内网和外网的情况下就访问到内网,也就可以跳过内网访问时繁琐的手动配置过程,提高了内网访问的便捷程度。
附图说明
图1是从用户态到内核态封装的过程示意图;
图2是本申请实施例提供的内网访问系统100的一个可选的架构示意图;
图3是本申请实施例提供的终端的结构示意图;
图4是本申请实施例提供的服务器的结构示意图;
图5是本申请实施例提供的内网访问方法的一个可选的流程示意图一;
图6是本申请实施例提供的对封装数据包首次解封装的示意图;
图7是本申请实施例提供的对封装数据包再次解封装的示意图;
图8是本申请实施例提供的内网访问方法的一个可选的流程示意图二;
图9是本申请实施例提供的首次封装的示意图;
图10为本申请实施例提供的数据包流向和封装示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、存储、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活遍历。云计算技术将变成重要支撑。技术网络系统的后台需要大量的计算、存储资源,如视频网络、图片类网站和更多门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标识,需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
2)内网,是指办公网,即公司内部所配置的局域网。一些公司为了保护内部资料不外泄,会配置局域网将公司内部的各个设备连接起来,以使得公司内部的设备之间可以进行会话、资源共享等,而公司外部的设备则不会访问到内部资源。
3)外网,可以理解为互联网。任何具备接入外网的条件的设备,都可以随时接入外网,从而,相比于内网,外网的覆盖程度更大。利用这一特点,公司员工可以随时随地借助于外网来访问公司的内网,从而实现远程办公。
4)代理服务,负责转发个人网络和互联网之间的网络信息,并对转发进行控制和登记,是个人网络和互联网之间的桥梁。
5)全流量代理,是指对所有的流量统一进行拦截并代理,即所有的数据包都需要通过同一个代理发出,这个代理就是全流量代理。
6)数据封装,数据包利用网络在不同设备之间传输时,为了能够准确地发送到目的地,并且高效利用传输资源,会对数据包进行拆分、打包,附加上目标地址、本地地址和一些用于纠错的字节等,这一系列过程就是数据封装。
更具体来说,数据封装是指将协议数据单元(Protocol Data Unit,PDU)封装在一组协议头和协议尾中的过程。在传输控制协议/互连(Transmission Control Protocol/Internet Protocol,TCP/IP)五层模型或者是开放式系统互联(Open SystemInterconnect,OSI)七层模型中,每层都主要负责与其他设备上的对等层进行通信,每层可以添加协议头和协议尾到其对应的PDU中,协议头包括层到层之间的通信相关信息。
7)代理自动配置(Proxy Auto Config,PAC)模式,是一种智能分流模式,其根据规则去匹配用户所要访问的网站,对于符合规则的网站直接进行访问,对于不符合规则的网站则通过代理进行访问。
8)用户态,运行用户程序,不能直接使用系统资源,也不能改变CPU的工作状态,只能访问应用程序自身所对应的存储空间。
9)内核态,运行操作系统程序,操作硬件。内核态CPU可以访问内存的所有数据,包括外围设备,例如硬盘、网卡等,CPU也可以将自己从一个程序切换到另一个程序。
全尺寸办公是指既可以在工作地点办公,也可以在非工作地点办公,例如,在居住地、室外等地点通过网络来进行办公。全尺寸办公的前提时用户可以通过外网顺利地访问到内网,以实现与内网的资源交互。
移动终端具有携带便捷的特点,越来越多的用户选择了利用移动终端来进行办公。用户在利用移动终端请求访问内网的资源时,可以通过PAC模式来进行内网资源的请求。PAC模式会对移动终端处于内网还是外网进行区分,在处于内网时,可以不经过代理直接访问内网;在移动终端处于外网时,则通过PAC代理转发请求并获取内网资源。
在PAC模式下,来自应用层的数据包会通过移动终端的系统的套接字(Socket)库建立一个Socket连接,然后将应用层的数据包通过Socket连接进行发送时,数据包会经历从用户态到内核态的封装。
示例性的,图1是从用户态到内核态封装的过程示意图。参见图1,移动终端在应用层1-1获取到请求,然后经过Socket库1-2,将请求的请求体与请求头部分开,将请求体作为需要封装的数据包1-a。然后,将数据包1-a传输到TCP/IP协议栈1-3,在此过程中,会在数据包1-a的头部添加上TCP头1-b。接着,TCP/IP协议栈1-3会从路由表1-4中获取路由信息,并将数据包继续传输到设备驱动1-5,在此过载中,会为继续为数据包1-a添加上IP头1-c。之后,设备驱动1-5将数据包传输给网络接口控制器(Network Interface Controller,NIC)1-6,在此过程中,会为数据包1-a添加MAC地址1-d(媒体存取控制位址,Media AccessControl Address),然后通过NIC将经过层层封装之后所得到的数据包经由网卡发送出去。
然而,PAC模式在使用时,必须要用户手动进行代理模式配置,而代理模式配置过程比较繁琐,可见,相关技术中的内网访问方式,并不能使得用户直接、便利的进行内网访问,从而使得内网访问的便捷程度较低。
本申请实施例提供一种内网访问方法、装置、设备和计算机可读存储介质,能够提高内网访问的,下面说明本申请实施例提供的内网访问设备的示例性应用,本申请实施例提供的内网访问设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的终端,也可以实施为服务器。当内网访问设备用于对应用数据包进行封装时,内网访问设备可以实施为终端,当内网访问设备用于对封装数据包进行解封装时,内网访问设备可以实施为服务器。下面,将说明内网访问设备的示例性应用。
参见图2,图2是本申请实施例提供的内网访问系统100的一个可选的架构示意图,为实现支撑一个内网访问应用,终端(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
终端400(内网访问设备的一种实施方式)用于当检测到应用程序生成的包含内网访问请求和身份信息的应用数据包时,对应用数据包进行首次封装,得到中间数据包,首次封装表征发送到虚拟网卡设备时的封装。终端400利用全流量代理设备对中间数据包进行拦截,在当全流量代理模块发出代理请求时,对中间数据包进行再次封装,得到封装数据包,其中,再次封装为进行流量代理时的封装。接着,终端400通过虚拟网卡设备将封装数据包转发给服务器,以使服务器建立内网访问连接。终端400在其图形界面(示例性示出了图形界面400-11和图形界面400-21)显示应用程序的展示界面,并在应用程序的展示界面中接收用户对应用程序的操作,该操作中包括了触发应用程序生成内网访问请求的操作。
服务器200用于接收终端通过全流量代理模块转发的封装数据包,对封装数据包进行首次解封装,得到中间数据包,然后再对中间数据包进行再次解封装,得到应用数据包,并从应用数据包中提取出身份信息。当服务器200对身份信息认证通过时,会响应于应用数据包中的内网访问请求,建立与终端的内网访问连接。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。
参见图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之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的内网访问装置可以采用软件方式实现,图3示出了存储在第一存储器450中的内网访问装置455,其可以是程序和插件等形式的软件,包括以下软件模块:首次封装模块4551、数据拦截模块4552、再次封装模块4553和数据发送模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的内网访问装置455可以采用硬件方式实现,作为示例,本申请实施例提供的内网访问装置455可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的内网访问方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
本申请实施例提供一种终端,包括:
第一存储器,用于存储可执行内网访问指令;
第一处理器,用于执行所述第一存储器中存储的可执行内网访问指令时,实现本申请实施例终端侧提供的内网访问方法。
参见图4,图4是本申请实施例提供的服务器的结构示意图,图4所示的服务器200包括:至少一个第二处理器210、第二存储器250、至少一个第二网络接口220和第二用户接口230。服务器200中的各个组件通过第二总线系统240耦合在一起。可理解,第二总线系统240用于实现这些组件之间的连接通信。第二总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为第二总线系统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之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的内网访问装置可以采用软件方式实现,图4示出了存储在第二存储器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)或其他电子元件。
本申请实施例提供一种服务器,包括:
第二存储器,用于存储可执行内网访问指令;
第二处理器,用于执行所述第二存储器中存储的可执行内网访问指令时,实现本申请实施例服务器侧提供的内网访问方法。
将结合本申请实施例提供的服务器和终端的示例性应用和实施,说明本申请实施例提供的内网访问方法。
参见图5,图5是本申请实施例提供的内网访问方法的一个可选的流程示意图一,将结合图5示出的步骤进行说明。
S101、当终端检测到应用程序生成的包含内网访问请求和身份信息的应用数据包时,对应用数据包进行首次封装,得到中间数据包。
本申请实施例是在用户使用终端通过外网访问内网的场景下实现的,例如,用户通过自己居住地的网络访问公司内网时实现的,或者是用户通过移动网络访问公司内网时实现的。终端中安装有能够为用户提供访问内网的功能接口的应用程序,当用户触发了该功能接口时,应用程序就会生成包含内网访问请求,以及用户的身份信息的数据包,这个数据包就是应用数据包。终端在检测到应用数据包之后,就会明确用户具有访问内网的需求,从而会对应用数据包添加在传输时所需要的协议头,以对应用数据包进行首次封装,得到中间数据包。
需要说明的是,本申请实施例中,为了能够在不区分内网和外网的条件下访问内网,终端需要通过虚拟网卡设备对通信时的数据包进行统一代理,从而,终端需要在对应用数据包进行封装时,是对应用数据包进行发送到虚拟网卡设备的封装,而不是发送到设备驱动的封装,这次封装可以记为首次封装。也就是说,在本申请中首次封装表征发送到虚拟网卡设备时的封装。
可以理解的是,虚拟网卡设备相当于终端的虚拟代理设备,其为终端提供代理服务。本申请实施例中,虚拟网卡设备可以是TUN虚拟设备,也可以是TAP虚拟设备,还可以是其他的虚拟设备,本申请在此不作限定。
可以理解的是,身份信息可以是用户ID,也可以是用户的工号、姓名等,还可以是用户所设置的密码等其他能够将用户与其他人区分开的标识信息。内网访问请求用于向服务器表明用户需要访问内网。内网访问请求可以是与服务器约定好的字段、标识等,本申请在此不作限定。
需要说明的是,首次封装时是对应用数据包进行封装,使其成为完成的请求,即在将应用数据包发送给虚拟网卡设备时,为应用数据包的头部增加一些互联协议(InternetProtocol,IP)信息和媒体存取控制位址(Media Access Control Address,MAC)信息,从而使得原始的应用数据包不被暴露。
进一步的,在首次封装时,终端会在应用数据包的头部依次添加传输协议头和MAC信息,此时的传输协议头中可以包含虚拟网卡设备的地址,而MAC信息并不是设备驱动的地址,而可以是字符设备的地址,如此,就可以封装得到中间数据包。当然,在本申请的另一些实施例中,终端除了在应用数据包的头部添加传输协议头和MAC信息之外,还可以在应用数据包的尾部添加传输协议尾,从而得到中间数据包。
S102、终端利用全流量代理模块对中间数据包进行拦截。
终端在对应用数据包进行首次封装,得到中间数据包之后,就会利用全流量代理模块对中间数据包进行拦截,以便于后续通过全流量代理模块对中间数据包进行统一代理。
需要说明的是,终端通过全流量代理模块对中间数据包的拦截,可以通过在中间数据包中添加全流量代理模块的路由信息来实现。
S103、当全流量代理模块发出代理访问请求时,终端对中间数据包进行再次封装,得到封装数据包。
全流量代理模块在开始代理访问内网时,会发出代理访问请求,中间数据包即为代理访问请求所对应的数据体。当终端检测到全流量代理模块所发出的代理访问请求时,会获取代理访问请求对应的数据体,即中间数据包,然后对中间数据包进行再次封装,将再次封装后的中间数据包记为最终的封装数据包。
需要说明的是,再次封装为进行流量代理时的封装。此次封装是进行全流量代理时所需要的封装,从而,在此次封装时,会为中间数据包以协议头的形式添加上传输到服务器时所需要的各种附加信息。
也就是说,本申请实施例中,终端对应用数据包进行了两次从用户态到内核态的封装,首次封装使得应用数据包能够被发送到虚拟网卡设备,再次封装时由全流量代理模块对中间数据包进行统一拦截与处理,这样,就可以实现将流量由一个统一的全流量代理进行转发,从而可以实现在不区分内网和外网的情况下对内网进行访问。
可以理解的是,在再次封装时,终端通过全流量代理模块在中间数据包的头部添加传输协议头和MAC信息,这时的传输协议头和MAC信息,都是指向服务器的。
本申请实施例中,全流量代理模块是指对所有流量进行统一代理的模块。
S104、终端将封装数据包转发给服务器,以使服务器建立内网访问连接。
终端在通过两次封装得到封装数据包之后,就可以通过全流量代理模块,将封装数据包转发给服务器,服务器接收终端通过全流量代理模块转发的封装数据包。
需要说明的是,本申请实施例中,服务器可以通过运行在其自身的虚拟流量代理设备来接收封装数据包,也可以直接通过其网卡来接收封装数据包,本申请在此不作限定。
S105、服务器对封装数据包进行首次解封装,得到中间数据包。
由于终端是对应用数据包进行了两次封装才得到封装数据包,因此,服务器在接收到封装数据包之后,也需要两次解封装,才能够得到应用数据包。首先,服务器会对封装数据包进行首次解封装,将所添加的协议头逐一进行去除,得到中间数据包。
进一步的,服务器对封装数据包进行首次解封装的实现过程可为:服务器从封装数据包中,依次将服务器的物理地址、服务器的路由信息,以及传输协议头去除,得到中间数据包。
可以理解的是,首次解封装是再次封装所对应的逆过程。在首次解封装中,服务器会将封装数据包按照传输控制协议/互联(Transmission Control Protocol/InternetProtocol,TCP/IP)五层模型或者是开放式系统互联(Open System Interconnect,OSI)七层模型向上层进行传输,在每一层都会对终端通过虚拟网卡设备所添加的协议头进行去除,直至完成将第一层的MAC信息、传输协议头完全去除,就得到了中间数据包。
示例性的,本申请实施例提供了对封装数据包首次解封装的示意图,参见图6,封装数据包中依次具有MAC(媒体存取控制地址Media Access Control Address)头6-1、IP头6-2、TCP头6-3和中间数据包6-4。其中,中间数据包6-4中还具有MAC头6-41、IP头6-42、TCP头6-43和数据体6-44。服务器先将MAC头6-1去除,再将IP头6-2去除,接着将TCP头6-3去除,直至完成只剩下一个中间数据包6-4时,完成首次解封装。
S106、服务器对中间数据包进行再次解封装,得到应用数据包,并从应用数据包中提取出身份信息。
服务器在得到中间数据包之后,就会开始新的一轮解封装过程,新的一轮解封装过程即为再次解封装。此时,服务器会按照与首次解封装类似的过程,将中间数据包中的各个传输协议头和MAC信息依次去除,直至得到不包含协议头的数据体,该数据体就是应用数据包。需要说明的是,再次解封装是首次封装的逆过程。
进一步的,服务器对中间数据包进行再次解封装的过程可以为:从中间数据包中,依次对全流量代理模块的路由信息、字符设备的地址、虚拟网卡设备的路由信息和传输协议头进行去除,得到应用数据包。
示例性的,本申请实施例提供了对封装数据包再次解封装的示意图,参见图7,服务器会将图6所示出的中间数据包6-4中的MAC头6-41、IP头6-42、TCP头6-43依次去除,直至得到数据体6-44,所得到的数据体,就是应用数据包。
S107、当服务器对身份信息认证通过时,响应于应用数据包中的内网访问请求,建立与终端的内网访问连接。
服务器在得到应用数据包之后,就会对应用数据包进行解析,从中提取出内网访问请求和身份信息。接着,服务器会将身份信息与用户的预设信息进行比对,从而判断出身份信息是否通过认证,即判断出用户是否为在内网中注册过的合法用户。当身份信息通过认证,用户是在内网中注册过的合法用户时,服务器就会响应内网访问请求,建立与终端的内网访问连接,以使得终端能够顺利访问到内网中的资源。当身份信息没有通过认证,用户不是在内网中注册过的合法用户时,服务器便不会响应内网访问请求,从而,终端无法访问到内网的资源。
可以理解的是,预设信息是用户在内网中进行注册时,所留存下来的用于身份认证的信息。预设信息可以是用户在注册时所设置的密码,也可以是用户在注册时所留存的工号、身份证号信息等,本申请在此不作限定。
服务器在对身份信息和预设信息进行比对时,可以通过计算身份信息和预设信息的相似度,当相似度在预设阈值之上时,服务器会确认身份信息通过认证;当相似度在预设阈值之下式,服务器则会确认身份信息没有通过认证,从而终端无法访问内网。
本申请实施例中,终端对先会对包含有内网访问请求和身份信息的应用数据包进行首次封装,以使流量能够发送到虚拟网卡设备,然后再通过全流量代理模块对中间数据包进行拦截和封装,并通过全流量代理模块发给服务器,以使得服务器能够基于身份信息响应内网访问请求,从而建立内网访问连接。如此,通过利用全流量代理模块对中间数据包进行拦截以及两次封装过程,能够实现对内网访问请求的统一代理、统一转发,从而不需要区分请求是发往内网和外网,实现在不区分内网和外网的情况下就访问到内网,也就可以跳过内网访问时繁琐的手动配置过程,提高了内网访问的便捷程度。
参见图8,图8是本申请实施例提供的内网访问方法的一个可选的流程示意图二。在本申请的一些实施例中,终端对应用数据包进行首次封装,得到中间数据包,即S101的具体实现过程,可以包括:S1011-S1014,如下:
S1011、终端对应用数据包添加传输协议头,得到第一临时数据包。
终端在对应用数据包进行首次封装时,会先通过传输层给应用数据包的头部添加传输协议头,添加传输协议头之后所得到的应用数据包,就是第一临时数据包。
S1012、终端在第一临时数据包的头部添加虚拟网卡设备的路由信息,得到第二临时数据包。
终端在得到第一临时数据包之后,就会继续将第一临时数据包向下传输至网络层,然后通过网络层获取其所维护的路由表,在路由表中查找到虚拟网卡设备的路由信息,并通过网络层将虚拟网卡设备的路由信息添加到第一临时数据包的头部,这样,就得到了第二临时数据包。
可以理解的是,路由表是一个存储在路由器或者联网设备的文件类数据库。路由表存储着指向特定网络地址的路径,包含网络周边的拓扑信息。路由表并不直接参与数据包的传输,而是用于生成一个指向表,这个指向标包含有路由算法选择的传输路径。路由表通常会为了优化硬件存储和查找而被压缩或者提前编译。
需要说明的是,由于在第二临时数据包中增加的是虚拟网卡设备的路由信息,终端的操作系统依据该路由信息,就会将第二临时数据包传输到虚拟网卡设备,从而实现流量的拦截。
S1013、终端在第二临时数据包的头部添加字符设备的地址,得到第三临时数据包。
接着,终端会获取字符设备的地址,并将字符设备的地址添加到第二临时数据包的头部,添加过字符设备的地址的数据包,就是第三临时数据包。
需要说明的是,字符设备是一种不含有物理地址的设备,其作用是作为用户控件和内核空间交换数据的接口。
S1014、终端在第三临时数据包的头部添加全流量代理模块的路由信息,得到中间数据包。
终端获取全流量代理模块的路由信息,然后通过将全流量代理模块的路由信息添加到第三临时数据包的头部,这时所得到的数据包,就是中间数据包。
示例性的,本申请实施例提供了首次封装的示意图,参见图9,终端从应用层得到应用数据包9-1之后,会在应用数据包的头部添加传输协议头,例如TCP头9-2,得到第一临时数据包,然后从路由表中获取虚拟网卡设备的路由信息,并将该路由信息以IP头9-3的形式添加在第一临时数据包的头部,得到第二临时数据包,再将字符设备的地址,以MAC头9-4的形式添加到第二临时数据包,得到第三临时数据包,接着将全流量代理模块的路由,以IP头9-5的形式添加到第三临时数据包的头部,如此,所得到的数据包就是能够被全流量代理模块所能拦截的中间数据包。
本申请实施例中,终端会依次对应用数据包添加传输协议头、虚拟网卡设备的路由信息、字符设备的地址以及全流量代理模块的路由信息,得到中间数据包,实现对应用数据包的首次封装。
在本申请的一些实施例中,终端对中间数据包进行再次封装,得到封装数据包,即S103的具体实现过程,可以包括:
S1031、终端对中间数据包添加传输协议头,得到第一候选数据包。
S1032、终端在第一候选数据包的头部添加服务器的路由信息,得到第二候选数据包。
终端在对中间数据包进行再次封装时,可以先通过传输层为中间数据包增加传输协议头,得到第一候选数据包,然后再将第一候选数据包向下层传输,经过网络层时,获取所维护的路由表,再从路由表中提取到服务器的路由信息,将服务器的路由信息添加到第一候选数据包的头部。
可以理解的是,由于再次封装是流量代理时所需要的封装,即是通过全流量代理转发中间数据包时的封装,因而,此次封装时的所需要添加的附加信息,都是服务器相关的信息。
S1033、终端在第二候选数据包的头部添加服务器的物理地址,得到封装数据包。
同理的,终端在得到终端获取服务器的物理地址,将服务器的物理地址添加到第二候选数据包的头部,如此,终端就完成了对中间数据包的再次封装,得到了封装数据包。
可以理解的是,服务器的物理地址,可以是服务器的MAC地址。MAC地址用于在网络中唯一标示一个网卡,其是由网络设备制造商生成时烧录在网卡中的。
本申请实施例中,终端依次为中间数据包添加传输协议头、服务器的路由信息和服务器的物理地址,就可以完成对中间数据包的再次封装,以使中间数据包能够被发送给服务器。
在本申请的一些实施例中,传输协议头包括:传输控制协议头、用户数据包协议头和网际互连协议头中的任意一个或多个。从而,终端在给应用数据包增添传输协议头时,添加的可以是传输控制协议头,即TCP头、用户数据包协议头,即UDP头,以及网际互连协议头,即IP头中的一个或多个。例如,终端可以给应用数据包添加TCP头,也可以给应用数据包添加IP头,还可以给应用数据包添加TCP头和IP头,本申请在此不作限定。
同理的,终端在给中间数据包添加传输协议头时,添加的可以是传输控制协议头、用户数据包协议头和网际互连协议头中的一个或多个。
在本申请的一些实施例中,终端利用全流量代理模块对中间数据包进行拦截,即S102的具体实现过程,可以包括:S1021,如下:
S1021、终端通过全流量代理模块,接收依据全流量代理模块的路由信息所传输的中间数据包。
终端在利用全流量代理模式对中间数据包进行拦截时,实质上就是利用全流量代理模块,接收终端的操作系统依据全流量代理模块的路由信息所传输来的中间数据包。这个路由信息,可以以IP头的形式添加在中间数据包中。终端的操作系统在得到中间数据包之后,会对该IP头进行读取,从而明确该中间数据包的下一跳在哪里,然后对中间数据包进行传输。
本申请实施例中,终端可以通过全流量代理模块来接收根据其路由信息所传输来的中间数据包,从而实现对中间数据包的拦截,以便于后续对中间数据包进行流量代理。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例是在用户进行全尺寸办公时进行内网访问的场景下实现的。本申请实施例主要是通过对数据包的拦截和再次封装,实现对流量的同一拦截,从而做到不需要手动配置系统、应用的上网代理,就可以自由访问内网资源。
图10为本申请实施例提供的数据包流向和封装示意图。参见图10,后,对数据包的封装主要包括以下步骤:
S201、移动端在从APP10-1的HTTP请求中获取其请求体中的数据包(应用数据包)。
此时,移动端会将请求体和请求头部分开且分开,从请求体中获取数据包。
S202、移动端将数据包通过系统所创建的Socket连接10-2向TCP/IP协议栈10-3传输,添加TCP头部(传输协议头)。
S203、移动端的TCP/IP协议栈10-3将添加了TCP头部的数据包向TUN/TAP虚拟设备10-4(虚拟网卡设备)传输,并添加IP头部。
TCP/IP协议栈10-3会从路由表中的各个路由(即图10中的0.0.0.0、10.8.0.1、10.8.0.10、10.80.22.1、10.80.22.13等)中查找TUN/TAP虚拟设备10-4的IP(虚拟网卡设备的路由信息),并将该IP作为IP头部进行添加。需要说明的时,第一次用户态到内核态的流量封装是发送到TUN/TAP虚拟设备10-4,而非全流量代理模式下数据封装时是直接发送到设备驱动,不需要经过TUN/TAP虚拟设备10-4。
S204、移动端的TUN/TAP虚拟设备10-4为添加了IP头部的数据包(第二临时数据包),再添加字符设备10-5(Character Devises)的MAC地址。
字符设备10-5是一种特殊的,没有物理地址的设备。
S205、移动端的全流量代理10-6(全流量代理模块)对封装后的数据包进行劫持(通过全流量代理模块拦截中间数据包)。
劫持时,可以通过在添加了MAC地址的数据包(第三临时数据包)的头部,再添加一个IP头部,该IP头部包含的是全流量代理10-6的IP(全流量代理模块的路由信息),从而能够将该数据包导入到全流量代理10-6中。
S206、移动端的全流量代理10-6发起请求(代理访问请求),建立Socket连接10-7,并获取请求中的请求体,从而得到添加了包含全流量代理10-6的IP的数据包。
S207、通过Socket连接10-7将添加了包含全流量代理10-6的IP的数据包向TCP/IP协议栈10-8发送,并添加TCP头部。
S208、移动端的对TCP/IP协议栈10-8从路由表中查找服务端的IP(服务器的路由信息),将添加了另一个TCP头部的数据包(第一候选数据包)向设备驱动10-9发送,并添加服务端的IP(服务器的路由信息)。
S209、移动端的设备驱动10-9为添加了服务端的IP的数据包(第二候选数据包)发送给NIC10-10,添加服务端的MAC地址(服务器的物理地址),这样,就得到了封装好的数据包(封装数据包)。
移动端在得到封装好的数据包之后,会对封装好的数据包代理转发给服务端,以使得服务端对封装好的数据包进行解封装,从而判断出移动端是否能接入内网中。
继续参见图10,图10中提供了数据包的封装过程与上述步骤的对应关系,即将请求头部和请求体分开,将请求体作为数据包分别对应S201和S206,添加TCP头部对应了S202和S207,添加IP头部对应了S203、S205和S208,添加MAC头部对应了S204和S209。从而,由图10可以明确看出,本申请实施例对数据包经过了两次封装,在第一次封装时添加虚拟设备的IP和MAC地址,经过全流量代理模块对第一次封装后的数据包拦截之后,再对全流量代理模块发出的请求再进行一次用户态到内核态的封装,从而实现将数据包代理转发到服务器,以实现对内网资源的请求。
通过上述方式,能够实现在不区分内网和外网流量请求的情况下,同一对包含内网请求(内网访问请求)的数据包进行封装,避免了需要区分内网和外网时的操作,从而实现不需要在PAC模式下对系统进行配置,就可以让用户对内网进行访问,提高了内网访问的便捷程度。同时,上述方式对于不支持代理软件的移动端而言,也能够实现内网的访问,从而适用的场景更多。
下面继续说明本申请实施例提供的内网访问装置455的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在第一存储器450的内网访问装置455中的软件模块可以包括:
首次封装模块4551,用于当检测到应用程序生成的包含内网访问请求和身份信息的应用数据包时,对所述应用数据包进行首次封装,得到中间数据包;所述首次封装表征发送到虚拟网卡设备时的封装;
数据拦截模块4552,用于利用全流量代理模块对所述中间数据包进行拦截;
再次封装模块4553,用于当所述全流量代理模块发出代理访问请求时,对所述中间数据包进行再次封装,得到封装数据包;其中,所述再次封装为进行流量代理时的封装;
数据发送模块4554,将所述封装数据包转发给服务器,以使所述服务器建立内网访问连接。
在本申请的一些实施例中,所述首次封装模块4551,还用于对所述应用数据包添加传输协议头,得到第一临时数据包;在所述第一临时数据包的头部添加所述虚拟网卡设备的路由信息,得到第二临时数据包;在所述第二临时数据包的头部添加字符设备的地址,得到第三临时数据包;在所述第三临时数据包的头部添加所述全流量代理模块的路由信息,得到所述中间数据包。
在本申请的一些实施例中,所述再次封装模块4553,还用于对所述中间数据包添加传输协议头,得到第一候选数据包;在所述第一候选数据包的头部添加所述服务器的路由信息,得到第二候选数据包;在所述第二候选数据包的头部添加所述服务器的物理地址,得到所述封装数据包。
在本申请的一些实施例中,所述数据拦截模块4552,还用于通过所述全流量代理模块,接收依据所述全流量代理模块的路由信息所传输的所述中间数据包。
下面继续说明本申请实施例提供的内网访问装置255的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在第二存储器250的内网访问装置255中的软件模块可以包括:
数据接收模块2551,用于接收终端通过全流量代理模块转发的封装数据包;
解封装模块2552,用于对所述封装数据包进行首次解封装,得到中间数据包;对所述中间数据包进行再次解封装,得到应用数据包;
信息提取模块2553,用于从所述应用数据包中提取出身份信息;
连接建立模块2554,用于当对所述身份信息认证通过时,响应于所述应用数据包中的内网访问请求,建立与所述终端的内网访问连接。
在本申请的一些实施例中,所述解封装模块2552,还用于从所述封装数据包中,依次将服务器的物理地址、服务器的路由信息,以及传输协议头去除,得到所述中间数据包。
在本申请的一些实施例中,所述解封装模块2552,还用于从所述中间数据包中,依次对全流量代理模块的路由信息、字符设备的地址、虚拟网卡设备的路由信息和传输协议头进行去除,得到所述应用数据包。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的内网访问方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行内网访问指令,当可执行内网访问指令被第一处理器执行时,将引起第一处理器执行本申请实施例终端侧提供的内网访问方法;当可执行内网访问指令被第二处理器执行时,将引起第二处理器执行本申请实施例服务器侧提供的内网访问方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行内网访问指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行内网访问指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行内网访问指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (10)

1.一种内网访问方法,其特征在于,包括:
当检测到应用程序生成的包含内网访问请求和身份信息的应用数据包时,对所述应用数据包进行首次封装,得到中间数据包;所述首次封装表征发送到虚拟网卡设备时的封装;
利用全流量代理模块对所述中间数据包进行拦截;
当所述全流量代理模块发出代理访问请求时,对所述中间数据包进行再次封装,得到封装数据包;其中,所述再次封装为进行流量代理时的封装;
将所述封装数据包转发给服务器,以使所述服务器建立内网访问连接。
2.根据权利要求1所述的方法,其特征在于,所述对所述应用数据包进行首次封装,得到中间数据包,包括:
对所述应用数据包添加传输协议头,得到第一临时数据包;
在所述第一临时数据包的头部添加所述虚拟网卡设备的路由信息,得到第二临时数据包;
在所述第二临时数据包的头部添加字符设备的地址,得到第三临时数据包;
在所述第三临时数据包的头部添加所述全流量代理模块的路由信息,得到所述中间数据包。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述中间数据包进行再次封装,得到封装数据包,包括:
对所述中间数据包添加传输协议头,得到第一候选数据包;
在所述第一候选数据包的头部添加所述服务器的路由信息,得到第二候选数据包;
在所述第二候选数据包的头部添加所述服务器的物理地址,得到所述封装数据包。
4.根据权利要求2所述的方法,其特征在于,所述传输协议头包括:传输控制协议头、用户数据包协议头和网际互连协议头中的任意一个或多个。
5.一种内网访问方法,其特征在于,包括:
接收终端通过全流量代理模块转发的封装数据包;
对所述封装数据包进行首次解封装,得到中间数据包;
对所述中间数据包进行再次解封装,得到应用数据包,并从所述应用数据包中提取出身份信息;
当对所述身份信息认证通过时,响应于所述应用数据包中的内网访问请求,建立与所述终端的内网访问连接。
6.根据权利要求5所述的方法,其特征在于,所述对所述封装数据包进行首次解封装,得到中间数据包,包括:
从所述封装数据包中,依次将服务器的物理地址、服务器的路由信息,以及传输协议头去除,得到所述中间数据包。
7.一种内网访问装置,其特征在于,包括:
首次封装模块,用于当检测到应用程序生成的包含内网访问请求和身份信息的应用数据包时,对所述应用数据包进行首次封装,得到中间数据包;所述首次封装表征发送到虚拟网卡设备时的封装;
数据拦截模块,用于利用全流量代理模块对所述中间数据包进行拦截;
再次封装模块,用于当所述全流量代理模块发出代理访问请求时,对所述中间数据包进行再次封装,得到封装数据包;其中,所述再次封装为进行流量代理时的封装;
数据发送模块,将所述封装数据包转发给服务器,以使所述服务器建立内网访问连接。
8.一种终端,其特征在于,包括:
第一存储器,用于存储可执行内网访问指令;
第一处理器,用于执行所述第一存储器中存储的可执行内网访问指令时,实现权利要求1至4任一项所述的方法。
9.一种服务器,其特征在于,包括:
第二存储器,用于存储可执行内网访问指令;
第二处理器,用于执行所述第二存储器中存储的可执行内网访问指令时,实现权利要求5或6所述的方法。
10.一种计算机可读存储介质,其特征在于,存储有可执行内网访问指令,用于被第一处理器执行时,实现权利要求1至4任一项所述的方法;或者用于被第二处理器执行时,实现权利要求5或6所述的方法。
CN202110267102.XA 2021-03-11 2021-03-11 一种内网访问方法、装置、设备及计算机可读存储介质 Pending CN115085954A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110267102.XA CN115085954A (zh) 2021-03-11 2021-03-11 一种内网访问方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110267102.XA CN115085954A (zh) 2021-03-11 2021-03-11 一种内网访问方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115085954A true CN115085954A (zh) 2022-09-20

Family

ID=83240860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110267102.XA Pending CN115085954A (zh) 2021-03-11 2021-03-11 一种内网访问方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115085954A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117294763A (zh) * 2023-11-27 2023-12-26 武汉泽塔云科技股份有限公司 基于代理服务的终端请求信息转发的云桌面终端管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117294763A (zh) * 2023-11-27 2023-12-26 武汉泽塔云科技股份有限公司 基于代理服务的终端请求信息转发的云桌面终端管理方法

Similar Documents

Publication Publication Date Title
US20180262388A1 (en) Remote device deployment
JP4488077B2 (ja) 仮想化システム、仮想化方法、及び仮想化用プログラム
KR20140110058A (ko) 통신 네트워크들을 위한 클라우드 컴퓨팅 제어된 게이트웨이
US9015822B2 (en) Automatic invocation of DTN bundle protocol
CN107948077B (zh) 一种数据报文的转发方法及装置
CN110177128B (zh) 数据传输系统及其建立vpn连接的方法、终端、vpn代理
US9307555B2 (en) Method and system for mobile terminal to access the network through cell phone
JP2008306736A (ja) 通信モジュール及びこの通信モジュールを備えたアプリケーションプログラム
WO2021012601A1 (zh) 报文处理方法、装置、设备及可读存储介质
CN115225292B (zh) 一种内网访问方法、装置、设备及计算机可读存储介质
CA3017494A1 (en) System and method for implementing virtual platform media access control (mac) address-based layer 3 network switching
CN112039905B (zh) 基于反向连接的网络通信方法、装置及电子设备和介质
CA2841248C (en) Memory card device
CN115589383A (zh) 基于eBPF的虚拟机数据传输方法、装置、设备及存储介质
CN113364660A (zh) Lvs负载均衡中的数据包处理方法及装置
CN106416146B (zh) 通信装置、通信方法和通信系统
CN115085954A (zh) 一种内网访问方法、装置、设备及计算机可读存储介质
CN111800330B (zh) 基于无线接入点的外设网络流量的代理加速方法及系统
CN111010346B (zh) 基于动态路由的报文处理方法、设备、存储介质及装置
CN114285771B (zh) 一种tcp连接的连接状态追踪方法及装置
CN104348821B (zh) 管理IPv4/IPv6业务的方法、设备和系统
CN115085953A (zh) 一种内网访问方法、装置、设备及计算机可读存储介质
CN115834684A (zh) 数据处理方法、云桌面系统、设备及存储介质
JP5438230B2 (ja) インターネット接続システム
CN113890789B (zh) 适用于数据中心的udp隧道流量的分流方法、流量转发方法

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