抓包工具 Charles 使用心得
前言
虽然实习工作还没有着落,但学习还是要继续的嘛,今天就来学习使用下 Mac 下截取网络封包的工具:Charles。
我想,如果你是个善于利用搜索引擎的人,那么在 Google 中输入「Charles 使用」等相应的关键字,便会出现一大把文章。
不过呢,之所以会有这篇文章,就是因为今天在安装和初步使用的过程中,遇到了些问题,而目前搜索出来的绝大数文章并没有提及(或者解决办法已经过时)。所以,我在此记录下来,希望能帮助到通过搜索找到这的朋友们。
付费 & 正版 & 破解
Charles 是收费软件,可以免费试用 30 天。试用版本每次使用时间不能超过 30 分钟,使用过程中不定时会中断 5 秒钟,并且启动时将会有 10 秒种的延时。因此,该试用方案对广大用户还是相当友好的,只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。
如果手头经济宽裕,建议上官网购买正版。
除此之外,网上也有破解版,在 http://charles.iiilab.com/ 这个网站可以下载到Charels各个版本的破解版。
VPN
当我打开 Charles(Mac OS X Proxy 已选择),按理说,我立刻就能看见源源不断的网络请求出现在 Charles 的界面中啦,可为什么始终是一片空白呢?
一番搜索,终于在这里 Charles proxy not working with Chrome 找到了答案:
For anyone else using VPN: Charles must be turned on before VPN. So quitting VPN after turning on Charles won’t work either.
没办法,为了正常使用 Charles,只能暂时把梯子撤了:

乱码
刚开始用着挺好的啊,怎么一言不合,就来个乱码呢?

于是,便在 Google 中输入「Charles 乱码」,我保证,你能搜到的绝对是这样的答案:

可我告诉你,反正我尝试了在各种地方进行添加,最后都没有成功。
而我最终解决了乱码的问题,但根本没有涉及到 Info.plist。你只要确保,我接下来提及的问题,你有正确进行设置。
安装 SSL 证书
Mac 端
首先去 http://www.charlesproxy.com/ssl.zip 下载 CA 证书文件,然后双击 .crt 文件,选择「总是信任」按钮,在钥匙串访问中即可看到添加成功的证书。
看看,人家说的多么简单啊,可事实呢?当我访问上述网址时,出现的是如下的文字:
If you are running Charles v3.10 or later, please go to Charles and consult the SSL Proxying submenu in the Help menu, for instructions on installing your new Charles Root Certificate.
我那蹩脚的英文告诉我:如果你使用的是 v3.10 及之后的版本,安装方法已经变了,正确的姿势:启动 Charles 软件,在菜单中找到 Help -> SSL Proxying -> Install Charles Root Certificate. 如下图所示:

随后是这样的:


iPhone 端
步骤:Help -> SSL Proxying ->Install Charles Root Certificate on a Mobile Device…

Mac 上的设置
在 Charles 的工具栏上点击设置按钮,选择 SSL Proxy Settings,选中 Enable SSL Proxying。(别急,选完先别关掉)
SSL 选项卡的 Locations 里填写要抓包的域名和端口,点击 Add 按钮,在弹出的表单中 Host 填写域名。比如填api.instagram.com,Port 填 443

关于乱码,如果没有做这项操作,则肯定会出现乱码。而至于否是在 Info.plist 中添加 UTF-8 的字段,反正最后我没加,但一切正常。
所以这个坑,我也是无意间解决的。
iPhone 上的设置
首先我们需要获取 Charles 运行所在电脑的 IP 地址,Charles 的顶部菜单的 “Help”->”Local IP Address”,即可在弹出的对话框中看到 IP 地址,如下图所示:

然后就是在 iPhone 上的一系列操作,又是很简单,有木有!
可是,为什么尼玛我怎么试都不成果呢?!iPhone 上浏览器网址都打不开了….于是又尝试了另一种方式,在终端敲入 ifconfig en0:

Done! 终于可以愉快的玩耍了:)
抓包工具 Charles 使用心得的更多相关文章
- mac端的优秀抓包工具——Charles使用
http://my.oschina.net/u/2340880/blog/508688 mac端的优秀抓包工具——Charles使用 一.简介 二.安装与使用 三.使用Charles在mac上进行抓包 ...
- 抓包工具Charles安装时需要注意的地方
最新接到一个任务,需要为app端的升级提供新的接口.以前没有搞过这个,其实搞完之后也就那样!其中有很重要的一点,就是需要用到抓包工具,进行联调测试,观看app端的数据情况. 抓包工具最常用的两个:fi ...
- 抓包工具charles使用教程指南
0x01 前言: Charles是一款抓包修改工具,相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!下面来详细介绍下这款强大好用的 ...
- Mac 下抓包工具 Charles 修改特定请求
Charles 是 Mac 下常用的抓包工具,它通过将自己设置成系统的代理服务器,从而完成了抓包的工作. 同类的工具还有 fiddler 和 Wireshark,其中 fiddler 是微软公司使用 ...
- 抓包工具Charles的使用教程
参考:https://zhubangbang.com/charlesproxy 如果您是您一次使用Charles,可能对下面的感兴趣. Charles破解版免费下载和安装教程 Charles手机抓包设 ...
- postman 抓包工具charles的使用
1.直接打开charles,然后,如果有https的话,需要安装证书,然后,设置代理 2.如果不是https的,不需要设置代理,直接抓取就可以 先安装证书: 然后设置代理: ...
- Http/Https抓包工具Charles最新版破解教程(Windows|Mac)
Charles介绍 Charles是一款强大的http/https抓包工具,可以抓取各种数据请求,查看请求的头信息,请求信息,返回信息等.本文主要介绍Charles的破解过程,包括Windows平台和 ...
- 接口测试中抓包工具Charles的使用
在被测接口并没有明确的接口文档给出时,我们需要借助抓包工具来帮助测试,利用抓包工具我们几乎可以获得接口文档中能给你的一切.常见的抓包工具有Charles和Fiddler, Fiddler只能用在Win ...
- 抓包工具Charles的使用说明
Charles介绍&前期准备: Charles介绍:Charles跟fiddler是目前行业中比较常用的抓包工具,这里主要介绍Charles的使用,fiddler的使用类似. 前期准备:使用前 ...
随机推荐
- Flash加载ini文件!
这个帖子里有解决方案: http://bbs.9ria.com/thread-405128-1-1.html
- android 开机自启动实现
App的开机自启动可以通过注册广播接收器接收开机广播来实现,具体步骤如下: 1.创建 BroadcastReceiver 的派生类,并重写 onReceive() 函数: /** * Created ...
- 概率检索模型及BM25
概率排序原理 以往的向量空间模型是将query和文档使用向量表示然后计算其内容相似性来进行相关性估计的,而概率检索模型是一种直接对用户需求进行相关性的建模方法,一个query进来,将所有的文档分为两类 ...
- 一款好用的分页插件用于regularJS
最近在用一款来自网易的javascript MVC 框架regularJS来写项目,这是网易一位叫郑海波的大神写的一款框架,所谓regualrJS, 作者这样取名主要是因为这个框架更像是angular ...
- 获取camera截屏图片
Camera camera; SpriteRenderer sprRender; Texture2D t2d = New Texture2D(1300, 760, TextureFormat.RGB2 ...
- 【DevExpresss】3、LookUpEdit详解(转载)
[DevExpresss]3.LookUpEdit详解 哈,今天又用到了LookUpEdit控件,主要是用来实现模糊查询和自由输入功能,然而由于长时间没用了,一阵手忙脚乱的,这里把网上收集的一部分教程 ...
- servlet:从入门到实战学习(1)---全·环境配置
最近公司忙加班学习,学校忙助教工作,博客鸽了好久,后端学习工作过程中学了好多东西,趁着工作之余得空补补博客,算是整理下学习的东西. javaweb的后端研发需要学习的是tomcat+servlet+j ...
- [Linux] PHP程序员玩转Linux系列-telnet轻松使用邮箱
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- 跟着刚哥梳理java知识点——反射和代理(十七)
反射机制是什么?反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有的属性和方法:对于任意一个对象,都能够调用他的一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能称为java语 ...
- Array和ArrayCollection作为数据源的一个应用区别
在不用[Enabled]元标签的前提下,将一个Array赋值给DataGrid.DataList等控件的DataProvider后,当Array值发生改变时,控件显示内容不会及时更新(可调用控件的in ...