一、下载安装
地址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. JS之Date时间处理

    初始化当前时间: // 1. 使用构造函数方式 var newDate = new Date() // 2. 使用函数方式 var date = Date() // 返回的是一个Date对象 cons ...

  2. python之常用方法(精)

    查找列表中出现最频繁的元素 使用 max() 函数可以快速查找出一个列表中出现频率最高的某个元素. >>> a = [1, 2, 3, 4, 3, 4, 5, 4, 4, 2] &g ...

  3. php之编译安装

    1. 安装所需环境 yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng ...

  4. 震惊!推荐一款AI驱动的自动化测试神器:TestCraft

    在当今快速迭代的软件开发环境中,自动化测试已经成为确保软件质量的重要一环.然而,传统的手动录制和编写测试脚本的方式不仅耗时耗力,还难以跟上敏捷开发的节奏. 本文将为大家介绍一款基于AI技术的自动化测试 ...

  5. 从零开始学java(前言)

    很长时间以来,自己都非常的懒惰,以前学习的知识都已经记不大清了,入职半年以来,学到的东西不多,反倒以前会的都不会认识了 打算从新开始,从心出发,认真学习 注册博客园是看了狂神说的建议,希望通过养成每天 ...

  6. js 计算过去和未来的时间距离现在多少天

    计算传入的任意一时间.计算出这个时间距离现在还有多少天!或者计算过去的时间距离现在已经过去了多少天! 返回值有两种! 1.负值 代表过去了多少天 2.正值 代表距离设定的时间还有多少天 说明:距离设定 ...

  7. 深入理解 Task.Delay 的定时精度及其影响因素

    1. 原因 在日常开发中,Task.Delay 是一个常用的异步延迟方法.然而,Task.Delay 的定时并不总是非常准确.例如: 系统负载 Task.Delay 的定时精度可能会受到系统负载的影响 ...

  8. Qt+OPC开发笔记(一):OPCUA介绍、open62541介绍、编译与基础环境Demo

    前言   本篇介绍OPC协议,相关开源库.编译并搭建Qt开发OPC的基础环境.   Demo      OPC   OPC(OLE for Process Control)是一个工业标准,用于实现工业 ...

  9. PPT保存报错:某些字体无法与演示文稿一起保存

    WPS做的PPT,用的会员,高级的那种,很高大上很好看,但是用微软的PowerPoint编辑保存,报错:某些字体无法与演示文稿一起保存. 解决方案:移除嵌入的字体 打开演示文稿文件. 在"文 ...

  10. 【Amadeus原创】Docker安装wikijs wiki系统

    拉取mysql8的镜像并运行 docker pull mysql docker run -d -v /data/mysql/data:/var/lib/mysql -v /data/mysql/con ...