mac抓包工具Charles使用详细教程(图文)
简单介绍
Charles官网地址:https://www.charlesproxy.com/
Charles的官网是这样介绍自己的:
Charles是HTTP代理/HTTP监视器/反向代理,使开发人员可以查看其计算机与Internet之间的所有HTTP和SSL/HTTPS通信。这包括请求,响应和HTTP标头(其中包含cookie和缓存信息)。
Charles主要功能
- SSL代理: 以纯文本格式查看SSL请求和响应
- 带宽限制:以模拟较慢的Internet连接(包括延迟)
- AJAX调试:以树或文本形式查看XML和JSON请求和响应
- AMF:以树形视图查看Flash Remoting / Flex Remoting消息的内容
- 重复请求:测试接口
- 编辑请求:测试不同的输入
- 拦截和编辑请求或响应的断点
- 使用W3C验证器验证记录的HTML,CSS和RSS/atom响应
简而言之,Charles主要是用来抓取请求,用来分析请求,并且可以重新构造请求。
安装
进入官网下载页面:https://www.charlesproxy.com/download/
可以看到,Charles是跨平台的,window、macos、linux都支持,这里要特别说明一下,这款软件本身是收费的,免费版,自行网上搜一下就有,毕竟我们大祖国神人多,我个人正在使用的就是免费中文版,太香啦~~~
必要的设置
1、代理设置:打开"代理-代理设置"页面,设置代理端口,默认"8888",注意不要被占用了
2、记录设置:打开"代理-记录设置"页面,设置需要记录的请求和需要排除的请求,需要检查下,因为看到很多人说抓取不到请求,就是这里设置问题
3、安装证书:打开"帮助-SSL代理-安装CharlesRoot证书",会在电脑上安装一个证书,这里是为了抓取https请求做准备的,注意证书设置设置为"始终信任"
4、macOS Proxy:打开"代理",勾上"macOS Proxy"
抓取PC浏览器请求
先注意一下,这里是红色代表开始记录,灰色的话点一下它
然后打开谷歌浏览器,正常操作,就可以记录到浏览器发出去的请求啦,如果抓不到https请求,或者抓到的包乱码的话,那检查一下上面的"必要设置-安装证书"那一步设置的不正确
选择一个请求,可以看到这个请求的内容,可以选择用JSON格式展示
右键选择一个请求,可以看到更多操作,如"复制URL、复制请求参数、复制响应参数、重新编辑发送请求"
抓取手机app、小程序请求
首先保证手机、电脑在同一个网段内(连接同一个WIFI)
其次查看下电脑本地IP地址,Charles上也可以查看本地IP
设置手机代理,我这里以iphone为例
点击wifi感叹号
设置HTTP代理
回到电脑上,选择"帮助-SSL代理-在移动设备或远程浏览器上安装Charles Root证书"
按照它的提示,打开手机浏览器,输入chls.pro/ssl,会弹出一个描述文件让你安装,点击允许
打开手机“设置-通用-描述文件”,点击信任
再进入“设置-通用-关于本机-证书信任设置”,把这个点亮
以上工作准备完毕,就可以开始抓app和小程序的请求了
我这里随便演示一下,打开美团的微信小程序,搜索“星巴克”,可以看到发送了这些请求
抓取APP请求
抓取app请求跟抓取小程序是一样操作的,自己可以尝试一下。
注意事项
注意一下,如果不抓包了,记得把手机的代理关闭掉,不然连WIFI上不了网
文章内容为本人原创,是从以前头条号文章迁移过来,图片中水印是本人自己的。(现在头条名字已经改了)
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击