• 1
  • 1
分享
  • 抓包工具Charles常用场景实践
  • 饭团🍙 2020-09-24 16:07:12 字数 1676 阅读 2277 收藏 1

  Charles抓包工具的常用场景

  Charles是一款代理服务器(与Fiddler一样),通过成为电脑或者浏览器的代理,然后截取请求和请求结果分析数据的目的。

  在测试过程中,经常使用该抓包工具达到一下几种目的:

  获取数据分析缺陷的来源

  模拟网络请求:可选择已有的网络速度,也可手动编辑网速

  模拟request请求数据、模拟response响应数据

  黑名单:模拟请求超时、模拟请求返回404等

  环境准备工作

  1、手机设置代理

  连接wifi—代理—设为手动—填入charles所在电脑主机名(cmd--ipconfig)、端口号(8888)--确定

图1.png

  2、Charles设置端口号:proxy—proxy setting--8888--OK

图2.png

  3、SSL代理设置

  Proxy—SSL proxy setting—填入主机名及端口号

图3.png

  4、Proxy—start throttling

  通过以上四个步骤设置完成后,就可以开始进行测试

  设置黑名单

  1、选择需要加入黑名单的请求,鼠标点击右键--选择black list即添加成功

图4.png

  2、查看/修改已加入黑名单的请求

  菜单路径tools--black list;一般测试过程中用来模拟请求超时(Drop connection)或者返回403(Return 403 resopnse)

图5.png

  注意:

图6.png

  当黑名单添加成功后,对1001端口进行抓取,如图:

图7.png

  将黑名单去除后,对1001端口进行抓取,如图:(200为获取成功)

图8.png

  设置断点

  设置断点,可以修改请求request数据,也可以修改response响应数据。

  1.  Breakpoints settings(手动编辑断点内容)

  目前使用fiddler发现设置断点,该工具有的返回的格式不是json,导致客户端不会展示

图9.png

  使用charles工具,可以避免该问题,具体操作如下

  对要打断点的接口右键,选择【Breakpoints】,添加到断点列表后,进入proxy- Breakpoints settings设置断点的类型

  断点类型分为:request断点、response断点

图10.png

  此处设置的断点,需要实时编辑对应的断点内容

图11.png

  2.自动将指定的响应(response)数据改为固定返回值

  1)选择某一个网络请求>鼠标右键Save Response...

  2)如果该请求返回的是一个json串,保存文件时需要保存21006.json

  3)需要更改的请求点击右键Map Local..指定到本地保存的21006.json

  4)通过在本地更改21006.json就可以自动的更改请求的返回值。避免每次使用时修改breakpoints中的返回值,提高效率

图12.png

  3.自动将指定的请求(request)数据改为固定返回值

  1)选择某一个网络请求>鼠标右键map  remote,请求添加成功后

  2)点击tool>map remote settings进入设置页面,双击该请求打开编辑页面

  3)将编辑好的响应数据填充在编辑框的下半部分,如下图

图13.png

  按上述操作成功后,再次发起该请求,会自动使用已设置好的请求数据

  设置网速

  菜单路径:proxy-throttle settings,勾选enable throttling启动限速

图14.png

  根据以上设置成功后,接下来测试过程中发起的请求都会在该网络下运行。该功能主要用在模拟不同网速下的请求场景,例如:模拟弱网请求

  压测/重复发送请求

  菜单路径:tools-Repeat advance,也可以在控制台上选则某个请求,然后鼠标右键打开菜单,选择Repeat advance..,打开Repeat advance的设置窗口如下:

图15.png

  1.Iterations:重复次数

  2.Concurrency:并发

  3.Delays(ms):重复延迟间隔

  设置重复参数后,点击ok会打开新的session进行压测,压测结果如下图:

图16.png


作者:绿豆芽呀   

来源:51Testing软件测试网原创


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   北京时间12月12日早间消息,据报道,最近,在美国匿名网络论坛“Blind”上,社交网络巨头Meta的员工们通过各种评论,炮轰掌门人扎克伯格。  许多评论发表于Meta宣布解雇13%员工决定的日子,一些评论内容负面,当然也有一些对扎克伯格正面评价。  论坛一位用户将Meta这一次大规模裁员比喻为“饥饿游戏”,另外一位用户则称,扎克伯格面临一个很不确定的未来。  据报道,Blind属于美国面向职场人士的网络社区服务,来自不同企业的员工可以发帖,表达对于雇主的不满或意见。  根据论坛资料,用户如果想在Blind发帖,需要提供企业的工作邮箱、现任职务、公司名称等信息,这样论坛可以了解发帖人的职场...
            0 0 995
            分享
          •   艺术家们起诉人工智能艺术生成器,在一场首开先河的诉讼中遇到了绊脚石,联邦法官驳回了大多数索赔要求,原告认为这些生成器未经授权使用从互联网上下载的数十亿张图片来训练人工智能系统,且未支付任何报酬。  美国联邦地区法官威廉-奥瑞克(William Orrick)周一认定,针对 Midjourney 和 DeviantArt 的版权侵权索赔无法继续进行,并认为这些指控"在许多方面存在缺陷"。其中的问题包括:它们所运行的人工智能系统是否真的包含用于创作侵权作品的受版权保护的图片副本,以及在人工智能工具没有创作出相同材料的情况下,艺术家们能否证实侵权行为。针对两家公司的侵权、公开...
            0 0 992
            分享
          • 一、为什么抓包1、从功能测试角度通过抓包查看隐藏字段Web 表单中会有很多隐藏的字段,这些隐藏字段一般都有一些特殊的用途,比如收集用户的数据,预防 CRSF 攻击,防网络爬虫,以及一些其他用途。这些隐藏字段在界面上都看不到,如果想检测这些字段,就必须要使用抓包工具。2、通过抓包工具了解协议内容方便开展接口和性能测试性能测试方面,性能测试其实就是大量模拟用户的请求,所以我们必须要知道请求中的协议内容和特点,才能更好的模拟用户请求,分析协议就需要用到抓包工具;接口测试方面,在接口测试时,虽然我们尽量要求有完善的接口文档。但很多时候接口文档不可能覆盖所有的情况,或者因为文档滞后,在接口测试过程中,还...
            1 1 2720
            分享
          •        在俄罗斯入侵乌克兰后停止交易一年后,五家与俄罗斯有关的互联网公司将正式从美国证券交易所除名。这五家公司中最突出的是Yandex,一家有25年历史的科技公司,通常被称为"俄罗斯的Google",因为它的产品涵盖了搜索、电子商务、广告、地图、交通等等。       2011年5月,Yandex首次在纳斯达克上市,其母公司是在荷兰注册的Yandex N.V.公司。此后,三年后在莫斯科交易所进行了二次上市。作为一家上市公司,Yandex一直表现良好,在2021年11月达到历史最高点,市值3...
            0 0 2934
            分享
          •   关于越权漏洞,大家都熟知水平越权、垂直越权,未授权访问,此处不再赘述概念了。对于越权类漏洞的测试,通用的测试方法,也都是人工通过代理抓包工具截获报文,然后尝试删除Cookie测试是否存在访问越权,或者篡改Uid、Uno之类的值测试是否存在业务逻辑越权等。这种人工检测越权类漏洞的方法,不仅工作量大,而且效率低,还容易产生遗漏。AppScan作为一个自动化的渗透测试工具,具备自动扫描越权漏洞的能力,可大大提高测试覆盖率和效率,减少人工成本。所以,快跟我一起挖掘AppScan的这项隐藏技能吧。  这个功能的位置就在扫描配置-测试-特权升级,AppScan将越权叫做特权升级,表述略有不同,但是同一...
            13 14 1093
            分享
      • 51testing软件测试圈微信