Charles下载安装

官网下载安装:https://www.charlesproxy.com/

电脑证书配置

如果不配置证书,无法抓取https协议

  • 配置证书:

    1 - 打开Charles,在help - SSL Proxying - Install Charles Root Certificate



    2 - 设置ssl:

  • 如果勾选以下选项,那么所有经过电脑的网络都会被抓取

为了规避所有经过电脑都抓取数据的杂乱,使用以下方法

  • 抓取浏览器的数据

    在浏览器使用SwitchyOmega设置charles监听端口,下载地址:https://proxy-switchyomega.com/ (根据教程安装使用)
  • 下载安装之后,点击 “选项” - 新建情景模式 - 代理协议选择http - 代理服务器选择 127.0.0.1

    代理端口和Charles设置的代理端口一致



移动端代理配置

  • 1 - 移动端需要与pc端处于同一网络(wifi)
  • 2 - charles

  • 3 - 移动端 修改网络(一般是长按已经链接的wifi),以下两个地址必须与charles一致

  • 4 - 配置证书(与pc端一样,配置证书才能抓取到https)

    打开移动端原生浏览器:chls.pro/ssl

    5 - 注意:android6以上的系统 app默认不信任抓包证书,需要开发修改代码,大部分测试app安装包默认打开状态

抓包分析

  • 应用场景:

    • 解决移动端接口测试
    • 解决接口测试过程中检查参数错误问题
接口分析

限速模拟(手机端测试app时使用)

  • 1 - 开启模拟



    2 - 右下角会出现以下标识



    3 - 设置网速



mock

优点:
  • 不依赖第三方数据
  • 节省工作量
  • 节省连调
使用场景:
  • 1 - 前后端数据交互-前端数据展示

    比如:查看数据边界值场景(超出长度或者股票因为数据变化引发的对应的颜色变化是否符合预期)

    代理返回给客户端相应信息的时候篡改相应信息,查看客户端是否是我们期望的结果

  • 2 - 模拟第三方响应(需开发配合)

    因为某些第三方接口(征信系统、短信系统)会收取费用,会造成成本过高,所以在获取付费接口数据的时候需要开发设置走代理端口,征信系统会返回数据给代理,这时代理就可以篡改数据信息,从而提高测试效率

  • 3 - 软硬件解耦(需开发配合)

    因为公司硬件设备比较昂贵,测试人员不可能人手一台,但又不得不使用的情况,mock原理与模拟第三方基本一致

mock例子 修改响应信息

charles Rewrite:

  • 1 -

  • 2 -

    • 修改规则:

      • 内容匹配

      • 正则匹配(需要勾选Regex)

charles另一大神器:MAP LOCAL

Rewrite 只能进行匹配,如果想精确的进行某一个字段进行修改,而这个字段有容易与其他字段冲突,那怎么办?

使用MAP LOCAL
  • 原理:与服务端没有任何交互,直接读取本地数据文件(即,使用本地json文件替代第三方服务)

  • 针对性会更强

    • 解决的问题:硬件设备不可用
  • 使用:

    • 1 - 首先要拿到正常的响应信息



      2 - 保存json文件

    • 3 - 打开quote.json文件,修改相关数据

    • 4 - 在charles右键响应体文件选择Map Local



    • 右下角会有标记

|

|

|

|

ps:学习笔记,如有侵权,请联系删除,感谢霍格沃兹测试学院

抓包分析与mock实战的更多相关文章

  1. 实战录 | 基于openflow协议的抓包分析

    <实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士安全SDN工程师宋飞虎,将带来基于 ...

  2. Http实战之Wireshark抓包分析

    Http实战之Wireshark抓包分析 Http相关的文章网上一搜一大把,所以笔者这一系列的文章不会只陈述一些概念,更多的是通过实战(抓包+代码实现)的方式来跟大家讨论Http协议中的各种细节,帮助 ...

  3. python爬虫(3)——用户和IP代理池、抓包分析、异步请求数据、腾讯视频评论爬虫

    用户代理池 用户代理池就是将不同的用户代理组建成为一个池子,随后随机调用. 作用:每次访问代表使用的浏览器不一样 import urllib.request import re import rand ...

  4. Wireshark抓包分析/TCP/Http/Https及代理IP的识别

    前言 坦白讲,没想好怎样的开头.辗转三年过去了.一切已经变化了许多,一切似乎从没有改变. 前段时间调研了一次代理相关的知识,简单整理一下分享之.如有错误,欢迎指正. 涉及 Proxy IP应用 原理/ ...

  5. HTTP2特性预览和抓包分析

    背景 近年来,http网络请求量日益添加,以下是httparchive统计,从2012-11-01到2016-09-01的请求数量和传输大小的趋势图: 当前大部份客户端&服务端架构的应用程序, ...

  6. 抓包分析SSL/TLS连接建立过程【总结】

    1.前言 最近在倒腾SSL方面的项目,之前只是虽然对SSL了解过,但是不够深入,正好有机会,认真学习一下.开始了解SSL的是从https开始的,自从百度支持https以后,如今全站https的趋势越来 ...

  7. 在Hdsi2.0 SQL的注入部分抓包分析语句

    在Hdsi2.0 SQL的注入部分抓包分析语句 恢复cmd ;insert tb1 exec master..xp_cmdshell''net user ''-- ;exec master.dbo.s ...

  8. [转] Android实时抓包分析 : 善用adb调试桥

    Android实时抓包分析 : 善用adb调试桥   谈到android网络抓包,很多人都能想到牛逼轰轰的神器tcpdump.方法就是在android机器上面安装tcpdump,然后通过-w参数把抓包 ...

  9. 云计算之路-阿里云上:Wireshark抓包分析一个耗时20秒的请求

    这篇博文分享的是我们针对一个耗时20秒的请求,用Wireshark进行抓包分析的过程. 请求的流程是这样的:客户端浏览器 -> SLB(负载均衡) -> ECS(云服务器) -> S ...

随机推荐

  1. python3 迭代器&生成器

    前戏:列表生成式 等于 用列表生成式生成列表.需要将所有数据生成到内存中,占用空间,如果数据太多.生成数据就会耗时较久. 例如需要运行卡顿一下..... 定义一个生成器:定义时不生成任何数据,只有通过 ...

  2. SQL注入绕过

    空格字符绕过 %09 TAB建(水平) %0a 新建一行,换行 %0b TAB建(垂直) %0c 新的一页 %0d return 功能 %a0 空格 %00 /**/ /*!*/./*!50009*/ ...

  3. SpringBoot整合kafka的简单应用及配置说明

    引入依赖 <!-- https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka --> <de ...

  4. python3实战之字幕vtt与字母srt的相互转换

    关于 0.本文将介绍一个字幕格式vtt与srt相互转换的py脚本. 1.代码大部分出自: https://www.cnblogs.com/BigJ/p/vtt_srt.html 2.但是自己针对上面的 ...

  5. 【LeetCode】900. RLE Iterator 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/rle-itera ...

  6. 【嵌入式】keil不识别野火高速dap的问题

    解决方法:https://www.firebbs.cn/thread-28093-1-1.html

  7. A Simple Framework for Contrastive Learning of Visual Representations

    目录 概 主要内容 流程 projection head g constractive loss augmentation other 代码 Chen T., Kornblith S., Norouz ...

  8. oracle函数listagg使用

    作用 可以实现将多列记录聚合为一列记录,实现数据的压缩 语法结构 listagg(measure_expr,delimiter) within group ( order by order_by_cl ...

  9. Hadoop(HDFS,YARN)的HA集群安装

    搭建Hadoop的HDFS HA及YARN HA集群,基于2.7.1版本安装. 安装规划 角色规划 IP/机器名 安装软件 运行进程 namenode1 zdh-240 hadoop NameNode ...

  10. Shell调试Debug的三种方式

    Shell脚本进行Debug调试的三种方法如下: 1.在调用脚本的时候开启deubg sh -x shell.sh 2.在脚本文件首行开启deubg #!/bin/bash -x 3. 使用set开启 ...