Charles抓包小结

使用Charles抓包,认为只是一个工具,没有深究过,用一点探索一点,换个手机配置一遍发现竟然很多原则性的东西都不太清楚。

本来打算整一篇完整的配置过程,后来发现了很多整理极其优秀的文章。故而,这里就总结一些抓包原理和配置原理,具体操作细节可参考文末的文章。

一、抓包原理小结
抓包全称”抓取数据包”,而数据包是在网络中传输格式化数据(以一定的格式封装、分组、打包)的单位。

抓包软件Charles其实就是一个HTTP代理,这里代理屹立在客户端和服务端之间,指定的请求先通过Charles, 然后在到达服务器。

二、基本配置原理小结
注:以下基于MacOS和iPhoneX:

0、PC上安装Charles软件,启动后,默认配置就可以抓到PC上通过浏览器发起的HTTP请求。

1、PC上安装Charles软件,启动后,默认配置,手机上通过WIFI的HTTP代理配置(配置PC IP + Port), Charles就能可以抓到手机上的HTTP请求。

2、Charles如果要抓PC上的HTTPS请求,需要在PC上安装SSL证书,并在钥匙串中开启证书信任。如果不抓取就不需要安装。

常见问题:开启了Charles发现浏览器访问HTTPS站点,提示”您访问的链接不是私密链接”。大概率是PC上没有安装SSL证书,或者安装后没有开启信任。

解决思路:很多时候,PC上没必要通过Charles来抓包,如果开启了Charles,PC上想访问HTTPS请求,可以把Charles中macOS Proxy默认勾选去掉。

3、Charles如果要抓手机上的HTTPS请求,需要在手机上安装SSL证书,并在设置中开启信任。如果不抓取就不需要安装。

常见问题:手机设置了HTTP代理,发现APP打开一些页面出现没有网络连接的症状,同时抓包记录HTTPS的请求结果是❌unknow, 大概率是手机没有安装SSL证书。

4、在家通过VPN访问公司内网,抓包公司内网的请求,跟在公司操作完全一样。手机绑定的是家里的wifi地址,不是公司内网地址。

思考:请求是先经过Charles,还是先经过VPN?

三、HTTPS为啥可以被抓包
https://www.jianshu.com/p/a1bd0bcfe6a5
https://learnku.com/articles/19238
https://www.zhihu.com/question/65464646
https://zhuanlan.zhihu.com/p/101544881

四、参考
配置细节可参考一些文章,写的太完整了,手动点赞。

https://www.jianshu.com/p/5539599c7a25
https://juejin.im/post/5c4ed14f6fb9a049ed3142cc
https://www.jianshu.com/p/8825179786ac

发表评论

电子邮件地址不会被公开。 必填项已用*标注