Charles

Charles是一个HTTP代理/ HTTP监视器/反向代理,使开发人员能够查看其机器和Internet之间的所有HTTP和SSL / HTTPS流量。

功能

  • 抓取Http和Https的请求和响应
  • 重发网络请求,方便后端调试
  • 修改网络请求参数
  • 网络请求的截获和动态修改
  • 支持流量控制,可以模拟慢速网络以及等待时间较长的请求
  • 支持本地映射和远程映射,比如你可以把线上资源映射到本地某个文件夹下,这样可以方面的处理一些特殊情况下的bug和线上调试
  • 可以抓手机端访问的资源

手机抓包设置

第一步:设置charles为允许状态,并设置好接入端口;

  • 菜单栏点击Proxy->Proxy Settings,填入代理端口8888,同时勾选“Enable transparent HTTP proxying” 
  • 点击Help->local IP Address 可以看到当前的本机IP地址,也可以在终端输入ipconfig可以查看本机的IP

第二步:把手机按照charles的IP和端口进行配置;

  • 打开手机的wifi设置,选择跟电脑端同个局域网下的wifi点击查看详情,拉到底部看到HTTP代理这项,选择手动代理,填写上一步获取电脑端的IP及端口号8888。

第三步,手机配对成功后,charles弹窗询问是否允许,选择Allow;

Https抓包

第一步:安装证书;例如IOS,在手机Safari浏览器输入地址 chls.pro/ssl,出现证书安装页面,点击安装,iOS 10.3以上系统,需要在 设置->通用->关于本机->证书信任设置 里面启用完全信任

弟二步:菜单栏点击Proxy -> SSL Proxying Settings,勾选“Enable SSL Proxying”,再点击Add,Host填写:*,Port填写:443,再次抓包就可以看到https请求的具体内容了

重复发包repeat,可做压力测试

  • 在要重复发包的请求上右键选择repeat advance
  • 填写重复的并发线程数Iterations以及重发次数Concurrency,确定之后,即可开始重复发包。

修改服务器返回内容

  • Map功能适合长期地将某一些请求重定向到另一个网络地址或本地文件
  • Rewrite功能适合对网络请求进行一些正则替换
  • Breakpoints功能适合做一些临时性的修改

posted @ 2020-06-03 17:47  灿钿  阅读(157)  评论(0编辑  收藏  举报