码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Charles 抓包工具教程(四) Charles 如何进行断点调试


    本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~

    这里写目录标题

    • 一、Charles 设置断点
    • 二、Charles 断点实践
      • 2.1 、 寻找一个接口
      • 2.2 、 Charles 设置断点
        • 2.2.1 、 请求数据打断点-Request
        • 2.2.2 、 响应数据打断点-Response
      • 2.3 、 拦截一个Post请求

    一、Charles 设置断点

    路径:Proxy > Breakpoint Setting > 勾选 Enable Breakpoints ,如下图所示:
    在这里插入图片描述
    点击Add ,新增 断点规则 ,如下图所示 :
    在这里插入图片描述

    Scheme : 拦截进行断点的接口方法,选项有 GET 和 POST
    Protocol: 协议,选项有HTTP 和 HTTPS
    HOST : 域名,或者IP地址
    Path : 路径
    Query:URL 中 ? 后面拼接的查询参数
    Request : 在发送请求的时候打断点,可以修改请求内容,之后再把请求转发送给服务器
    Response:在请求响应回来的时候打断点,可以修改响应内容,之后再把响应结果转发给客户端

    【敲黑板知识点】
    以上字段支持通配符,比如说Path ,填写 /test/api1 ,只支持拦截/test/api1 这一个接口,是全匹配,比如无法匹配 /test/api1/apis ;如果填写/test/* ,就能够匹配以/test/开头的所有接口,比如 /test/api1 、/test/api1/apis
    所有的字段都是选填,如同我们常规理解的筛选条件一样,但是为了规则的有效性,Request 和 Response 必须二选一

    二、Charles 断点实践

    2.1 、 寻找一个接口

    本地服务的一个接口:GET 方法 ,计算两个参数 p1 和 p2 的和 ,1+2 = 3
    在这里插入图片描述

    2.2 、 Charles 设置断点

    2.2.1 、 请求数据打断点-Request

    在这里插入图片描述
    如上图所示,在发送请求时,进行请求的断点拦截,修改p2 = 6,预期响应结果为 7
    如下图所示,拦截到接口,进入 Edit Request 页面,将p2 参数由2调整为6 ,点击Execute 将接口放行转发给服务器。
    在这里插入图片描述
    预期结果和实际结果一致,断点修改成功。

    在这里插入图片描述

    2.2.2 、 响应数据打断点-Response

    在这里插入图片描述
    如上图所示,接到服务器的响应之后,进行断点拦截,将响应结果调整为 5
    如下图所示,拦截到接口,进入 Edit Response 页面,选择下方的Text ,将内容由3调整为 5,点击Excute 将接口放行转发给客户端
    在这里插入图片描述
    结果如下图:
    在这里插入图片描述
    Tips: 有一点需要特别强调,这样打断点修改数据的方式特别考验手速,以及每次操作的准确性。如果修改的时间过长,超出了客户端的 超时时间 ,那么本次的请求就会失效,哪怕最后请求响应成功,客户端也不认了,因为晚了。

    2.3 、 拦截一个Post请求

    在这里插入图片描述
    如上图所示,post方法 ,计算p1-p2 的值 9-2 =7
    断点规则设置如下,如下图所示:
    在这里插入图片描述
    拦截请求,调整请求内容,如下图所示:
    在这里插入图片描述
    响应结果,11-2 = 9
    在这里插入图片描述
    同理可以设置拦截Response,就不再赘述。


    文末说明
    推荐博文:接口测试经典面试题:Session、cookie、token有什么区别?

  • 相关阅读:
    protel9s【硬件课程设计】
    网安周报|OpenSSF 推出恶意软件包存储库
    每日一题 —— LC. 805 数组的均值分割
    一探究竟:为什么需要 JVM?它处在什么位置?
    抖音矩阵系统源码,抖音矩阵系统定制独立部署,lucky。
    小熊听书项目的测试
    基于RTT的espWiFi连接OneNet云端
    react 网页/app复制分享链接到剪切板,分享到国外各大社交平台,通过WhatsApp方式分享以及SMS短信方式分享链接内容
    SpringMVC之JSR303和拦截器
    yolov5 + openvino + c++测试
  • 原文地址:https://blog.csdn.net/qq_15283475/article/details/127770559
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号