zoukankan      html  css  js  c++  java
  • charles基础理论一

    Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。
    该软件是用Java写的,能够在Windows,Mac,Linux上使用。
     
    开发iOS都在Mac系统上吧,安装Charles的时候要先装好Java环境。
     
    所以其一大特点就是:跨平台。
     

    Charles主要功能

    • 抓取 Http 和 Https 的请求和响应,抓包是最常用的了。
    • 重发网络请求,方便后端调试,复杂和特殊情况下的一件重发还是非常爽的(捕获的记录,直接repeat就可以了,如果想修改还可以修改)。
    • 修改网络请求参数(客户端向服务器发送的时候,可以修改后再转发出去)。
    • 网络请求的截获和动态修改。
    • 支持模拟慢速网络,主要是模仿手机上的2G/3G/4G的访问流程。(弱网测试)
    • 支持本地映射和远程映射,比如你可以把线上资源映射到本地某个文件夹下,这样可以方面的处理一些特殊情况下的bug和线上调试(网络的css,js等资源用的是本地代码,这些你可以本地随便修改,数据之类的都是线上的环境,方面在线调试);
    • 可以抓手机端访问的资源(如果是配置HOST的环境,手机可以借用host配置进入测试环境)

    Charles安装:

        去Charles的官方网站(http://www.charlesproxy.com)下载最新版的相应操作系统的Charles安装包安装即可。

        Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。

        因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为Charles强制关闭而遇到影响。

    注意问题

    如果想要抓包,第一件事情,就是把 charles 设置成为本机和服务端之间的”过滤器”;

    让所有的网络请求全部经过 charles,这样就可以捕获并记录到你请求的内容和返回数据了,原理请参照上面那张图片;需要注意的是,如果你访问的是 web,可以把所有请求抓到;

    但如果你想抓某些应用(比如手机上的应用等),应用使用的某些资源,如果没有向服务器发送请求,而是通过调用内部资源的方式进行展现,那么此时 charles 是抓不到的;验证这个的方式很简单,就是把网络断掉后,如果还可以继续展现,就是属于调用内部资源的,这种时候就不要想着通过抓包工具来捕获资源了,他都没有像服务器发起请求,手机点烂也抓不到的;

    下篇随笔我们简单介绍下charles如何设置windows,和移动端设备的代理设置。

    讲完基础设置后,我们再来通过“案例”实战,和大家一起掌握charles工具的使用方法。







  • 相关阅读:
    hibernate 映射<二>一对一主键关联
    C# Convert Type to T
    008 OS模块
    001基础知识补充与拓展
    005Buffer(缓冲区)
    009path模块
    002nodejs简介与安装
    007http模块
    004NPM包管理器
    003nodejs的模块化
  • 原文地址:https://www.cnblogs.com/star12111/p/13389134.html
Copyright © 2011-2022 走看看