2021.2.21charles抓包与Mock实战

1、环境准备

   1.1. Charles安装

  • 官方下载地址 66

  • windows:官网下载并按照步骤一步步安装即可

  • Mac:官网下载并按照步骤一步步安装即可image-20200805111655417

  • Linux:

    wget -q -O - https://www.charlesproxy.com/packages/apt/PublicKey | sudo apt-key add -
    sudo sh -c 'echo deb https://www.charlesproxy.com/packages/apt/ charles-proxy main > /etc/apt/sources.list.d/charles.list'
    sudo apt-get update
    sudo apt-get install charles-proxy      下载较慢请耐心。。
    

      运行

  • Charles是一个收费工具,可以免费试用30天,之后如果没有付费的话,会30分钟自动关闭一次,不影响功能使用。

     破解

     Registered Name: https://zhile.io

     License Key: 48891cf209c6d32bf4

  1.2. 安装mitmproxy

  • 官方网站

https://docs.mitmproxy.org/stable/overview-installation/ 40

     1.2.1  安装

   windows 安装

  • pip install pipx
  • pipx install mitmproxy
  • 安装之后需要配置环境变量:安装成功的提示中会给出需要配置的目录,将其配置到
    path环境变量中重启cmd即可
  • 显示如图即为成功

  mac 安装

brew install mitmproxy

  1.2.2证书配置

   本机证书配置

    1. 如果要抓取https的包,就需要安装证书,证书安装三种方法:1. 帮助-->SSL代理-->安装证书      2.帮助-->ssl代理-->保存证书,完了再点击安装   3. 帮助-->ssl代理-->在远程设备或远程浏览器安装charles证书,chls.pro/ssl  

    2.  如果要抓取HTTPS得请求也需要在charles上设置,可以先都用通配符*,表示抓所有的地址和端口

    3. 工具:SwitchyOmega(https://www.cnblogs.com/wukai66/p/12599362.html)

   

 

 

   模拟器配置,手机抓包

   

 

  1.mumu模拟器修改网络设置:设置--WiFi--鼠标左键长按--修改网络--代理--手动--设置服务器主机名和端口号保存即可

  2.打开浏览器,输入:chls.pro/ssl,  然后自动开始下载证书(注意有些模拟器有坑,如果未下载证书,进去模拟器的飞行模式开关几次尝试下)

  3.证书是否成功安装的验证方法:打开百度刷新,查看charles中是否有数据包

2、掌握的知识点

  • 计算机网络基础知识
  • Charles环境搭建、证书安装

   2.1接口抓包工具

             

 

 

    面试考点:TCP协议在传输层,charles工具在应用层(只支持https协议,不支持抓sockt、websocket协议)http协议在应用层

    网络层不能抓包

  2.2 charles抓包工具的功能

                 

 

 

    charles将自己设为网络服务的代理服务器,可以抓取http的数据,几乎可以修改请求里的所有内容

    

   

 

 

 

 http默认端口是80,明文传输,不安全

  https默认端口是443,密文传输,若要代理截取数据,需安装证书

 

3. charles在测试中常见的应用场景

   3.1 网络模拟

           比如弱网测试,老测试方法:在电梯中、用锡箔纸包裹路由器等

 开启throttle setting限流后,点击确定,小乌龟就变成高亮了:设置56kb时就看到数据传输非常慢

3.2 断点

 app上的断点设置是比较少的,断点还没处理完,app就会重试3次,所以断点失败;所以可以用rewrite

rewrite

 

 如果想修改所有的数值。可用正则匹配:\d+\.\d+      勾选使用正则regex

 

 

课后作业

  • 一般作业:使用 Rewrite 修改股票的名称、价格
  • 拔高作业:只修改股票列表内的股票名称、价格
posted @ 2021-01-21 19:37  方园FPP  阅读(227)  评论(0编辑  收藏  举报