小弟一个普普通通的�iOS开发小菜鸟,最近项目首页的实现看起来逻辑结构稍微复杂(实现主要根据返回数据处理),看到市面上有类似的APP实现相关功能,于是开始了一段抓包之路,过程坎坷,记录下。
网上找了下相关资源,Charles好评如潮,有目共睹。
关于HTTP的抓包稍微简单。
1.Charles官网下载最新版本,安装,也可搜索相关破解版,正式版试用几天就收费了;
2.Mac 系统偏好设置-网络,查看当前IP地址;
3.iPhone 连接相同WiFi,在WiFi列表点击右侧感叹号,设置HTTP代理,服务器设置为Mac的IP地址(例如192.168.1.29),端口固定值8888;
4.启动Charles,10S倒计时加载完毕后,会弹框提示connection from 192.168.1.29,这是获取授权,此时选择allow即可;
5.iPhone 打开想要抓包的APP,此时Charles左侧structure会显示iPhone所访问的地址列表,随意选中一个,右侧即展示该访问的概览(overview、request、response、sunmary、chart),正常我们想要的数据就是response返回数据和request请求地址、头部。
关于断点修改数据
左侧链接选中右击选择breakpoints,可进行断点调试,修改请求数据和返回数据。可以修改一些临界值 这点在开发中还是比较实用的,省去了一些和后台开发沟通的时间。要知道,大家都很忙啊,谁有空给你调试接口数据啊!!!
关于HTTPS抓包
有些地址访问是基于HTTPS的,比如小弟这次想要抓的APP就是。废话不说,上教程。
1.IPhone安装证书。iPhone连接Mac,打开Charles,选择Help->SSL Proxying->install Charles root certificate on a mobile device or remote browser;
2.弹框提示
先设置iPhone的服务器代理(不再赘述),打开iPhone的自带浏览器,访问'chls.pro/ssl',根据提示安装证书(傻瓜式);
3.此时打开iPhone 设置->通用->描述文件,会看到一个Charles Proxy CA证书,10.3以上系统需要手动信任!!!(泪奔,小弟因此浪费个把小时);
4.Charles->Proxy->SSL Proxying Settings,选择add,添加你要抓的接口,host为访问地址,port填写443。
大功告成,放效果图。
喜欢点个赞,有不懂可以私信,共同进步。