基于Hook API的代理实现方法、数据传输方法、装置及系统制造方法及图纸

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

【技术实现步骤摘要】
基于HookAPI的代理实现方法、数据传输方法、装置及系统
本专利技术涉及一种计算机
,尤其涉及一种基于HookAPI的代理实现方法、数据传输方法、装置及系统。
技术介绍
在一个大的网络集群中,不同设备之间由于安全策略的限制,数据无法直接在两者之间相互传输,而需要通过一个中间设备,从第一设备到第二设备的数据传输方式会变成:第一设备将数据传输到中间设备,中间设备再把数据传输到第二设备,其中,中间设备起到了代理作用。普通的代理实现方式最主要有两种,一种是数据从第一设备传输到了代理设备,代理设备需要先解析数据,通过解析数据得到正在传输的数据对应什么服务,再将该数据传输到第二设备上对应的服务进程。该实现方案需要代理设备对于知悉第一设备与第二设备之间交互的数据的协议,代理设备解析数据需要耗费CPU计算,管理多种多样的协议也十分的复杂,另外在扩容部署的过程会十分麻烦,需要修改跟第一设备和第二设备相关的配置。另一种是代理设备预先分配多个端口,第一设备把不同协议的数据先发往代理设备的不同端口,代理设备再将这不同的端口请求数据转发到第二设备的不同后台。这种方法的主要弊端是端口需要与服务对应,代理在这个系统上设计中是不透明的,需要将端口与服务对应起来,运维不方便。
技术实现思路
有鉴于此,本专利技术提供一种基于HookAPI的代理实现方法、数据传输方法、装置及系统,易扩展、且可简化代理过程、提高性能、运维也方便。本专利技术实施例提供了一种HookAPI的代理实现方法,包括第一设备发送第二设备的目的IP地址和端口号至所述API库,以调用API库中的函数;根据所述API库,将第一设备与代理设备的代理服务端口建立连接;所述API库将接收的所述第二设备的目的IP地址和端口号发送至所述代理设备;以及所述代理设备利用代理服务端口与所述第二设备的目的IP地址和端口号建立连接。本专利技术实施例还提供了一种数据传输方法,所述方法包括上述HookAPI的代理实现方法及所述代理设备的代理服务端口接收所述第一设备发送的数据,并将所述数据转发至所述第二设备的目的IP地址和端口号。本专利技术实施例还提供了一种基于HookAPI的代理实现方法,应用于API库,包括接收所述第一设备发送的第二设备的目的IP地址和端口号;以及使第一设备与代理设备的代理服务端口建立连接,并将所述第二设备的目的IP地址和端口号发送至所述代理设备,以使得所述代理设备的代理服务端口与所述第二设备的目的IP地址和端口号建立连接。本专利技术实施例还提供了一种基于HookAPI的代理实现系统,所述基于HookAPI的代理实现系统包括第一设备、API库、代理设备以及第二设备;所述第一设备发送第二设备的目的IP地址和端口号至所述API库,以调用API库中的函数;所述API库用于使第一设备与代理设备的代理服务端口建立连接,并将接收的所述第二设备的目的IP地址和端口号发送至所述代理设备;所述代理设备用于利用代理服务端口与所述第二设备的目的IP地址和端口号建立连接。本专利技术实施例还提供了一种基于HookAPI的代理实现装置,应用于API库,所述基于HookAPI的代理实现装置包括接收模块,用于接收第一设备发送的第二设备的目的IP地址和端口号;连接模块,用于使所述第一设备与代理设备的代理服务端口建立连接;以及发送模块,用于将所述第二设备的目的IP地址和端口号发送至所述代理设备,以使得所述代理设备的代理服务端口与所述第二设备的目的IP地址和端口号建立连接。本专利技术实施例提供的基于HookAPI的代理实现方法、数据传输方法、装置及系统,通过HookAPI的方式,使得代理设备对于第一设备和第二设备透明的,而且交互传输数据的双方并不知道代理设备的存在,这令代理设备的扩容和部署十分方便。此外,通过在代理设备设置代理服务,以及被Hook的API与代理设备的代理服务端口之间的数据传输通过协议保证的方式,使得传输到代理设备的数据可以准确地传输到对端设备的目的端口,且无需知晓传输两端之间的协议,简单了代理设计,性能也能大幅提高,运维也方便。为让本专利技术的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。附图说明图1为本专利技术一实施例提供的基于HookAPI的代理实现方法、数据传输方法、装置及系统的应用环境图;图2示出了一种服务器的结构框图;图3为本专利技术第一实施例提供的基于HookAPI的代理实现方法的流程图;图4为本专利技术第二实施例提供的基于HookAPI的代理实现方法的流程图;图5为本专利技术第三实施例提供的基于HookAPI的代理实现方法的流程图;图6为本专利技术第四实施例提供的基于HookAPI的代理实现系统的结构图;图7为本专利技术第五实施例提供的基于HookAPI的代理实现装置的结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术各实施例所提供的基于HookAPI的代理实现方法、装置及系统,可应用于如图1所示的应用环境中,实现跨设备的数据传输。如图1所示,第一设备100、API库200、代理设备300以及第二设备400位于无线网络或有线网络中,通过该无线网络或有线网络,第一设备100、API库200、代理设备300以及第二设备400进行数据交互。其中,第一设备100与第二设备400一样,二者均可以包括服务器,还可以包括PC机(PersonalComputer,个人计算机)、一体机、膝上型便携计算机、车载终端等计算机终端设备,以及智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器等移动终端设备。其中,API库200可以位于远端,也可以位于第一设备100本地。优选地,API库200位于远端,其通过网络与第一设备100及代理设备300进行数据交互。图2示出了一种服务器的结构框图。图2所示的结构可同时适用于第一设备100、代理设备300以及第二设备400,如图2所示,服务器包括:存储器301、处理器302以及网络模块303。可以理解,图2所示的结构仅为示意,服务器还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。另外,本专利技术实施例中的服务器还可以包括多个具体不同功能的服务器。存储器301可用于存储软件程序以及模块,如本专利技术实施例中的基于HookAPI的代理实现方法、数据传输方法、装置及系统对应的程序指令/模块,处理器302通过运行存储在存储器301内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本专利技术实施例中的基于HookAPI的代理实现方法。存储器301可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/201610896058.html" title="基于Hook API的代理实现方法、数据传输方法、装置及系统原文来自X技术">基于Hook API的代理实现方法、数据传输方法、装置及系统</a>

【技术保护点】
一种基于Hook API的代理实现方法,其特征在于,包括:第一设备发送第二设备的目的IP地址和端口号至API库,以调用所述API库中的函数;根据所述API库,将所述第一设备与代理设备的代理服务端口建立连接;所述API库将接收的所述第二设备的目的IP地址和端口号发送至所述代理设备;以及所述代理设备利用代理服务端口与所述第二设备的目的IP地址和端口号建立连接。

【技术特征摘要】
1.一种基于HookAPI的代理实现方法,其特征在于,包括:第一设备发送第二设备的目的IP地址和端口号至API库,以调用所述API库中的函数;根据所述API库,将所述第一设备与代理设备的代理服务端口建立连接;所述API库将接收的所述第二设备的目的IP地址和端口号发送至所述代理设备;以及所述代理设备利用代理服务端口与所述第二设备的目的IP地址和端口号建立连接。2.如权利要求1所述的基于HookAPI的代理实现方法,其特征在于,根据所述API库,将所述第一设备与代理设备的代理服务端口建立连接的步骤之前还包括:所述API库读取所述第一设备上的代理配置文件,所述代理配置文件配置了所述第一设备请求所述第二设备的服务通过所述代理设备的代理服务端口转发。3.如权利要求1或2所述的基于HookAPI的代理实现方法,其特征在于,所述代理设备利用代理服务端口与所述第二设备的目的IP地址和端口号建立连接的步骤之后包括:所述代理设备的代理服务端口接收所述第一设备发送的数据后,将所述数据转发至所述第二设备的目的IP地址和端口号。4.一种数据传输方法,其特征在于,所述方法包括:如权利要求1至2任意一项所述的基于HookAPI的代理实现方法;以及所述代理设备的代理服务端口接收所述第一设备发送的数据,并将所述数据转发至所述第二设备的目的IP地址和端口号。5.一种基于HookAPI的代理实现方法,应用于API库,其特征在于,包括:接收第一设备发送的第二设备的目的IP地址和端口号;以及使所述第一设备与代理设备的代理服务端口建立连接,并将所述第二设备的目的IP地址和端口号发送至所述代理设备,以使得所述代理设备的代理服务端口与所述第二设备的目的IP地址和端口号建立连接。6.如权利要求5所述的基于HookAPI的代理实现方法,其特征在于,使所述第一设备与代理设备的代理服务端口建立连接的步骤之前还包括:所述API库读取所述第一设备上的代理配置...

【专利技术属性】
技术研发人员:曾岳锋张元龙左鸿绪郭计伟陈焕葵
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1