一、下载安装
地址1:官网
下载地址:

激活信息
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
 
地址2:免激活
下载地址:https://xclient.info/search/s/charles/
文件密码:xclient.info
 
地址3:
https://pan.baidu.com/s/1qYr3d7m 密码: h4t4
Finder > Applications > Charles > (右键)Show Package Contents
将下载的charles-v4.1.4.jar更名为charles.jar,并将其复制到/Contents/Java/目录下,替换原来的charles.jar文件
 
二、激活

Name: Just For Testing

Serial: 230ADA2020DFBD108E

三、 配置
3.1 证书安装
Help->ssl proxying
3.1.1 Charles Root Certificate
3.1.2 Charles Root Certificate in iOS Simulators
3.1.3钥匙串中改为始终信任
 
  1. iphone证书安装
3.1.4 打开Charles Root Certificate on a Mobile Device or Remote Browser,会出现如图
!!!!!!!!!!先配置代理,跳转3.2/3.3配置代理,配置完成后手机访问
http://chls.pro/ssl
即会弹出框询问是否安装,同意安装即可。
不要高兴太早,安装完成要在手机设置->通用->关于本机->证书信任设置->charles Proxy CA,勾选开关,证书才生效。
3.2 代理设置proxy下拉菜单
可以设置抓包数据类型,包括http与socket数据。可以根据需要在proxies栏下勾选。
如果需要抓Mac上的浏览器数据,需要在macOS栏,勾选http.
3.3 手机使用代理
手机连接局域网下wifi,与charles必须为同一外网下。
(1)或者设置手动代理
输入charles的ip与端口即可
 
(2)自动代理
在已连接的wifi上点击更多,进入配置代理页。勾选自动,在输入框URL中输入:
即设置了自动代理。

查看:3.1.4设置手机端配置

3.4 HTTPS抓包
HTTPS抓包,需要经过SSL。
Proxy->SSL Proxy setting
会打开如下界面。点击Add,Host栏与Port栏都填空(表示抓所有SSL请求),确定即可。
注:如果未配置此项,在访问https数据的时候,你会发现访问失败,Structure栏显示小锁标识。
3.5 可接入控制
charles可以通过Access control Settings来控制允许访问列表。如果未允许本机器IP,访问不会走Charles,当然也抓不了包。
image
未配置过时,列表为空。当手机第一次访问时,charles会弹出是否允许弹框,点击allow,即同意此手机连接。
此手机的ip地址也会出现在Access control Settings的列表中。
我一般配置为允许所有,在Access control Settings中Add,输入0.0.0.0/0,添加即可。
 
 
================================扩展探索项================================
3.5 Map Local
这个功能相当有用,可以把数据请求的response从本地文件获得。
比如:我有一个系统升级功能,升级方式upgradeType有三种:强制/普通/静默,然而,自己想要测试验证三种场景,就得麻烦后台去修改数据。这时候,Map Local可以上场了。
  1. 保存远端response:
 
保存返回值
  1. 设置Map Local:
 
添加
 
选择json文件
  1. 打到保存的json文件,修改返回值:
 
修改
然后重新请求,就会走你修改后的本地文件数据了。再也不用频繁麻烦后端同学了,自己就能模拟各种数据场景。
如何关闭?
charles工具栏 -> Tools -> Map Local,点击进入
 
Map Local控制栏
4. 一些常见问题
4.1 真机验证应用时卡住?
作为苹果开发,很多时候需要通过Xcode把自己做的小Demo运行到手机上,用的又是免费的个人证书,需要在手机上信任证书,及验证应用。如果你设置了抓包,ssl是验证不过的。
解决办法:
ssl时,只抓指定的网址,不要设置全抓* 。charles工具栏 -> Proxy -> SSL Proxy Settings,只抓项目后台地址。
image
5. 总结
把上面步骤过了,就可以愉快的抓https了。总结一下:
  1. 证书:Mac/模拟器/iphone证书(不要忘记信任证书)。
  2. Proxy setting勾选HTTP与SOCKS。
  3. 同一局域网。
  4. 手机设置代理。
  5. Access control Settings同意接入
  6. SSL proxy添加星。
当然,charles功能不仅仅于此,非常强大,还有很多功能等待发现。如:断点/拦截,返回修改后数据/模拟断网/模拟网络差。
 

Mac安装Charles抓包工具的更多相关文章

  1. Ubuntu 16.04下安装Charles抓包工具

    Charles是一个跨平台的抓包工具,虽然没有Fiddler做的这么完美,但是也算是另一个选择. 下载: https://www.charlesproxy.com/download/ 注册: http ...

  2. Mac 安装Fiddler 抓包工具

    官方安装文档https://www.telerik.com/download/fiddler/fiddler-osx-beta 如果输入mono Fiddler.exe报下面这个错误 WARNING: ...

  3. Charles是Mac的Fiddler抓包工具

    windows下面我们经常使用 Fiddler 抓包工具进行代理等一系列操作.然而,在 Mac 下的 Fiddler 勉强能运行,但是其挫的都不想说它了.今天看到朋友推荐这款 Charles Mac下 ...

  4. Mac 下安装Fiddler抓包工具

    需求 我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles.但是这个只能抓代理的数据包.但是有时候想要调试本地网卡的数据库 Charles 就没办法了.就想到了在windows下面的一个F ...

  5. Charles 抓包工具安装和采坑记录

    Charles 抓包工具安装和采坑记录 网络抓包是解决网络问题的第一步,也是网络分析的基础.网络出现问题,第一步肯定是通过抓包工具进行路径分析,看哪一步出现异常.做网络爬虫,第一步就是通过抓包工具对目 ...

  6. MAC下安装Fiddler抓包工具

    需求 我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles.但是这个只能抓代理的数据包.但是有时候想要调试本地网卡的数据库 Charles 就没办法了.就想到了在windows下面的一个F ...

  7. Mac上Charles抓包iOS的https请求

    介绍一款抓包工具,一般我在windows下使用Fiddler抓包,Fiddler使用教程这里就不讲了,重点介绍使用mac时的抓包工具----Charles. 进入官网 :Charles官网地址官网下载 ...

  8. Charles抓包工具的使用(一)

    前提:charles的说明 Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的.该软件是用Java写的,能够在W ...

  9. Charles抓包工具使用

    Charles抓包工具使用和进行接口数据模拟 打开软件,选择Tools  >>  Map Local  >>  勾选enable  >>  add  >> ...

  10. Charles 抓包工具(新猿旺学习总结)

    Charles 抓包工具安装机操作 1.Charles 抓包工具是代理服务器工具,可以拦截数据,进行更改,返回数据,以实现前端后台的请求和响应数据的测试2.Charles 菜单介绍 Charles抓包 ...

随机推荐

  1. SoftReference,WeakReference&WeakHashMap

    zz http://java.chinaitlab.com/oop/716371.html 在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于 ...

  2. btrace一些你不知道的事(源码入手)

    背景 周五下班回家,在公司班车上觉得无聊,看了下btrace的源码(自己反编译). 一些关于btrace的基本内容,可以看下我早起的一篇记录:btrace记忆 上一篇主要介绍的是btrace的一些基本 ...

  3. java多线程网页下载代码

    1.使用了java.util.concurrent包里的线程池,可以飙升到满带宽,在100M带宽上,可以达到10MB/s. 2.使用了java.nio里的channels,性能比自己缓冲有一些提高. ...

  4. MySQL之批量更新多条记录不同值

    之前文章:https://www.cnblogs.com/xingxia/p/mysql_basic.html mysql更新语句很简单,更新一条数据的某个字段,一般这样写: UPDATE mytab ...

  5. Elasticsearch之常见问题

    一. 聚合操作时,报Fielddata is disabled on text fields by default GET /megacorp/employee/_search { "agg ...

  6. 使用 spring stream 发送消息

    为什么使用spring stream ? spring stream 是用来做消息队列发送消息使用的.他隔离了各种消息队列的区别,使用统一的编程模型来发送消息. 目前支持: rabbitmq kafk ...

  7. 微信小程序手机号登录

    import { wxPhoneLogin, getPhoneNumber } from '../login' // 后端接口 // 服务端接口 - 获取openid function queryOp ...

  8. windows版 nvm 1.1.7 安装(填坑)

    参考https://www.jianshu.com/p/cbf4f76ba0bb安装,注意事项: 1. 最好下载Setup安装版本,带安装界面,这样可以填写安装路径以及Nodejs路径,省去了改文件的 ...

  9. 使用TOPIAM 轻松搞定「JumpServer」单点登录

    本文将介绍 TOPIAM 与 JumpServer 集成步骤详细指南. 应用简介 JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统.JumpServer 帮助企业 ...

  10. 运筹帷幄,质效兼修:源启云原生基础设施管理平台助推企业IT基础资源能效跃迁

    导语 数字化大潮席卷,企业需要建设一套能够满足云原生环境下基础资源一体化管理和快速交付的基础设施自动化管理系统,系统需要具备"云上""云下""容器&q ...