Charles4.2.8抓包(http+https)

Charles 和 Fiddler 一样都是http抓包工具。

之前用 Fiddler 抓个别 ios 手机 https 报文时总卡在哪里返不回任何数据,后来怀疑是 Fiddler 问题,就考虑使用 Charles 。最后发现是我使用问题 错怪了Fiddler。

http抓包

http抓包配置很简单就是使用 Charles 作为代理服务器。

1、从官网下载 charles,根据你的系统选择合适版本即可

  https://www.charlesproxy.com/download/

2、安装 charles, windows 一直 下一步 即可

3、代理配置 proxy-》proxy settings

 

4、按如下配置

a)端口号默认8888也可以改

b)勾选 Enable transparent HTTP proxying

 

5、查看ip地址

可以在cmd中输入 ipconfig 或者help->Local IP Address查看ip

 

 6、手机上配置

配置好ip地址和端口此时所有数据报文即可抓到

7、手机上设置代理后,Charles 会弹出链接确认提示框选择 允许(Allow)

8、到此就可以抓到包了,但https能够抓到但内容都是乱码(密文)

 

https抓包

https 与 http  抓包没有什么区别,区别在于 https 使用的 ssl 加密算法对数据进行了加密,也就是上图抓到的都是密文无法看到明文内容。所以咱们要做的只是安装证书,让手机使用咱们的证书进行通信,这样自然就可以看到明文了。原理如下图:

 

 言归正传开始证书配置

1、安装证书

也是简单确定即可。这个安装的是移动证书,也就是给app等客户端使用的证书。如果你要抓本地浏览器 https 内容,点上边 “Install Charles Root Certificate”

  本地证书安装,如果不需要抓本地包可以跳过。对于本地 https 如果不需要拦截修改等,浏览器F12即可查看

1.1 选择安装证书

 1.2 选择本地计算机

 1.3 选择证书存放位置,可以自定义一个更高的位置

 1.4 选择存放到根证书中,然后 下一步 完成,至此本地证书安装完成

 2、打开手机在浏览器输入 chls.pro/ssl,刚才安装移动证书时也会显示地址(此文只有 ios 手机配置,安卓手机配置雷同 参见:https://www.cnblogs.com/rslai/p/7794940.html

 3、访问后提示正在下载配置描述文件,点击“允许”即可

4、在 通用->描述文件与设备管理 中 安装 刚刚下载的 Charless 证书

5、charles中配置ssl

 

6、勾选允许ssl代理,并添加那些地址使用,点击add添加 

7、host 和 port中输入 *,代表所有服务器所有端口都使用ssl代理

8、至此配置完成,部分 ios 手机就可以看到明文的 https 报文了。

为什么说部分呢?也就是开头说的 Fiddler 无法抓部分 ios 设备的 https 的报文。原因是高版本的 ios 还需要再启用根证书才行

根证书启用完全信任

 1、设置->通用->关于本机->证书信任设置,找到 charles 启用即可,Fiddler 的话找到证书启用也就可以了。

2、此时 https 即可显示明文了

悲剧的vpn

之前一直在pc使用,一切正常。后来换用mac,按照之前方法安装后只要一抓https就卡死,之后提示unknown,捣鼓了很久无果。突然又一次莫名的好了,之后反复实验发现只要开着公司vpn就抓不到包。问题终于找到了原来是公司vpn检测使用的是伪造的证书给拦截了。

破解charles

 最后的一个问题,此时 charles 只能使用30分钟,每隔30分钟需要重启一次。要么买一个,要么破解。

 参考:https://blog.csdn.net/qq_25821067/article/details/79848589

 

 

 

 

参考文献:

  https://jingyan.baidu.com/article/0aa2237561af1088cc0d64c9.html

posted @ 2019-09-09 17:11  rslai  阅读(1841)  评论(0编辑  收藏  举报