抓包工具Charles基本用法-转自微尘_yule
前沿:
发现了一款有趣的app,发现是https,导致不能看到其数据结构和加密方式是不是很捉急呢???
本人做移动端开发已经有5年的历史,那么在平时的开发中有没有好用的抓包软件呢?有的,那就是Charles(本人说一声抱歉,无论是开发iOS还是Android 都是一直使用的mac 所以我仅仅是介绍一下mac 的工具)
Charles是一款Http代理服务器和Http监视器,当移动端在无线网连接中按要求设置好代理服务器,使所有对网络的请求都经过Charles客户端来转发时,Charles可以监控这个客户端各个程序所有连接互联网的Http通信。注:本人自己实践抓http /https 协议,socket我没有抓过。
一、安装Charles客户端
打开浏览器访问Charles官网 链接,下载相应系统的Charles安装包,然后一键安装即可。
当然您也可以下载我曾经使用的版本(建议您支持正版)破解版本下载链接密码:mxhb
Charles提供两种查看封包的页签,一个是Structure,另一个是Sequence,Structure用来将访问请求按访问的域名分类,Sequence用来将请求按访问的时间排序。任何程序都可以在Charles中的Structure窗口中看到访问的域名。
目录
1.1 Charles主要的功能
1.2 将 Charles 设置成系统代理
1.3 过滤网络请求
1.4 模拟慢速网络
1.5 修改网络请求内容
1.6 修改服务器返回内容
1.7 抓取手机App网络请求
1.1Charles主要的功能
1.截取Http、Https网络请求内容
2.支持修改网络请求参数,方便调试
3.支持网络请求的截取 并动态修改
1.2将 Charles 设置成系统代理
我们在调试移动APP时,需要抓取APP发送的数据包,首先进行设置,Proxy -> Proxy Settings默认端口是8888,根据实际情况可修改(建议不要更改,因为在工作中会有很多人需要链接您的电脑)。
进行https的抓包
-
在mac上安装证书
help -> SSL Proxying -> install Charles Root Certificate
-
-
在keychain上进行证书信任,打开keychain 点击🔍 键入keychain
-
-
在keychain中 点击login->Certificates,右击(两个手指头点下),进行任意来源信任
-
-
导出证书导出p.12文件
-
-
5.通过airdrop 或者其他方式安装到手机上,注意这还没有完,需要在settig general->about->Certificate Trust Settings 进行证书的信任开启,否则不能抓https
-
在手机上设置相关的代理,主要此时需要关闭自己的vpn,否则没有办法抓包
-
现在大功告成了吗?如果抓http的包早已经大功告成,但是如果抓https的还有一步呢
-
Proxy->SLL Proxy Settings
-
1.3 过滤网络请求
-
在Filter 栏中填入需要过滤出来的关键字(可模糊搜索)
-
-
focus 仅仅是关注自己关注的
-
1.4 模拟慢速网络
在 Charles 的菜单上,选择Proxy ->Throttle Setting->Enable Throttling
如果我们只想模拟指定网站的慢速网络,可以再勾选上图中的 “Only for selected hosts” 项即可。
1.5 修改网络请求内容
1.6 修改服务器返回内容
首先 要保证是开启请求断点是打开的
选择要修改的接口内容 ,勾选Breakpoints
打开青花瓷切换成结构页面,切换成Structure
1.7 抓取相关的数据
作者:微尘_yule
链接:https://www.jianshu.com/p/8f78aa5e939e
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。