charles使用

449 阅读2分钟

连接手机

  • 展开提示框:Help -> SSL Proxying

  • 保证手机和电脑连接同一个wifi,然后将手机的代理设置为提示框所写(或者直接查看电脑ip ifconfig | grep 192.168),如图:host:192.168.1.110, port: 8888

  • 手机使用如UC浏览器访问chls.pro/ssl(不要用本机浏览器,很多不能下载)来下载证书,完成证书安装即可

    • 意外情况,证书无法安装,可以直接将证书保存到本地(在charles的help -> ssl proxying -> save charles root certificate中),然后将证书拖拽到手机中进行安装即可;
  • 安装完手机后,进入手机的受信任的凭据/用户可以看到安装的证书,证书安装的具体位置要看手机而言,上述为华为手机

  • 完成上述步骤即完成手机的代理,即可在Charles中看到请求的各种内容

篡改功能

  • 为什么用到篡改?目的是不操作数据库,通过篡改接口返回数据来看前端页面逻辑,可以理解为mock数据

  • 如何使用篡改,首先连接篡改页面的样子

  • tools - rewrite进入,location表示要具体篡改的请求

    可以不填写任何内容即保存,表示所有请求都会被篡改;或者指定特定接口进行篡改

  • modify content表示要具体篡改的内容

    • 假设headers缺少content-type:application/json ,可以选择typeadd header,增加content-type为所想要即可,生效后会对所设置的location进行更改
    • 假设想要修改body,选择typebody,然后可以将特定值进行替换,此时不需要使用正则(即不使用regex);假设想要使用正则,选择regex,写好正则即可

断点功能

  • 断点功能和篡改功能背景是一样的,他是在代理层将数据进行篡改

    strucure中找到对应接口,加上breakpoints即表示要对此接口进行断点;(或者进入proxy -> breakpoint settings)可自定义进行断点设置

  • 开启断点开关后即可进行断点

  • 当请求过来时,就会被charles拦截,像debug代码一样点击页面excute执行,过程中可以修改请求时的请求数据,或者修改响应数据

弱网

  • 进入proxy -> throttle settings即可自定义设置弱网