Charles Proxy是一个广泛使用的网络调试代理工具,它允许开发者监控和分析所有经过计算机的HTTP和SSL/HTTPS网络流量信息。
与其他抓包软件的对比
Fiddler
- Charles 支持多种操作系统,包括 Windows、macOS 和 Linux,而 Fiddler 主要支持 Windows。
- Charles 可以模拟弱网络情况,通过限制带宽来模拟,而 Fiddler 通过延长时间来模拟。
- Charles 可以只对选定的主机路径限速,而 Fiddler 通常是对所有路径进行限速
WireShark
- Wireshark 是一个更为通用的网络抓包工具,它可以捕获所有经过网络接口的数据包,而 Charles 主要专注于 HTTP 和 HTTPS 流量。
- Wireshark 提供了非常详细的网络层面的分析,适合深入的网络协议分析,而 Charles 更侧重于应用层面的调试。
- Charles 可以对捕获的数据进行修改和重发,而 Wireshark 通常用于数据捕获和分析,不提供修改和重发功能
Charles下载安装及配置
参考文章:
Charles抓包设置流程
只抓手机包,不抓电脑包
MAC抓包设置及iphone设置
Charles官网
【一小时学会Charles抓包详细教程】Charles移动端APP抓包之iOS手机端数据提取实战篇 (8)
抓包工具——【Mac】Charles的下载和安装
本文以MAC电脑及iPhone手机为例。
网上该软件免费版较多,本文在操作时使用的是试用30天的版本,该试用版本会每隔一段时间提醒你这是试用版本,并且在每用30分钟后会强制关闭,因此要非常注意 保存数据。
-
安装Charles软件;
-
进行代理设置(Proxy Settings),一般代理端口设置为 “8888”;
-
进行SSL Proxying Settings,一般“host”不填写,即不限制主机,端口包括“80”、“443”,即分别代表HTTP和HTTPS的默认端口;(如果不设置这个,抓取到的包都是乱码)
- 为电脑安装证书,打开“Help-> SSL Proxying-> Install Charles root Certificate”; 安装完该证书后,设置为始终信任;
-
截止此时,Charles已经可以进行电脑端的抓包了,但如果你的目的如果是抓取手机端的数据并且不希望抓取电脑端的数据,记得将“Proxy->macos Proxy”取消勾选;
-
设置手机端。将手机和电脑在同一局域网下,手动设置“HTTP代理”,将HTTP代理的服务器设置为电脑的IP地址,端口为8888;
-
在Charles中设置“帮助-SSL代理-在移动设备或远程浏览器上安装Charles Root证书”(对应的是英文);
-
打开手机浏览器,输入“chls.pro/ssl”,下载并安装证书,ios10之后需要验证该文件并完全信任证书,在完全信任证书之后,即可在电脑端的Charles对手机的数据进行抓取。
Charles抓包实践
因为我的任务是关注ios端的手机号明文传输以及LBS权限获取的情况,因此我需要针对真正模拟iOS端的手机操作,整个抓包的过程如下:
- 首先从APP Store下载所需要针对性抓包的APP;下载完成后记得将手机端的HTTP代理打开以便电脑端能够抓取到相对应的手机数据;(具体方法可以参考上文中Charles的安装和配置);
- 将电脑端的Charles打开,如果不想抓取电脑端的数据记得将“Mac OS proxy”关闭;打开之后,Charles自动开始抓取数据;
- 打开要抓包的APP,进行登录、模拟使用软件等操作;
- 在Charles查看抓取到的网络数据并分析,其中Charles可以进行简单的筛选和查找;
- 选中所要保存的数据行,右击选择“Export Sessions…”,将其保存成为一个.chls文件,方便下次重新查看(因为试用版每半个小时强制关闭重启,所以一定要注意保存)。
Charles抓包的大致流程就是这样,但由于本文在编辑不方便上传图片,,后续有机会再将其余图片补上。
小结
本文主要介绍了网络数据分析工具中的Charles的使用,并在iOS端和macOS端进行了实践的操作。
如果本文对您有帮助,还麻烦您点一个免费的赞!如果 有错误也欢迎向我反馈。