一、下载安装
地址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. Java语言的动态性支持

    一.脚本语言的支持     JSR 223中规范了在Java虚拟机上运行的脚本语言与Java程序之间的交互方式.JSR 233是JavaSE6的一部分,在Java表中API中的包是javax.scri ...

  2. ArrayList removeRange方法分析

    <ArrayList原码分析>一文中提到了"为什么removeRange(int fromIndex,int toIndex)是protected的?" 先给出remo ...

  3. golang之gRPC

    相关链接: grpc: https://grpc.io/docs/languages/go/quickstart/ protobuf: https://protobuf.dev/programming ...

  4. 基于python搭建FTP服务

    使用python搭建FTP服务非常容易,且非常稳定,更重要的是可以实现一些精细化的控制,例如精细的访问权限配置,详细的日志记录等工作 这里是使用了pyftpdlib模块 1. 安装 pip insta ...

  5. base64计算文件大小方法(C#和js)

    base64文件大小计算 有时候图片被base64之后需要计算图片大小,因为被编码后全是字符,计算文件大小可以反序列化成文件之后再获取大小,但是会比较麻烦.简单介绍一种利用base64编码原理计算大小 ...

  6. uniapp多次触发跳转问题

    问题描述:快速点击跳转页面后会闪退到登陆页面 解决方案:重新封装uniapp跳转api,加防抖锁,To.ts import { NavigateToOptions, RedirectToOptions ...

  7. vue组件传参props

    传参格式,将需要传的参数以属性方式写在组件标签上 //组件标签 <zu a='参数一' b='参数b'></zu> 接收格式,在组件内 //props属性接收参数 props: ...

  8. Kettle用查出来的数据自动创建表

    ​Kettle在表输入的时候,写好很复杂的SQL,有种场景,就是想把这个很复杂的查出来的数据,自动创建一个表. 其实,操作步骤不复杂. 跟着我来做就是了. 1,新建表输出,Shift按住,从表输入拖动 ...

  9. 对比 ASP.NET Core 中的 HttpContext.Features 与 HttpContext.Items

    对比 ASP.NET Core 中的 HttpContext.Features 与 HttpContext.Items https://newbedev.com/httpcontext-feature ...

  10. 我的世界服务器搭建教程 兼容Paper核心 兼容Spigot核心

    注意:该服务器是基于Paper1.20.1核心进行初始化,默认兼容spigot插件. 一.配置JDK环境 二. 服务器核心配置 三.服务器启动 四.加入游戏 现在搭建出来的是原版生存服务器,接下来需要 ...