[发明专利]一种基于网络嗅探的REST接口规范封装系统有效
| 申请号: | 202110558445.1 | 申请日: | 2021-05-21 |
| 公开(公告)号: | CN113489672B | 公开(公告)日: | 2022-05-17 |
| 发明(设计)人: | 杨子桐;尹建伟 | 申请(专利权)人: | 浙江大学 |
| 主分类号: | H04L9/40 | 分类号: | H04L9/40 |
| 代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 曹兆霞 |
| 地址: | 310013 浙江*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 网络 rest 接口 规范 封装 系统 | ||
本发明公开了一种基于网络嗅探的REST接口规范封装系统,包括:API流量嗅探模块,API规范提取模块和API共享平台模块;所述API流量嗅探模块基于中间人攻击的原理实现对移动应用中的API调用流量的拦截和分析;所述API规范提取模块负责对拦截到的API调用集合进行过滤和分类,以及自动化生成JSON HyperSchema格式的API规范;所述API共享平台模块以JSON HyperSchema为核心实现API规范的共享、开放和展示,并提供分享权限控制、搜索、API调用测试、API规范纠错功能。该REST接口规范封装系统提高了API规范提取效率和准确率,且该封装系统具有通用性和实用性。
技术领域
本发明属于服务包装技术领域,具体涉及一种基于网络嗅探的REST接口规范封装系统。
背景技术
移动应用基于Android或IOS平台开发,并以应用程序接口(API)的方式向服务器端请求和传递数据。API可实现各应用和服务器之间的跨平台、操作系统和编程语言的交互,这极大的简化了程序开发人员的开发流程,提高了程序开发的效率。其中,REST(Representational State Transfer)API以其松散耦合的优势成为当今移动应用开发中使用的接口形式的主流。越来越多的组织机构和企业将REST API作为客户端和服务端传递数据和对外提供服务的重要方式。但要实现这类第三方服务的集成,需要获得REST API的规范描述(简称为接口规范),这是服务和API调用的基础。
目前网络上,许多对外提供服务的REST API缺乏统一的、机器可阅读的接口规范。例如国外最大的API开放平台Programmable Web不提供统一的API描述,而是由AP提供商自行提供;国内的阿里云市场、聚合数据等众多AP市场,使用JSON示例或者表格的形式描述API的输入和输出参数。这种描述方式通常需要API调用者人工理解并构造客户端代码,而描述中给定的编程语言示例通常并无法满足用户的实际开发需求。
另一方面,主流的REST API描述语言OPEN API缺乏客户端验证功能,即在客户端验证输入参数是否符合API规范。相对于服务端验证功能,客户端验证功能快速地给用户提供反馈,避免传输无效的参数而浪费流量。另外一些REST API使用JSON Schema来描述其数据结构,但JSON Schema缺乏描述整个RESTAPI模型的能力,不能识别如URL或HTTP方法等元数据。
传统的API规范提取方法中,通过HTTP流量分析并提取一个应用内的REST API的流程一般可分为以下三个步骤:(1)在应用内进行操作,从而使应用向后台发起REST API请求并得到应用数据,此时,使用HTTP流量拦截技术拦截产生的HTTP数据。对于PC端网页应用,可以直接使用浏览器开发者工具获取其请求的明文的HTTP数据包;但在移动端原生应用和网页应用中该方式不适用。如果简单地在移动端接入的路由器进行拦截,那么通常只能拦截到HTTP流量或加密过的HTTPS流量。目前绝大多数移动应用都使用HTTPS协议来传输关键数据,因此通常需要具有逆向工程知识的开发者(逆向工程者)对移动端设备进行特殊的改造。
(2)对HTTP(S)流量中的API请求进行过滤、归类。真实的HTTP(S)流量数据通常包含许多与关键任务无关的API请求,例如广告相关的请求等。此时,逆向工程者可以通过域名、请求内容类型等特征过滤出特定域名下的所有JSON API请求。另外,也可以使用关键词对API进行过滤。然而,通常情况下,在得到真实的HTTP(S)流量之前,逆向工程者难以直接定位到目的API,而只能凭借经验在数量庞大的API集合中手工挑选,这大大降低了业务开发效率。
(3)提取出同类API的语法和语义相关的统一模式,即生成API规范。API规范中包含的参数通常有URL模板格式,请求体和响应体的结构,参数和响应值的语义等。由于JSON结构灵活多变,因此API响应中的JSON数据结构通常比较复杂多变,不同的实例之间可能会有微小的差异。依靠人工去挖掘多个实例之间共同的JSON模式的方式的准确率和效率均较为低下。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110558445.1/2.html,转载请声明来源钻瓜专利网。





