加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

进化的抓包之fiddler plugin

发布时间:2020-02-13 14:15:04 所属栏目:资源 来源:搜狗测试
导读:前言 在测接口的过程中,少不了的就是去 抓包 ,一来验证client-server的数据交换是否准确,二来,抓包也是在追查问题时的必要步骤;但是随着接口安全越来越被重视,各种对接口的加密方式,导致通过抓包来查看接口内容变得越来越麻烦,趁着放假研究了一下
  前言  在测接口的过程中,少不了的就是去抓包,一来验证client-server的数据交换是否准确,二来,抓包也是在追查问题时的必要步骤;但是随着接口安全越来越被重视,各种对接口的加密方式,导致通过抓包来查看接口内容变得越来越麻烦,趁着放假研究了一下之前一直知道但又模糊的概念——fiddler plugin。  问题场景  以下几种场景,对需要抓包的测试同行们极不友好1、接口内容有各种加密,从最简单的base64,到aes,再到rsa。。这直接导致无法从抓到的包中直接查看请求内容;2、一些非明文传输协议,例如protobuf,需要用proto文件生成对应语言的库文件进行转换;3、一些非加密字段,但字段命名含义不明确或参数较多,需要对请求中内容进行翻译后展示;  解决方案  1、服务端打印明文查看  客户端指向测试服务器,测试服务器打印解释后的明文,通过远程工具查看log文件;  2、客户端增加debug log  在客户端增加debug log的打印,测试时通过android或ios的开发ide进行查看;  3、fiddler插件  在fiddler中自定义插件进行解密,可直接看到解密结果  最优解  上述方案中1服务端测试常用;2客户端测试常用;但这两种都很麻烦而且测试中可用、但如果排查线上问题或使用正式版本的客户端就无法使用了;所以最优解肯定是直接在抓包工具中查看明文的方法3;  fiddler plugin开发步骤  先看下效果,选中要翻译的请求,切换到自定义选项卡,即可展示明文,如下图:进化的抓包之fiddler plugin  1、c#开发环境,新建项目(visual studio这里用的是2015,.net framework这里用的4.6)进化的抓包之fiddler plugin  2、项目添加fiddler引用进化的抓包之fiddler plugin  主要添加fiddler.exe,目的是引用fiddler提供的库进化的抓包之fiddler plugin  3、设置插件要求的fiddler最低版本进化的抓包之fiddler plugin  4、创建界面控件dv.cs  5、在主函数中关联界面控件,并实现处理逻辑  6、编译成dll后,放到fiddler目录的Inspectors文件夹下,重启fiddler;  进一步优化  此次解决的是protobuf转json的问题,这里有两个问题:  1、c#不熟悉,写全套的转换逻辑比较费时;2、proto文件有更新的话,还需要重新修改插件源码并重新打包,替换dll;  为了解决这两个问题,想到了一个优化方案,原理见下图:进化的抓包之fiddler plugin  此处引入另一个服务B,提供一个protobuf转json的接口,fiddler插件tab页被点击触发时,将二进制请求body以http请求的形式post给服务B,由服务B将转换好的json返回给插件,再有插件写入文本控件中;这个服务B可以是任何你熟悉的语言,这样就完美解决了上述两个问题;当然此方法也可以用于其它需求,可以试fiddler本地插件更新起来更灵活;

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读