Charles|Charles设置代理&手机和浏览器抓包
1.在Charles官网https://www.charlesproxy.com/download/下载,我这边下载的是免费体验版的,如果你英文看着费劲,网上有汉化包。
文章图片
2.安装好以后打开,配置Charles证书;选择
help——SSL Proxying——install Charles Root Certificate
文章图片
会出现证书安装的信息,我这边已经安装成功,第一次可能需要安装
文章图片
文章图片
将证书安装在“受信任的根证书颁发机构”,这步很重要
文章图片
最后提示导入成功,出现如上述证书信息显示说明证书安装成功,也可在证书路径中查看证书安装结果
文章图片
3.勾选Proxy——Windows Proxy
文章图片
4.选择Proxy——SSL Proxy Setting,添加Location
【Charles|Charles设置代理&手机和浏览器抓包】
文章图片
Host和Port均设为*,
文章图片
注:这个地方我设置的是*:443
文章图片
5、想要对浏览器请求进行抓包,还要对浏览器的证书进行设置,如下图操作
文章图片
出现如下提示信息,提示你去路径 chls.pro/ssl 下载证书,访问路径可自动下载
文章图片
文章图片
6、导入浏览器证书,这里以Chrome浏览器为例,打开设置 – 隐私设置和安全性 – 安全 – 管理证书
文章图片
文章图片
7、按如下步骤进行选择证书导入,记得第3步文件类型要选择所有,不然匹配不到pem格式的文件
文章图片
8、和工具端一样,将证书存储到“受信任的根证书颁发机构”下,后面直接下一步即可
文章图片
9、现在打开www.baidu.com里搜索Charles进行进行抓包测试,可以看到抓包成功
文章图片
注意第5步,一定要操作,不然会unknown错误!!!,且会出现百度随便搜个啥都显示 【xxx不受信任】
文章图片
文章图片
注意,如果证书安装了,也添加了信任,Chrome浏览器抓包数据还是上图的unknown或者不受信任,那就是证书没装好或者装了没生效 ,重启Chrome浏览器就好了。
iPhone/ipad 代理设置
开启方法:
老版iPhone 设置”—> “Wlan”—> 查看WiFi详情 —> “HTTp代理”改为手动—> 点击保存(ios11以前貌似没有保存按钮,点击返回即保存)
iPhone11 设置 – 无线局域网 --你连的wifi,点蓝色圆圈图标 – HTTp代理 – 选 手动,填服务器和端口 – 点 存储
数据:主机名设置为代理主机的IP,端口默认是8888
文章图片
安卓机 代理设置(以小米5为例) 开启方法:“设置”—> “Wlan”—> 查看WiFi详情 (部分手机是叫高级设置)—> “代理”改为手动
数据:主机名设置为代理主机的IP,端口默认是8888
文章图片
然后手机浏览器去访问 http://chls.pro/ssl
下载证书,安装并添加信任 一、iOS客户端安装证书
1、打开Charles,选择help→SSL Proxying→Install Charles Root Certificate on a Mobile Device or Remote Browser
2、手机连接电脑代理,打开safari,输入网址:chls.pro/ssl
3、手机弹出提示:此网站正尝试打开“设置”已向您显示一个配置描述文件。您要允许吗?忽略|允许,选择允许,安装描述文件,并信任
4、iOS10.3以上的手机需要在:设置→ 通用 → 关于本机 → 证书信任设置→ 找到charles proxy CA证书,打开信任即可
二、android(安卓)客户端安装证书
安卓手机类型众多,所以有些不太一样,
方法一:
1、打开Charles,选择help→SSL Proxying→Install Charles Root Certificate on a Mobile Device or Remote Browser
2、手机连接电脑代理,打开浏览器,输入网址:chls.pro/ssl
3、手机弹出提示:安装配置描述文件。您要允许吗?忽略|允许,选择允许,即可
方法二:
1、打开Charles,选择help→SSL Proxying→Save Charles Certificate,将证书导入到手机中
2、导入后直接点击安装证书即可
方法三:
1、打开Charles,选择help→SSL Proxying→Save Charles Certificate,将证书导入到手机中
2、导入后直接点击安装证书,提示无法打开
3、进入手机设置 → 更多设置 → 系统安全 → 从存储设备安装 → 选择charles.pem,点击高级,安装证书即可
常见手机:小米手机,华为手机,需要设置手机锁屏密码
————————————————
本文参考一下资料,略加修改并汇总
资料出处的原文链接:
https://blog.csdn.net/weixin_43291944/article/details/90675879
https://www.cnblogs.com/xiashang/p/9465708.html
https://www.jianshu.com/p/59c0dc71fb6c?utm_campaign
推荐阅读
- 第6.2章(设置属性)
- 事件代理
- 设计模式-代理模式-Proxy
- 15、IDEA学习系列之其他设置(生成javadoc、缓存和索引的清理等)
- performSelectorOnMainThread:withObject:waitUntilDone:参数设置为NO或YES的区别
- java静态代理模式
- Kotlin基础(10)-代理模式在kotlin中的使用
- spring|spring boot中设置异步请求默认使用的线程池
- Python绘制小红花
- day|day 28 设置路由表