Charles抓https包笔记

转载请注明出处

如果app有https证书验证, 估计就不行了 , Charles是先伪装服务器向浏览器发送伪造的公钥,从而取得浏览器的私钥。这样就完成的浏览器端的解密。服务器端类似。(用的别人的话 )

1.下载Charles

下载地址:https://www.charlesproxy.com/download/

2.配置Mac和iPhone的证书

a.配置Mac证书:
Help->SSL Proxying->Install Charies Root Certificate
Charles抓https包笔记_第1张图片
1.png

然后 会自动打开钥匙串

把自动安装的证书设置成始终信任

Charles抓https包笔记_第2张图片
2.png
b.配置iPhone证书
Help->SSL Proxying ->Install Charies Root Certificate on a Mobile Device or Remote Browser
Charles抓https包笔记_第3张图片
3.png

会弹出一个提示

Charles抓https包笔记_第4张图片
4.png
注意看!!!!! 注意看 注意 !!!!!
里面有两个部分一个是ip地址 一个是证书下载地址

1.IP地址 :fe80:0:0:0:6c07:12ff:fe01:ebcd%10 不管他, 直接去网络偏好设置里面看自己的


Charles抓https包笔记_第5张图片
B4B11F6A-252A-4A88-AF72-6E2852BE66ED.png
ip地址是:192.168.1.120 端口是8888

2.证书下载地址: chls.pro/ssl , 拷贝chls,pro/ssl 去Safari 打开 ,就会直接跳转安装,信任就好了

2.设置Charles和iPhone地址

a:配置iPhone 代理

1.打开设置->无线局域网
2.找到你的wifi (要求和电脑处于同一wifi环境下)
3.HTTP代理位置 -> 手动 服务器就是刚才提到的 mac的ip地址 192.168.1.120(写你自己的...)
4.端口就是8888


Charles抓https包笔记_第6张图片
IMG_0176.PNG
此时你打开手机app就会在Charles中看到请求信息了 , 比如 红色 方格中的接口
Charles抓https包笔记_第7张图片
CD9868D7-A2AC-4AA2-A021-AE2A5BE0221E.png
注意看 注意看 注意看 !!!!! 红色圆圈中是有锁的, 也就是说你并没有抓到信息 , 这是https的信息, 你并没有拿到!!!!!! 怎么办!!! 怎么办 !!!
b:配置Charles

1.Proxy->SSL Proxying Settings..

Charles抓https包笔记_第8张图片
AE99C3D3-77BF-4D12-821B-99F9B3930011.png

2.把要抓取的接口添加进来

Charles抓https包笔记_第9张图片
6B0DA30A-5807-48C8-885D-04DCFA529F19.png
再来操作app, 就可以看到数据正常抓取了
Charles抓https包笔记_第10张图片
841D67E8-5458-4811-9853-36E4714B25EE.png

3.如何篡改数据呢?

1.在我的app那个请求上右键->Breakpoint 添加一个断点

Charles抓https包笔记_第11张图片
17F1472B-837A-45CA-A36A-8BE87E1854BC.png

2.当你再次发起这个请求的时候, 就会断在这里, 注意下面的截图

Charles抓https包笔记_第12张图片
60A48EEC-24F0-4A3C-AD40-AABEC1293871.png

在这个位置就可以修改你的请求数据

注意 !!!! 断点会断两次, 一次发起请求的断点, 一次回调会数据的断点, 这个断点是在发起请求的位置

3.回调数据的时候

Charles抓https包笔记_第13张图片
5EC4367F-9557-4D1B-9904-E461EAF12EEB.png
Execute 是下一步
Charles抓https包笔记_第14张图片
302BDAF6-8322-4A7B-AEDC-13406F5F0858.png

这时候就可以修改返回的数据了

请求的数据 和返回的数据都可以篡改 , 有不明白的可以在评论区问我

你可能感兴趣的:(Charles抓https包笔记)