HTTP(反向)代理服务器_监视器-移动开发调试Charles初探究

1.应用场景

如果不知道这是干嘛的,那么只能说明你没有吃过移动开发的苦,开个玩笑,苦算不上,就是有时候有点小折腾,不过也仅限于第一次配置的时候了。

所以本文主要用于移动开发调试,查看接口请求响应数据。

大家应该都知道基于Web开发,自然没必要如此,通过Web开发者工具即可。

2.学习/操作

1.文档阅读

// Charles 4.6.3b2 破解版 for Mac http抓包神器

// 如何进行APP抓包 ? - 学习/实践_william_n的博客-CSDN博客_怎么抓app的包

2.整理输出

2.1 介绍

Charles 是一款HTTP代理服务器/HTTP监视器/反向代理服务器,当程序通过Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息),有些同学可能会问,chrome的开发者工具不是集成了吗?小编想说,那你是没经历过移动开发调试,哈哈。

2.2 安装

官网下载安装Charles: Download a Free Trial of Charles • Charles Web Debugging Proxy

Charles 4.6.3b2 破解版 for Mac http抓包神器

2.3 JiHuo

第一步

 第二步

第三步

重启Charles即可

2.4 使用

1. HTTP抓包

A. 查看电脑IP地址

B. 设置手机HTTP代理

手机连上电脑,点击“设置->无线局域网->连接的WiFi”,设置HTTP代理: 服务器为电脑IP地址:如192.168.1.169 端口:8888 -- 这个是默认的,Charles设置

C. 电脑上打开Charles进行HTTP抓包. -- 设置代理后需要在电脑上打开Charles才能上网

点击“Allow”允许,出现手机的HTTP请求列表

手机上打开某个App或者浏览器什么的,如果不能上网,检查前面步骤是否正确。

这里手机打开美团App,然后随便操作,这里点击了外卖

可以看到只能抓去http请求/响应,https是没办法抓取的,需要做配置。

2. HTTPS抓包

HTTPS的抓包需要在HTTP抓包基础上再进行设置

设置前抓包HTTPS是这样的

查看内容 -- 乱码

设置后抓包HTTPS长这样

设置流程

A. 安装SSL证书到手机设备

出现弹窗得到地址 chls.pro/ssl --- 上面的文本中有提示,认真阅读一下

B. 手机安装SSL证书的地址

在手机Safari浏览器输入地址 chls.pro/ssl,出现证书安装页面,点击安装 手机设置有密码的输入密码进行安装

 

 

 

 

 

安装证书

注意1:如果遇到Safari浏览器输入这个网址chls.pro/ssl安装不了证书的情况,。检查:(1)设置好手机HTTP代理 (2)电脑上Charles要开着

注意2:iOS 10.3系统,需要在 设置→通用→关于本机→证书信任设置 里面启用完全信任Charles证书 -- 这也是上面的弹窗说的内容

C. Charles设置Proxy

Proxy -> SSL Proxying Settings...

这里很粗暴,直接抓取所有的站点 -- 非常不推荐,因为比较费资源

建议还是想抓取哪个,设置哪个即可。

D. 进行HTTPS抓包

让手机重新发送https请求,可看到抓包

注意:

不抓包请关闭手机HTTP代理,否则断开与电脑连接后会连不上网.

郑重提醒: 

iOS10.3的真机抓包HTTPS, 在手机设置,关于本机,最下边有一个证书信任,必须打开Charles的证书信任,才能抓包。而且,挂证书的API貌似抓不到包,只显示❌, 只有不挂证书的才能抓到。--- 换句话说,上面的HTTPS抓包,并不是真的所有的HTTPS包都能抓取,如果App方设置为不允许抓包,便抓不到。

这种情况下,如果自家公司的App,让前端开发人员,帮忙解决,去掉App中SSL的验证,重新打包安装 --- 这点自己踩了坑

后续补充

...

3.问题/补充

TBD

4.参考

// Charles 4.6.3b2 破解版 for Mac http抓包神器

// 如何进行APP抓包 ? - 学习/实践_william_n的博客-CSDN博客_怎么抓app的包

后续补充

...

封面图片