Charles与Fiddler的爱恨情仇之让抓包飞起来(二)

发表于:2021-9-07 09:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:CSDN

  4.4、小程序抓包
  小程序抓包需要使用mumu模拟器,并且处于调试阶段才能抓取或者使用ios或者android7.0以后的系统,微信开发平台设置证书信任。
  4.5、web_PC抓包
  对于使用mac电脑的人,Charles应该是非常熟悉的,这是一款十分好用的抓包工具。现在windows上也能够使用了。Charles在Windows下,默认只代理IE浏览器,对Chrome需要设置后才能抓包:
  1、谷歌应用中心下载switchy sharp;对于无法访问谷歌应用商店的,可以下载谷歌访问助手。
  2、Charles设置Proxy Settings
  3、打开swithcy sharp,设置手动代理
  4、选择预先设置好的情景模式,并开启Charles的windows proxy即可对浏览器进行抓包。
  五、抓包工具之Fiddler
  Fiddler完整设置抓取HTTP协议
  ● 设置fiddler允许抓取http
  ○ tools(工具)——>options(选项)——>connection(连接)——>勾选allow remote computer to connect(允许远程连接到fidder)
  ● 设置手机
  ○ 手机与电脑置于同一网络,设置手动代理并输入IP+端口号
  ● 设置fiddler允许抓取https,并安装证书到电脑
  ○ tools——>options——>https——>勾选detry https traffic(允许https)
  ■ 若自动弹出信任证书的询问框,点击yes进行证书安装
  ■ 若不自动弹出,actions——>reset all certificate(重置所有证书),查看是否弹出信任证书的提示框,弹出点击yes进行安装
  ● 若依旧未弹出询问框,actions——>点击trust root certificate(手动信任证书)
  ○ 勾选ignore server certificate errors(忽略服务器证书错误)
  ● 手机浏览器输入IP+端口号,将证书安装到手机上
  ● 在抓取http设置的基础上进行以下的设置
  ○ tool——>options——>https
  ■ 勾选decrypt https…>可能会弹出安装证书的询问框(信任fidder证书吗?)
  ● 选择信任
  ● 若没有弹框,action——>reset all ca(重置,删除证书)
  六、Charles与Fiddler的区别
  1、charles可以实时过滤请求,fiddler添加过滤器后再发送请求才能起作用
  2、charles可以树状或者列表查看各个请求,fiddler只能列表查看
  3、charles可以对某个请求进行断点操作,而fiddler是对所有的请求进行断点
  4、charles模拟弱网是限制带宽,并且可选择只对某个app进行限速;而fiddler是延长时间,并且是对整个手机进行限制
  七、抓包常见问题
  ——致敬那些踩过的坑
  ● 是不是所有的app都能被抓取到数据?
  ○ 如果一个上线的app能够被抓取到数据 本身就是不安全的
  ○ 一个上线的app是不应该被抓取到数据的
  ● 避免被抓包的方式:
  ○ 可以判断是否使用了代理服务器,如果使用代理服务器不继续网络请求
  ○ 前端(客户端)程序员还可以判断证书的正确性,如果是假证书不继续发送请求,也抓取不到
  ○ 抓取出来的请求和响应全都是加密的乱码数据,不是明文
  ● app抓取不到数据的表现:
  ○ 不开代理服务器charles,app正常能够使用
  ○ 开了代理服务器之后,发现app总是提示网络异常提示证书错误
  八、抓包测试的意义
  ● 分析接口响应时间及响应速度是否满足要求(2-5-8原则),接口响应时间一般1s内。
  ○ 举例:其他页面打开都会正常显示,但是其中一个页面需要等待5s左右才显示?
  ○ 1、接口响应时间长 2、前端(客户端)程序员接受到数据之后,解析渲染到页面的时间长
  ● 分析接口中关键的数据(请求+响应)有没有进行加密传递 — 安全性
  ● 抓包工具还可以进行断点操作,可以判断app有没网络重连机制
  ● 断请求可以修改请求方式、请求参数等,来达到接口测试效果
  ● 断响应可以通过修改响应的数据来模拟修改后台服务器的数据,来查看前端(客户端)页面是否对应改变
  ● map local可以通过修改本地数据,来模拟修改后台服务器数据,来查看前端(客户端)页面是否对应改变
  ● 前后台联调测试的时候
  ○ 可以模拟弱网来进行弱网测试
  ○ 可以定位bug是在前台还是后台
  ■ 举例:进入页面展示空白,其他页面都没有问题,bug属于前端(客户端)还是服务端?
  ● 定位bug过程
  ○ 抓取请求,分析请求参数、路径、方式等,跟接口文档中的接口进行对比,如果有问题,说明前端(客户端)程序员发送的请求是有问题的,bug出在前端(客户端)
  ○ 查看响应内容,如果有问题说明后台返回数据有问题bug属于服务端
  ○ 若服务端返回数据正常,说明前端(服务端)程序员在接受到数据之后的解析展示有问题,则bug属于前端(客户端)

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号