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

一、概念

  抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全等。

  二、为什么进行抓包测试

  1、有时候公司中接口文档某几个信息可能不详细,要测试这些接口的请求参数与响应结果,以及数据传输是否安全,那么可以使用抓包工具

  2、通过抓取数据请求,可以放到Jmeter中对服务器做压力或者接口测试

  3、通过抓包工具,可以分析接口的请求参数、响应结果以及数据传输是否安全

  4、通过抓包工具,可以编辑请求或者响应,达到测试效果

  三、抓包请求原理

  四、抓包工具之Charles

  4.1、Charles破解

  help–>register charles

  *

  * 48891cf209c6d32bf4

  4.2、关闭电脑的防火墙

  4.3、抓包常用操作

  4.3.1、设置charles允许代理

  4.3.1.1、proxy–>proxy setting -->勾选enable…

  4.3.1.2、设置手机/模拟器http代理为手动代理并输入ip地址及端口号

  4.3.1.3、操作手机时,弹出是否允许的询问框时,点击allow

  4.3.1.4、添加过滤器

  我们可以在工作中过滤到需要查找的接口。

  4.3.2、设置抓取https请求

  安装charles之后的完整设置——>http/https

  ● 设置Charles允许抓取http

  ○ proxy——>proxy setting——>勾选enable proxying http

  ● 关闭电脑防火墙,并使电脑和手机处在同一网络下

  ● 设置手机上网经过代理服务器

  ○ 选择WiFi高级(修改网络)——>选择手动代理——>输入电脑IP和Charles运行的端口号(一个端口只能运行一个应用)

  ● 当电脑网络更换后,需要重新设置IP!

  ● 操作手机时,Charles上会弹出允许/拒绝的询问框,点击allow

  ● 电脑上安装Charles证书并信任证书

  ○ 安装到电脑

  ■ Charles;help——>ssl proxying——>点击install charles root certificate(安装ca证书)

  ○ 电脑信任证书

  ■ 找到IE浏览器C:\Program Files\Internet Explorer

  ● 设置——>Internet选项——>内容——>证书

  ○ 需要把Charles证书放到受信任里面

  ○ 若在受信任里边,无需造作;若在中间证书颁发机构里边,需要导出,然后导入到受信任的根证书颁发机构里边

  ● 手机上安装证书

  ○ Charles选择help——>ssl proxying——>点击install charles certificate on a mobile device…

  ○ 打开手机浏览器 输入chls.pro/ssl进行安装证书

  ● Charles进一步设置抓取https

  ○ proxy——>ssl proxying setting——>勾选enable ssl proxing并添加主机和端口号(建议直接添加)

  4.3.3、断点操作

  4.3.3.1、断点操作的原因

  我们在做前后台联调测试的时候,需要修改后台数据库中的数据,来查看前台页面上数据是否对应的改变,但是很多情况下我们没有修改数据库的权限,可以借助于断响应的操作来模拟的修改后台数据。

  proxy–>breakpoints setting -->enable breakpoints(允许断点)

  4.3.3.2、断请求

  4.3.3.3、断响应

  4.3.4、弱网测试

  4.3.4.1、弱网设置

  原理:限制带宽

  proxy–>throttle setting–>勾选enable throttle–>only for select hosts(只限速选中的主机路径)

  4.3.4.2、弱网原理

  ● charles模拟弱网的原理是限制带宽fiddler模拟弱网是延长时间

  ● charles可以只对某个主机路径进行限速;而fiddler是对所有的路径进行限速

  ● 2G:15-20kb/s、一般设置10kb/s的速度

  ● 注意:不使用弱网的时候,一定关闭限速

  4.3.5、模拟本地数据Map Local

  4.3.5.1、使用map local进行mock数据的原因

  我们在做前后台联调测试的时候,需要修改后台数据库中的数据来查看前台页面是否会对应改变,可以借助map local的功能,通过修改本地数据来模拟的修改后台数据库数据。

  【注】不使用的时候 关闭map local : tools–>map local–>取消勾选enable map local

  4.3.6、模拟远程服务器Map Remote