Charles 使用介绍

1.1Charles 介绍

 Charles 可以在Windows,Mac下进行网络数据抓包,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。
        Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。
Charles 主要的功能包括:
    截取 Http 和 Https 网络封包。
    支持重发网络请求,方便后端调试。
    支持修改网络请求参数。
    支持网络请求的截获并动态修改。
    支持模拟慢速网络。

Charles安装:https://www.charlesproxy.com/download/,下载完需要破解,官网最新版本是4.5.6

下载好之后可以到https://www.zzzmode.com/mytools/charles/,选择自己下载的版本进行破解,将生成的jar文件拷贝到安装目录下;替换本地charles.jar文件

替换本地charles.jar文件,windows系统位置:Charles\lib\charles.jar  macOS: Java/charles.jar


1.2Charles 使用


  设置代理:
  如果是mac系统
  选择菜单中的"Proxy" –>"Mac OS X Proxy" 来将 Charles 设置成系统代理。
  windows系统:
  选择菜单中的"Proxy" –> "windows Proxy" 来将 Charles 设置成系统代理。
在抓取Chrome 和 Firefox 数据包时,需要设置代理服务器为手动
查看Charles的默认端口是8888,可以查看本地的ip地址,在help->local ip address可以查看本机ip,注意是电脑自身分配的ip是惟一的(或者在命令行输入ipconfig查看ip地址)

                                            

charles的主界面:

Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”

  1. Structure 视图将网络请求按访问的域名分类。
  2. Sequence 视图将网络请求按访问的时间排序。

对网络请求进行过滤:

方法一:在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。

方法二:在 Charles 的菜单栏选择 “Proxy”–>“Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了

方法三:在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 

抓取Chrome数据包:需要设置代理服务器为手动,并设置端口,或者下载扩展程序

Proxy SwitchySharp,设置代理服务为手动,这样可以自动检测到charlse,不需要来回切换,如图所示

使用charles抓取手机app数据包:

要截取 手机端的网络请求,我们首先需要将 Charles 的代理功能打开。在 Charles 的菜单栏上选择 “Proxy”–>“Proxy Settings”,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的设置。

在 手机端的 “ 设置 ”–>“ 无线局域网 ” 中,需要设置手机连接的wifi的「HTTP 代理」一项,我们将其切换成手动,然后填上 Charles 运行所在的电脑的 IP,以及端口号 8888

设置好之后,我们打开 手机端上的任意需要网络通讯的程序,就可以看到 Charles 弹出 手机端请求连接的确认菜单(,点击 “Allow” 即可完成设置。

 

如果你需要截取分析 Https 协议相关的内容。那么需要安装 Charles 的 CA 证书。具体步骤如下。

首先我们需要在 电脑上安装证书。点击 Charles 的顶部菜单,选择 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate”,然后输入系统的帐号密码,即可在 KeyChain 看到添加好的证书。如下图所示:

 

在手机端抓取https请求时也需要安装证书,可以点击Help –> SSL Proxying –> Install Charles Root Certificate on a Mobile Device or Remote Browser,然后就可以看到 Charles 弹出的简单的安装教程,可以使用adb将安装好证书push到手机端。

提示只要设置服务代理,直接在浏览器器输入地址chls.pro/ssl  就可以下载证书

用charles抓取浏览器https的包时,请求显示为unknown,且请求和响应数据乱码,本篇介绍如何抓取正常响应的https请求
导入证书:为本地计算机导入受信任的证书
添加域名:proxy-SSL proxying Setting设置指定域名,https请求端口443

详细教程可以参考:https://www.cnblogs.com/peng-lan/archive/2004/01/13/11242954.html

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页