美文网首页
Charles 使用笔记

Charles 使用笔记

作者: 坏土豆丝 | 来源:发表于2017-08-05 13:45 被阅读128次

简介

cover.jpg

       Charles 是常用的网络抓包工具,而对于我们做移动开发人员来说,为了调试与服务器通讯的协议等信息的时候,需要抓起网络封包来分析.

       Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

         除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。

功能

  1. 截取 Http 和 Https 网络封包。

   2. 支持重发网络请求,方便后端调试。

   3. 支持修改网络请求参数。

   4. 支持网络请求的截获并动态修改。

   5. 支持模拟慢速网络。

   6. 支持 Http2 (Charles 4.x)

    7.支持 IPv6 (Charles 4.x)

安装

途径一Charles官网下载 ,提醒一下,这个是收费软件,试用只有30天,到期不付费也不会影响你所试用的功能,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。

途径二点击这里,输入验证码:trqq ,里面有安装和破解教程。

配置

      启动 Charles 后,第一次 Charles 会请求你给它设置系统代理的权限。你可以输入登录密码授予 Charles 该权限。你也可以忽略该请求,然后在需要将 Charles 设置成系统代理时,选择菜单中的 “Proxy” -> “Mac OS X Proxy” 来将 Charles 设置成系统代理。

config Proxy.jpg

功能介绍

    1.  Charles 主要界面功能介绍,👇

视图模式和页面内容信息.jpg

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

           1)  Structure 视图将网络请求按访问的域名分类。

           2)  Sequence 视图将网络请求按访问的时间排序。

      可以根据具体的需要在这两种视图之前来回切换。请求多了有些时候会看不过来,Charles 提供了一个简单的 Filter 功能,可以输入关键字来快速筛选出 URL 中带指定关键字的网络请求。

   2.  白名单过滤

       通常情况下,我们需要对网络请求进行过滤,只监控向指定目标服务器上发送的请求。对于这种需求,以下两种办法:

方式一:在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:https://www.baidu.com, 那么只需要在 Filter 栏中填入 baidu.com 即可。

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

方式三:在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 一项,如下图所示:

filter config.jpg 方式三.jpg

上面介绍的是Charles 截取本地上的网络封包,但是我们是客户端开发人员,截取其设备上的网络请求才是我们想要的,下面我就以 iPhone 为例,讲解如何进行相应配置操作。


客户端网络封包抓取

   1. Charles 配置

     要截取 iPhone 上的网络请求需要将 Charles 的代理功能打开,选择 “Proxy”->"Proxy Settings”,填入代理端口 8899(个人喜好),并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的设置。如下图所示:

Proxy setting.jpg

   2. iPhone 上的设置

      1) 查看本机IP Address

      不用打开设置,查看网络了,还是停留在Charles界面,Charles 的顶部菜单的 “Help”->”Local IP Address”,即可在弹出的对话框中看到 IP 地址👇:

Local IP Address.jpg

     2) iPhone设置

       在 iPhone 的 “ 设置 “->” 无线局域网 “ 中,可以看到当前连接的 wifi 名,通过点击右边的详情键,可以看到当前连接上的 wifi 的详细信息,包括 IP 地址,子网掩码等信息。在其最底部有「HTTP 代理」一项,我们将其切换成手动,然后填上 Charles 运行所在的电脑的 IP ,以及端口号 8899👇:

iPhone Proxy config.jpg

设置好之后,打开 iPhone 上的任意需要网络通讯的程序,就可以看到 Charles 弹出 iPhone 请求连接的确认菜单(如下图所示),点击 “Allow” 即可完成设置。

    3) 安装证书

    菜单栏选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate on a Mobile Device or Remote Browser” 

chose install Certificate.jpg

    弹出一个窗口,提示下载证书的地址,chls.pro/ssl,在浏览器输入该地址下载并信任证书,完事儿之后就能策马奔腾,得到你想要抓的数据咯

url download Certificate.jpg 

     在浏览器中输入 chls.pro/ssl 后,安装步骤👇

install setp.jpg

问题总结(如果所有配置正常,仍抓不到自己想要的数据)

1.  iPhone "设置"->"通用"->"描述文件"->"Charles Proxy CA" 查看是否正确安装;

2. iPhone "设置"->"通用"->"关于本机"->"证书信任设置" ,开启针对Charles Proxy CA信任的开关;

相关文章

  • Charles Proxy 任何版本破解

    Charles Proxy使用笔记(文内有好礼) 本文假定你知道Charles Proxy(以下简称Charles...

  • FridaHook笔记

    前言 个人学习笔记 置顶 hook加密 hook js 笔记 一、解决淘系抓不到包的问题 使用Charles、Fi...

  • Charles 使用笔记

    简介 Charles 是常用的网络抓包工具,而对于我们做移动开发人员来说,为了调试与服务器通讯的协议等信息的...

  • Charles 使用笔记

    工作中会需要对一些有价值的网页、应用进行数据采集,那么采集前我们会对数据结构进行解析,因最近想采集一款APP的数据...

  • HTTPS通信原理&Charles抓取HTTPS原理

    HTTPS通信原理 Charles抓取HTTPS原理 Charles使用教程详解 抓包工具Charles的使用心得

  • iOS Charles安装与使用文章列表

    抓包工具Charles的使用心得 Charles使用手册 iOS开发之抓包工具Charles的安装配置及使用详解

  • Charles For Mac 使用笔记

    Charles For Mac版是Mac系统网络接口数据抓取的一款工具,无论是作为开发人员还是测试人员,在实际开发...

  • charles 的使用

    charles 的使用

  • Charles4.0破解及使用

    Charles4.0破解及使用 下载地址 Charles 4.0 提取码:3xfh Charles 4.0...

  • Charles使用指南

    Charles使用指南 [TOC] ① Charles简介 Charles 是在 Mac 下常用的网络封包截取工具...

网友评论

      本文标题:Charles 使用笔记

      本文链接:https://www.haomeiwen.com/subject/kouilxtx.html