CN107948232B - 基于Hook API的代理实现方法、数据传输方法、装置及*** - Google Patents

基于Hook API的代理实现方法、数据传输方法、装置及*** Download PDF

Info

Publication number
CN107948232B
CN107948232B CN201610896058.8A CN201610896058A CN107948232B CN 107948232 B CN107948232 B CN 107948232B CN 201610896058 A CN201610896058 A CN 201610896058A CN 107948232 B CN107948232 B CN 107948232B
Authority
CN
China
Prior art keywords
proxy
api
hook
service
destination
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.)
Active
Application number
CN201610896058.8A
Other languages
English (en)
Other versions
CN107948232A (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.)
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 CN201610896058.8A priority Critical patent/CN107948232B/zh
Publication of CN107948232A publication Critical patent/CN107948232A/zh
Application granted granted Critical
Publication of CN107948232B publication Critical patent/CN107948232B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于Hook API的代理实现方法,包括第一设备发送第二设备的目的IP地址和端口号至API库,以调用API库中的函数;根据API库,将第一设备与代理设备的代理服务端口建立连接;API库将接收的第二设备的目的IP地址和端口号发送至代理设备;以及代理设备利用代理服务端口与第二设备的目的IP地址和端口号建立连接。本发明还提供一种数据传输方法、装置及***,本发明基于Hook API的代理实现方法、数据传输方法、装置及***,通过Hook API的方式,并通过协议保证被Hook的API与代理设备的代理服务端口之间的数据传输,使得代理设备对于交互传输数据的双方是透明的,且无需知晓传输两端之间的协议,易扩展、且可简化代理过程、提高性能、运维方便。

Description

基于Hook API的代理实现方法、数据传输方法、装置及***
技术领域
本发明涉及一种计算机技术领域,尤其涉及一种基于Hook API的代理实现方法、数据传输方法、装置及***。
背景技术
在一个大的网络集群中,不同设备之间由于安全策略的限制,数据无法直接在两者之间相互传输,而需要通过一个中间设备,从第一设备到第二设备的数据传输方式会变成:第一设备将数据传输到中间设备,中间设备再把数据传输到第二设备,其中,中间设备起到了代理作用。
普通的代理实现方式最主要有两种,一种是数据从第一设备传输到了代理设备,代理设备需要先解析数据,通过解析数据得到正在传输的数据对应什么服务,再将该数据传输到第二设备上对应的服务进程。该实现方案需要代理设备对于知悉第一设备与第二设备之间交互的数据的协议,代理设备解析数据需要耗费CPU计算,管理多种多样的协议也十分的复杂,另外在扩容部署的过程会十分麻烦,需要修改跟第一设备和第二设备相关的配置。
另一种是代理设备预先分配多个端口,第一设备把不同协议的数据先发往代理设备的不同端口,代理设备再将这不同的端口请求数据转发到第二设备的不同后台。这种方法的主要弊端是端口需要与服务对应,代理在这个***上设计中是不透明的,需要将端口与服务对应起来,运维不方便。
发明内容
有鉴于此,本发明提供一种基于Hook API的代理实现方法、数据传输方法、装置及***,易扩展、且可简化代理过程、提高性能、运维也方便。
本发明实施例提供了一种Hook API的代理实现方法,包括第一设备发送第二设备的目的IP地址和端口号至所述API库,以调用API库中的函数;根据所述API库,将第一设备与代理设备的代理服务端口建立连接;所述API库将接收的所述第二设备的目的IP地址和端口号发送至所述代理设备;以及所述代理设备利用代理服务端口与所述第二设备的目的IP地址和端口号建立连接。
本发明实施例还提供了一种数据传输方法,所述方法包括上述Hook API的代理实现方法及所述代理设备的代理服务端口接收所述第一设备发送的数据,并将所述数据转发至所述第二设备的目的IP地址和端口号。
本发明实施例还提供了一种基于Hook API的代理实现方法,应用于API库,包括接收所述第一设备发送的第二设备的目的IP地址和端口号;以及使第一设备与代理设备的代理服务端口建立连接,并将所述第二设备的目的IP地址和端口号发送至所述代理设备,以使得所述代理设备的代理服务端口与所述第二设备的目的IP地址和端口号建立连接。
本发明实施例还提供了一种基于Hook API的代理实现***,所述基于Hook API的代理实现***包括第一设备、API库、代理设备以及第二设备;所述第一设备发送第二设备的目的IP地址和端口号至所述API库,以调用API库中的函数;所述API库用于使第一设备与代理设备的代理服务端口建立连接,并将接收的所述第二设备的目的IP地址和端口号发送至所述代理设备;所述代理设备用于利用代理服务端口与所述第二设备的目的IP地址和端口号建立连接。
本发明实施例还提供了一种基于Hook API的代理实现装置,应用于API库,所述基于Hook API的代理实现装置包括接收模块,用于接收第一设备发送的第二设备的目的IP地址和端口号;连接模块,用于使所述第一设备与代理设备的代理服务端口建立连接;以及发送模块,用于将所述第二设备的目的IP地址和端口号发送至所述代理设备,以使得所述代理设备的代理服务端口与所述第二设备的目的IP地址和端口号建立连接。
本发明实施例提供的基于Hook API的代理实现方法、数据传输方法、装置及***,通过Hook API的方式,使得代理设备对于第一设备和第二设备透明的,而且交互传输数据的双方并不知道代理设备的存在,这令代理设备的扩容和部署十分方便。此外,通过在代理设备设置代理服务,以及被Hook的API与代理设备的代理服务端口之间的数据传输通过协议保证的方式,使得传输到代理设备的数据可以准确地传输到对端设备的目的端口,且无需知晓传输两端之间的协议,简单了代理设计,性能也能大幅提高,运维也方便。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为本发明一实施例提供的基于Hook API的代理实现方法、数据传输方法、装置及***的应用环境图;
图2示出了一种服务器的结构框图;
图3为本发明第一实施例提供的基于Hook API的代理实现方法的流程图;
图4为本发明第二实施例提供的基于Hook API的代理实现方法的流程图;
图5为本发明第三实施例提供的基于Hook API的代理实现方法的流程图;
图6为本发明第四实施例提供的基于Hook API的代理实现***的结构图;
图7为本发明第五实施例提供的基于Hook API的代理实现装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明各实施例所提供的基于Hook API的代理实现方法、装置及***,可应用于如图1所示的应用环境中,实现跨设备的数据传输。如图1所示,第一设备100、API库200、代理设备300以及第二设备400位于无线网络或有线网络中,通过该无线网络或有线网络,第一设备100、API库200、代理设备300以及第二设备400进行数据交互。
其中,第一设备100与第二设备400一样,二者均可以包括服务器,还可以包括PC机(Personal Computer,个人计算机)、一体机、膝上型便携计算机、车载终端等计算机终端设备,以及智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器等移动终端设备。
其中,API库200可以位于远端,也可以位于第一设备100本地。
优选地,API库200位于远端,其通过网络与第一设备100及代理设备300进行数据交互。
图2示出了一种服务器的结构框图。图2所示的结构可同时适用于第一设备100、代理设备300以及第二设备400,如图2所示,服务器包括:存储器301、处理器302以及网络模块303。
可以理解,图2所示的结构仅为示意,服务器还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。另外,本发明实施例中的服务器还可以包括多个具体不同功能的服务器。
存储器301可用于存储软件程序以及模块,如本发明实施例中的基于Hook API的代理实现方法、数据传输方法、装置及***对应的程序指令/模块,处理器302通过运行存储在存储器301内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本发明实施例中的基于Hook API的代理实现方法。存储器301可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器301可进一步包括相对于处理器302远程设置的存储器,这些远程存储器可以通过网络连接至服务器。进一步地,上述软件程序以及模块还可包括:操作***321以及服务模块322。其中操作***321,例如可为LINUX、UNIX、WINDOWS,其可包括各种用于管理***任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。服务模块322运行在操作***321的基础上,并通过操作***321的网络服务监听来自网络的请求,根据请求完成相应的数据处理,并返回处理结果给客户端。也就是说,服务模块322用于向客户端提供网络服务。
网络模块303用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,网络模块303可包括处理器、随机存储器、转换器、晶体振荡器等元件。
第一实施例
图3为本发明第一实施例提供的基于Hook API的代理实现方法的流程图。本实施例为第一设备100、API库200、代理设备300以及第二设备400通过网络所执行的基于HookAPI的代理实现方法,其可以应用于图1所示的环境中。如图3及图1所示,本实施例的基于Hook API的代理实现方法可包括以下步骤:
步骤S11:第一设备100发送第二设备400的目的IP地址和端口号至API库200,以调用API库200中的函数;
具体地,第一设备100可根据用户输入的触发指令通过无线网络或有线网络发送欲请求的第二设备400的目的IP地址和端口号至API库200。
步骤S12:根据API库200,将第一设备100与代理设备300的代理服务端口建立连接;
步骤S13:API库200将接收的第二设备400的目的IP地址和端口号发送至代理设备300;
其中,步骤S12与步骤S13的顺序不分先后,也就是说,步骤S13可以先于或晚于步骤S12进行。当然,步骤S13与步骤S12也可以同时进行。
具体地,代理设备300提供代理服务,该代理服务对应一个IP地址和端口号。
以第一设备100欲请求第二设备400上的172.168.0.1:1001服务,代理设备300的代理服务对应的IP地址和端口号为172.168.0.2:1002为例:API库200将第一设备100与代理设备300的代理服务端口172.168.0.2:1002建立连接,并将第一设备100欲请求的第二设备400的目的IP地址和端口号即172.168.0.1:1001发送至代理设备300。
步骤S14:代理设备300利用代理服务端口与第二设备400的目的IP地址和端口号建立连接。
具体地,代理设备300发送连接请求至第二设备400的目的IP地址和端口号,第二设备400接收到代理设备300发送的连接请求后响应连接请求,以与代理设备300的代理服务端口建立连接。
具体地,代理设备300的代理服务端口与第二设备400的目的IP地址和端口号建立连接,例如代理设备300的代理服务端口172.168.0.2:1002与第二设备400的172.168.0.1:1001建立连接。
本发明实施例提供的基于Hook API的代理实现方法通过Hook API的方式,使得代理设备300对于第一设备100和第二设备400透明的,交互传输数据的双方并不知道代理设备300的存在,这令代理设备300的扩容和部署十分方便。此外,通过在代理设备300设置代理服务,以及被Hook的API与代理设备300的代理服务端口之间的数据传输通过协议保证的方式,使得传输到代理设备300的数据可以准确地传输到对端设备的目的端口,且无需知晓传输两端之间的协议,简单了代理设计,性能也能大幅提高,运维也方便。
第二实施例
图4为本发明第二实施例提供的基于Hook API的代理实现方法的流程图。本实施例为第一设备100、API库200、代理设备300以及第二设备400通过网络所执行的基于HookAPI的代理实现方法。如图4所示,本实施例的基于Hook API的代理实现方法可包括以下步骤:
步骤S21:在第一设备100上添加代理配置文件,代理配置文件配置了第一设备100请求第二设备400的服务通过代理设备300的代理服务端口转发;
本领域的技术人员可以理解的是,在第一设备100上添加代理配置文件也可以在步骤S22之后执行。
步骤S22:第一设备100发送第二设备400的目的IP地址和端口号至API库200,以调用API库200中的函数;
具体地,第一设备100可根据用户输入的触发指令通过无线网络或有线网络发送第二设备400的目的IP地址和端口号至API库200。
步骤S23:API库200读取第一设备100上的代理配置文件;
步骤S24:API库200使第一设备100与代理设备300的代理服务端口建立连接,并将接收的第二设备400的目的IP地址和端口号发送至代理设备300;
具体地,代理设备300提供代理服务,该代理服务对应的一个IP地址和端口号。
以第一设备100欲请求第二设备400上的172.168.0.1:1001服务,代理设备300的代理服务对应的IP地址和端口号为172.168.0.2:1002为例:API库200将第一设备100与代理设备300的代理服务端口172.168.0.2:1002建立连接,并将第一设备100欲请求的第二设备400的目的IP地址和端口号即172.168.0.1:1001发送至代理设备300。
步骤S25:代理设备300利用代理服务端口与第二设备400的目的IP地址和端口号建立连接。
具体地,例如代理设备300利用代理服务端口172.168.0.2:1002与第二设备400的172.168.0.1:1001建立连接。
步骤S26:代理设备300的代理服务端口接收第一设备100发送的数据,并将数据转发至第二设备400的目的IP地址和端口号。
本发明实施例提供的基于Hook API的代理实现方法,通过配置第一设备100请求第二设备400的服务通过代理设备300的代理服务端口转发,以通过Hook API的方式使得代理设备300对于第一设备100和第二设备400是透明的,交互传输数据的双方并不知道代理设备300的存在,这令代理设备300的扩容和部署十分方便。此外,通过在代理设备300设置代理服务,以及被Hook的API与代理设备300的代理服务端口之间的数据传输通过协议保证的方式,使得传输到代理设备300的数据可以准确地传输到对端设备的目的端口,且无需知晓传输两端之间的协议,简单了代理设计,性能也能大幅提高,运维也方便。
第三实施例
图5为本发明第三实施例提供的基于Hook API的代理实现方法的流程图。本实施例为API库200通过网络所执行的基于Hook API的代理实现方法。如图5及图1所示,本实施例的基于Hook API的代理实现方法可包括以下步骤:
步骤S31:接收第一设备100发送的第二设备400的目的IP地址和端口号;
步骤S32:使第一设备100与代理设备300的代理服务端口建立连接,并将第二设备400的目的IP地址和端口号发送至代理设备300,以使得代理设备300的代理服务端口与第二设备400的目的IP地址和端口号建立连接。
进一步地,在步骤S31之前还可以包括读取第一设备100上的代理配置文件,代理配置文件配置了第一设备100请求第二设备400的服务通过代理设备300的代理服务端口转发。
本发明实施例提供的基于Hook API的代理实现方法,通过配置第一设备100请求第二设备400的服务通过代理设备300的代理服务端口转发,以通过Hook API的方式使得代理设备300对于第一设备100和第二设备400是透明的,交互传输数据的双方并不知道代理设备300的存在,这令代理设备300的扩容和部署十分方便。此外,通过在代理设备300设置代理服务,以及被Hook的API与代理设备300的代理服务端口之间的数据传输通过协议保证的方式,使得传输到代理设备300的数据可以准确地传输到第二设备400的目的端口,且无需知晓传输两端之间的协议,简单了代理设计,性能也能大幅提高,运维也方便。
本发明还提供一种数据传输方法,其包括如图3或图4或图5的基于Hook API的代理实现方法,具体步骤请参考第一实施例、第二实施例及第三实施例的具体描述,此处不再赘述。
本发明实施例提供的数据传输方法,通过配置第一设备100请求第二设备400的服务通过代理设备300的代理服务端口转发,以通过Hook API的方式使得代理设备300对于第一设备100和第二设备400是透明的,交互传输数据的双方并不知道代理设备300的存在,这令代理设备300的扩容和部署十分方便。此外,通过在代理设备300设置代理服务,以及被Hook的API与代理设备300的代理服务端口之间的数据传输通过协议保证的方式,使得传输到代理设备300的数据可以准确地传输到第二设备400的目的端口,且无需知晓传输两端之间的协议,简单了代理设计,性能也能大幅提高,运维也方便。
第四实施例
图6为本发明第四实施例提供的基于Hook API的代理实现***的结构图。如图6所示,基于Hook API的代理实现***包括第一设备600、API库601、代理设备602以及第二设备603。
其中,第一设备600发送欲请求的第二设备603的目的IP地址和端口号至API库601,以调用API库601中的函数。
API库601用于使第一设备600与代理设备602的代理服务端口建立连接,并将接收的第二设备603的目的IP地址和端口号发送至代理设备602。
具体地,第一设备600包括代理配置文件,代理配置文件配置了第一设备600请求第二设备603的服务通过代理设备602的代理服务端口转发;API库601读取第一设备600上的代理配置文件。
其中,代理设备602用于利用代理服务端口与第二设备603的目的IP地址和端口号建立连接。
进一步地,代理设备602还用于利用代理服务端口接收第一设备600发送的数据,并将数据转发至第二设备603的目的IP地址和端口号。
本发明实施例提供的基于Hook API的代理实现***,通过配置第一设备600请求第二设备603的服务通过代理设备602的代理服务端口转发,以通过Hook API的方式使得代理设备602对于第一设备600和第二设备603是透明的,交互传输数据的双方并不知道代理设备602的存在,这令代理设备602的扩容和部署十分方便。此外,通过在代理设备602设置代理服务,以及被Hook的API与代理设备602的代理服务端口之间的数据传输通过协议保证的方式,使得传输到代理设备602的数据可以准确地传输到第二设备603的目的端口,且无需知晓传输两端之间的协议,简单了代理设计,性能也能大幅提高,运维也方便。
第五实施例
图7为本发明第五实施例提供的基于Hook API的代理实现装置的结构图。其应用于API库,基于Hook API的代理实现装置包括:接收模块710、连接模块720、发送模块730。
接收模块710用于接收第一设备发送的第二设备的目的IP地址和端口号。连接模块720用于使第一设备与代理设备的代理服务端口建立连接。发送模块730用于将第二设备的目的IP地址和端口号发送至代理设备,以使得代理设备的代理服务端口与第二设备的目的IP地址和端口号建立连接。
进一步地,基于Hook API的代理实现装置还包括读取模块,读取模块用于读取第一设备上的代理配置文件,代理配置文件配置了第一设备请求第二设备的服务通过代理设备的代理服务端口转发。
本发明实施例提供的基于Hook API的代理实现装置,通过HookAPI的方式使得代理设备对于第一设备和第二设备是透明的,交互传输数据的双方并不知道代理设备的存在,这令代理设备的扩容和部署十分方便。此外,通过在代理设备300设置代理服务,以及被Hook的API与代理设备的代理服务端口之间的数据传输通过协议保证的方式,使得传输到代理设备的数据可以准确地传输到第二设备的目的端口,且无需知晓传输两端之间的协议,简单了代理设计,性能也能大幅提高,运维也方便。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (9)

1.一种基于Hook API的代理实现方法,其特征在于,包括:
在第一设备添加代理配置文件;其中,所述代理配置文件配置了第一设备请求第二设备的服务通过代理设备的代理服务端口转发;
针对所述第一设备需要从第二设备请求的服务,所述第一设备发送所述第二设备的目的IP地址和端口号至位于所述第一设备和所述第二设备的远端的API库,以Hook调用所述API库中的函数;
其中,所述服务与所述目的IP地址和所述端口号对应;
根据所述API库中被Hook调用的函数,读取所述第一设备上的所述代理配置文件;
根据所述API库中被Hook调用的函数,将所述第一设备与所述代理配置文件中配置的所述代理设备的代理服务端口建立连接;
其中,被Hook的所述API库与所述代理设备的代理服务端口之间通过协议保证的方式进行数据传输;
根据所述API库中被Hook调用的函数,所述API库将接收到的所述第二设备的目的IP地址和端口号发送至所述代理设备;以及
所述代理设备利用所述代理服务端口与所述第二设备的目的IP地址和端口号建立连接;
其中,所述连接用于供所述第一设备传输数据到所述第二设备中的所述服务。
2.如权利要求1所述的基于Hook API的代理实现方法,其特征在于,所述代理设备利用代理服务端口与所述第二设备的目的IP地址和端口号建立连接的步骤之后包括:
所述代理设备的代理服务端口接收所述第一设备发送的数据后,将所述数据转发至所述第二设备的目的IP地址和端口号。
3.一种数据传输方法,其特征在于,所述方法包括:
如权利要求1至2任意一项所述的基于Hook API的代理实现方法;以及
所述代理设备的代理服务端口接收所述第一设备发送的数据,并将所述数据转发至所述第二设备的目的IP地址和端口号。
4.一种基于Hook API的代理实现方法,应用于位于第一设备和第二设备的远端的API库,其特征在于,包括:
接收所述第一设备发送的所述第二设备的目的IP地址和端口号;
其中,所述第一设备添加了代理配置文件;其中,所述代理配置文件配置了所述第一设备请求所述第二设备的服务通过代理设备的代理服务端口转发;
其中,所述第一设备需要从所述第二设备请求的服务与所述目的IP地址和所述端口号对应;
根据所述API库中被Hook调用的函数,读取所述第一设备上的所述代理配置文件;
根据所述API库中被Hook调用的函数,使所述第一设备与所述代理配置文件中配置的所述代理设备的代理服务端口建立连接,并将所述第二设备的目的IP地址和端口号发送至所述代理设备,以使得所述代理设备的代理服务端口与所述第二设备的目的IP地址和端口号建立连接;
其中,被Hook的所述API库与所述代理设备的代理服务端口之间通过协议保证的方式进行数据传输;
其中,所述连接用于供所述第一设备传输数据到所述第二设备中的所述服务。
5.一种基于Hook API的代理实现***,其特征在于,所述基于Hook API的代理实现***包括第一设备、API库、代理设备以及第二设备;
所述第一设备包括代理配置文件,所述代理配置文件配置了所述第一设备请求所述第二设备的服务通过所述代理设备的代理服务端口转发;所述API库还用于根据所述API库中被Hook调用的函数,读取所述第一设备上的代理配置文件;
针对所述第一设备需要从第二设备请求的服务,所述第一设备用于发送所述第二设备的目的IP地址和端口号至位于所述第一设备和所述第二设备的远端的所述API库,以Hook调用所述API库中的函数;
其中,所述服务与所述目的IP地址和所述端口号对应;
根据所述API库中被Hook调用的函数,读取所述第一设备上的所述代理配置文件;
所述API库用于根据所述API库中被Hook调用的函数,使所述第一设备与所述代理设备的代理服务端口建立连接,并将接收的所述第二设备的目的IP地址和端口号发送至所述代理设备;
其中,被Hook的所述API库与所述代理设备的代理服务端口之间通过协议保证的方式进行数据传输;
所述代理设备用于利用所述代理服务端口与所述第二设备的目的IP地址和端口号建立连接;
其中,所述连接用于供所述第一设备传输数据到所述第二设备中的所述服务。
6.如权利要求5所述的基于Hook API的代理实现***,其特征在于,所述代理设备还用于利用代理服务端口接收所述第一设备发送的数据,并将所述数据转发至所述第二设备的目的IP地址和端口号。
7.一种基于Hook API的代理实现装置,应用于位于第一设备和第二设备的远端的API库,其特征在于,所述基于Hook API的代理实现装置包括:
接收模块,用于接收所述第一设备发送的所述第二设备的目的IP地址和端口号;
其中,所述第一设备添加了代理配置文件;其中,所述代理配置文件配置了所述第一设备请求所述第二设备的服务通过代理设备的代理服务端口转发;
其中,所述第一设备需要从所述第二设备请求的服务与所述目的IP地址和所述端口号对应;
连接模块,用于根据所述API库中被Hook调用的函数,读取所述第一设备上的所述代理配置文件;
根据所述API库中被Hook调用的函数,使所述第一设备与所述代理配置文件中配置的所述代理设备的代理服务端口建立连接;以及
发送模块,用于将所述第二设备的目的IP地址和端口号发送至所述代理设备,以使得所述代理设备的代理服务端口与所述第二设备的目的IP地址和端口号建立连接;
其中,被Hook的所述API库与所述代理设备的代理服务端口之间通过协议保证的方式进行数据传输;
其中,所述连接用于供所述第一设备传输数据到所述第二设备中的所述服务。
8.如权利要求7所述的基于Hook API的代理实现装置,其特征在于,所述基于Hook API的代理实现装置还包括读取模块,所述读取模块用于读取所述第一设备上的代理配置文件,所述代理配置文件配置了所述第一设备请求所述第二设备的服务通过代理设备的代理服务端口转发。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有可执行指令;所述可执行指令被处理器执行后,能够实现权利要求1至2任一项所述的方法、或3所述的方法、或4所述的方法。
CN201610896058.8A 2016-10-13 2016-10-13 基于Hook API的代理实现方法、数据传输方法、装置及*** Active CN107948232B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610896058.8A CN107948232B (zh) 2016-10-13 2016-10-13 基于Hook API的代理实现方法、数据传输方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610896058.8A CN107948232B (zh) 2016-10-13 2016-10-13 基于Hook API的代理实现方法、数据传输方法、装置及***

Publications (2)

Publication Number Publication Date
CN107948232A CN107948232A (zh) 2018-04-20
CN107948232B true CN107948232B (zh) 2021-03-19

Family

ID=61928554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610896058.8A Active CN107948232B (zh) 2016-10-13 2016-10-13 基于Hook API的代理实现方法、数据传输方法、装置及***

Country Status (1)

Country Link
CN (1) CN107948232B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294399B (zh) * 2020-02-04 2023-06-23 网宿科技股份有限公司 一种数据传输方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968227A (zh) * 2006-06-29 2007-05-23 华为技术有限公司 一种无线接入网关支持透明代理的***及方法
CN103916405A (zh) * 2014-04-25 2014-07-09 厦门享游网络科技有限公司 一种IOS上针对App的TCP/UDP流量引导的方法
CN103944906A (zh) * 2014-04-25 2014-07-23 厦门享游网络科技有限公司 一种iOS上针对APP的HTTP流量引导的方法
CN105450521A (zh) * 2015-12-31 2016-03-30 中国电子科技集团公司电子科学研究院 一种软件定义的多路径网络流实时动态优化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104579887A (zh) * 2013-10-16 2015-04-29 宇宙互联有限公司 云网关、云网关创建配置***及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968227A (zh) * 2006-06-29 2007-05-23 华为技术有限公司 一种无线接入网关支持透明代理的***及方法
CN103916405A (zh) * 2014-04-25 2014-07-09 厦门享游网络科技有限公司 一种IOS上针对App的TCP/UDP流量引导的方法
CN103944906A (zh) * 2014-04-25 2014-07-23 厦门享游网络科技有限公司 一种iOS上针对APP的HTTP流量引导的方法
CN105450521A (zh) * 2015-12-31 2016-03-30 中国电子科技集团公司电子科学研究院 一种软件定义的多路径网络流实时动态优化方法

Also Published As

Publication number Publication date
CN107948232A (zh) 2018-04-20

Similar Documents

Publication Publication Date Title
US9507630B2 (en) Application context transfer for distributed computing resources
US20100248698A1 (en) Mobile terminal device inlcuding mobile cloud platform
EP2911063A1 (en) Remote storage system and method using network attached storage (nas) device
CN107710695B (zh) 一种访问家庭网络附加存储设备的方法、对应装置及***
CN111124299A (zh) 数据存储管理方法、装置、设备、***及存储介质
CN104378435A (zh) 计算设备的浏览器与移动终端的文件传输
CN112312222A (zh) 视频发送方法、装置和电子设备
CN104394208A (zh) 文件传输方法和服务器
CN114666306B (zh) WebRTC网络连接建立方法和服务器、电子设备及计算机可读存储介质
CN104486371A (zh) 批量下载文件的设备和方法
Alamouti et al. Hybrid edge cloud: A pragmatic approach for decentralized cloud computing
CN104702634A (zh) 数据操作请求处理方法、装置及***
US20170171211A1 (en) Connecting and Retrieving Security Tokens Based on Context
CN114296953A (zh) 一种多云异构***及任务处理方法
CN107948232B (zh) 基于Hook API的代理实现方法、数据传输方法、装置及***
CN109981778B (zh) 内容分发网络的服务实现方法、装置、设备及存储介质
CN111953718B (zh) 一种页面调试方法和装置
CN114844744B (zh) 虚拟私有云网络配置方法和装置、电子设备及计算机可读存储介质
CN115623057A (zh) 基于rdma的建连方法、装置、设备及存储介质
US11356383B2 (en) Cloud translation mechanism
CN112383617A (zh) 进行长连接的方法、装置、终端设备以及介质
CN104484338A (zh) 文件列表管理设备和方法
CN104683419A (zh) 一种基于android***和m2m的通信方法和***
CN113271229B (zh) 设备控制方法及装置、存储设备、安全设备、交换机、路由器及服务器
CN104767667A (zh) 一种web网页多屏共享的方法及终端设备、网站服务器

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