Charles抓包全流程(Mac端+iOS端)

文章目录

Charles Proxy是一个广泛使用的网络调试代理工具,它允许开发者监控和分析所有经过计算机的HTTP和SSL/HTTPS网络流量信息。

与其他抓包软件的对比

Fiddler

  1. Charles 支持多种操作系统,包括 Windows、macOS 和 Linux,而 Fiddler 主要支持 Windows。
  2. Charles 可以模拟弱网络情况,通过限制带宽来模拟,而 Fiddler 通过延长时间来模拟。
  3. Charles 可以只对选定的主机路径限速,而 Fiddler 通常是对所有路径进行限速

WireShark

  1. Wireshark 是一个更为通用的网络抓包工具,它可以捕获所有经过网络接口的数据包,而 Charles 主要专注于 HTTP 和 HTTPS 流量。
  2. Wireshark 提供了非常详细的网络层面的分析,适合深入的网络协议分析,而 Charles 更侧重于应用层面的调试。
  3. Charles 可以对捕获的数据进行修改和重发,而 Wireshark 通常用于数据捕获和分析,不提供修改和重发功能

Charles下载安装及配置

参考文章:
Charles抓包设置流程
只抓手机包,不抓电脑包
MAC抓包设置及iphone设置
Charles官网
【一小时学会Charles抓包详细教程】Charles移动端APP抓包之iOS手机端数据提取实战篇 (8)
抓包工具------【Mac】Charles的下载和安装

本文以MAC电脑及iPhone手机为例。

网上该软件免费版较多,本文在操作时使用的是试用30天的版本,该试用版本会每隔一段时间提醒你这是试用版本,并且在每用30分钟后会强制关闭,因此要非常注意 保存数据。

  1. 安装Charles软件;

  2. 进行代理设置(Proxy Settings),一般代理端口设置为 "8888";

  3. 进行SSL Proxying Settings,一般"host"不填写,即不限制主机,端口包括"80"、"443",即分别代表HTTP和HTTPS的默认端口;(如果不设置这个,抓取到的包都是乱码)

  1. 为电脑安装证书,打开"Help-> SSL Proxying-> Install Charles root Certificate"; 安装完该证书后,设置为始终信任;
  1. 截止此时,Charles已经可以进行电脑端的抓包了,但如果你的目的如果是抓取手机端的数据并且不希望抓取电脑端的数据,记得将"Proxy->macos Proxy"取消勾选;

  2. 设置手机端。将手机和电脑在同一局域网下,手动设置"HTTP代理",将HTTP代理的服务器设置为电脑的IP地址,端口为8888;

  3. 在Charles中设置"帮助-SSL代理-在移动设备或远程浏览器上安装Charles Root证书"(对应的是英文);

  4. 打开手机浏览器,输入"chls.pro/ssl",下载并安装证书,ios10之后需要验证该文件并完全信任证书,在完全信任证书之后,即可在电脑端的Charles对手机的数据进行抓取。

Charles抓包实践

因为我的任务是关注ios端的手机号明文传输以及LBS权限获取的情况,因此我需要针对真正模拟iOS端的手机操作,整个抓包的过程如下:

  1. 首先从APP Store下载所需要针对性抓包的APP;下载完成后记得将手机端的HTTP代理打开以便电脑端能够抓取到相对应的手机数据;(具体方法可以参考上文中Charles的安装和配置);
  2. 将电脑端的Charles打开,如果不想抓取电脑端的数据记得将"Mac OS proxy"关闭;打开之后,Charles自动开始抓取数据;
  3. 打开要抓包的APP,进行登录、模拟使用软件等操作;
  4. 在Charles查看抓取到的网络数据并分析,其中Charles可以进行简单的筛选和查找;
  5. 选中所要保存的数据行,右击选择"Export Sessions...",将其保存成为一个.chls文件,方便下次重新查看(因为试用版每半个小时强制关闭重启,所以一定要注意保存)。

Charles抓包的大致流程就是这样,但由于本文在编辑不方便上传图片,,后续有机会再将其余图片补上。

小结

本文主要介绍了网络数据分析工具中的Charles的使用,并在iOS端和macOS端进行了实践的操作。

如果本文对您有帮助,还麻烦您点一个免费的赞!如果 有错误也欢迎向我反馈。

相关推荐
黑科技iOS上架1 天前
双引擎解决oc/swift开发引用加固难题
开发语言·ios·swift·审核·ios混淆·执行程序差异化
wechatbot8881 天前
企微第三方自动化开发:原生能力无阉割 API 开放平台介绍
后端·ios·微信·企业微信·ai编程·ipad
黑科技iOS上架1 天前
iOS framework/dylib动态库定向加固实战
macos·ios·objective-c·cocoa·审核·ios混淆·执行程序差异化
可乐鸡翅yeah_2 天前
fmp4 碎片 MP4 格式 HLS 流,和传统 TS 分片有什么不一样
开发语言·javascript·ios·音视频·safari·m3u8·m3u8在线播放
神奇的小猴程序员2 天前
苹果Mac电脑玩我的世界没有版本?用PCL-R即可!
macos
茶底世界之下2 天前
为什么高精度透明图片上传到 Metal 时,必须把“拷贝像素”与“混合合成”分开
ios
灵韵aura2 天前
macOS 的指令缩写
macos
老李IT笔记2 天前
iOS 27 更新延迟只能给 1 到 90 天:两个参数怎么配,配错了会发生什么
ios·智能手机
Helix2502 天前
移动端浏览器内核之争:iOS 为何强制使用 WebKit?
ios·safari·webkit·wkwebview·浏览器内核·blink·ios浏览器内核