Charles--简单使用

Posted xxy0703

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Charles--简单使用相关的知识,希望对你有一定的参考价值。

1. 如何抓取HTTPS包

   1.1首先在charles的 Proxy选项选择SSL Proxy Settings

    Proxy -> SSL Proxying Settings...

 
  技术分享图片

 勾选Enable SSL Proxying,点击Add

  技术分享图片

   点add添加需要监视的域名,支持 *号通配符,端口一般都是443:

   1.2 电脑端安装根证书,注意一定把证书安装在受信任的第三方证书颁发机构目录下

   直接在Charles的Help菜单中安装;   技术分享图片

   1.3 手机设置代理

     设置--无线局域网--点击手机连接的WiFi--配置代理--选择手动--输入安装Charles的电脑的网络地址,端口填8888。
   1.4 在手机上安装Charles证书

        以ios为例,在Safri上打开Charles的根证书下载网址: chls.pro/ssl 。
       顺利的话会出现这样的画面,继续点安装,然后去设置里的描述文件管理中信任它就行了。

      技术分享图片

     如果不能下载,检查手机是否正确设置了代理,Charles是否已经打开并配置正确

 2. 模拟弱网

     Proxy--Throttle--settings
技术分享图片

    技术分享图片

3. 拦截请求

    3.1 通过Charles抓包,可拦截请求并篡改交互信息

          a. 可篡改客户端向服务器发起的请求信息(服务器收到的是假消息)
          b. 可篡改服务器返回给客户端的响应结果(客户端看到的是假消息)
 
      3.2 篡改用户请求
           在浏览器中输入请求,在Charles中会生成一个目录,选择最后一个节点,右键->Breakpoints
           技术分享图片
         
         在浏览器中刷新该页面,Charles会跳转到Breakpoints列表
技术分享图片

        技术分享图片

         篡改请求信息后,点击底部Execute按钮
       
         返回浏览器查看服务器返回结果,返回的页面信息为修改请求后的页面,而不是用户真正请求的页面
    3.3 篡改服务器响应结果
         a. 设置Breakpoints,将请求信息拦截
         b. 点击底部Execute按钮,跳转到如下界面
            技术分享图片
         c. 删除Text中的所有信息,输入<h1>Hi~</h1>,点击Execute
            技术分享图片
        d. 返回浏览器查看页面,展示信息如下
           技术分享图片
4. 怎么做URL映射
   4.1 Map Remote
        Tools--Map Remote
       技术分享图片
    4.2 Map Local
         注意:Map Local的location必须加www
         技术分享图片
    4.3 Map Remote 与Map local的区别
          Charles 的 Map 功能分 Map Remote 和 Map Local 两种,Map Remote 是将指定的网络请求重定向到另一个网址请求地址,Map Local 是将指定的网络请求重定向到本地文件。
          对于 Map Remote 功能,我们需要分别填写网络重定向的源地址和目的地址,对于不需要限制的条件,可以不填
          对于 Map Local 功能,我们需要填写的重定向的源地址和本地的目标文件。对于有一些复杂的网络请求结果,我们可以先使用 Charles 提供的 “Save Response…” 功能,将请求结果保存到本地(如下图所示),然后稍加修改,成为我们的目标映射文件。 
           Map Local 在使用的时候,有一个潜在的问题,就是其返回的 Http Response Header 与正常的请求并不一样。这个时候如果客户端校验了 Http Response Header 中的部分内容,就会使得该功能失效。解决办法是同时使用 Map Local 以下面提到的                        Rewrite 功能,将相关的 Http 头 Rewrite 成我们希望的内容。
 


以上是关于Charles--简单使用的主要内容,如果未能解决你的问题,请参考以下文章

Charles 抓包的简单实用

charles抓包

charles使用教程指南

Charles几个常用测试功能小结

Charles的功能操作--简单压力测试

推荐个抓包工具Charles的使用