Charles HTTPS 实践
1、背景
在构建充电桩能力的需求背景下,需要对竞品数据进行收集评估,以前是通过截图+ocr方案进行数据收集,效率低下无法满足数据更新的及时性,现在需要采用更加高效的方式
2、方案选择
咨询之前做过类似工作的测试团队,无法给到比较可靠的方案,一开始选择逆向方案,通过移动端组内评估,以及咨询业内的安全工程师,逆向方案 ,代价较高,且暂无这方面的能力储备,风险不可控。
于是我们认为可以尝试抓包某地图App的方式,验证可行性
3、抓包
wireshark上抓包无法(难度较高)解析https协议
采用Charles 抓包:
3.1、代理搭建
打开Charles,在顶部状态栏选择:help->Local IP Address
获取到代理机在局域网的ip
在设备上(iPhone)手动设置代理:
代理设置为上述代理机器的ip + 端口号8888
3.2、安装证书
在顶部状态栏 help->SSL Proxying->Install Charles Root Certification on a Mobile Device or Remote Broswer:
通过设备访问:chls.pro/ssl
下载地址,然后在设置->通用->关于->证书信任 安装/信任证书,并打开证书的开关
3.3、报文解析
设置好上述说明后,针对所需要抓取的域名的https报文进行解析:
顶部状态栏 Proxy-> SSL Proxying Settings
添加域名和端口号(端口号为443):
打开某地图app,搜索相关关键字,得到的结果再Charles查看: