具体查看:
使用Charles进行HTTPS抓包
Charles辅助调试接口
测试iOS APP 模拟各种网络环境
Charles模拟网络环境,限制网络速度 Charles Throtting
环境安装
Mono
Mac下需要使用.Net编译后的程序,需要用到跨平台的方案Mono(现阶段微软已推出跨平台的方案.Net Core,不过暂时只支持控制台程序)。
Mono安装
安装程序可以从http://www.mono-project.com/download/#download-mac地址下载。
安装完后,在Terminal里执行以下命令:
/Library/Frameworks/Mono.framework/Versions/Current/bin/mozroots --import --sync
此步是为了从Mozilla LXR上下载所有受信任的root证书,存于Mono的证书库里。root证书能用于请求https地址。
接下来如果想要运行Fiddler,还需要把Mono加入到环境变量中。编辑.bash_profile文件:
sudo vi ~/.bash_profile
输入命令i,进入编辑模式,加入文本:
export MONO_HOME=/Library/Frameworks/Mono.framework/Versions/Current
export PATH=$PATH:$MONO_HOME/bin
输入Esc,输入命令:wq保存退出编辑后,重新打开Terminal,Mono环境才算装好了。
(附:如果不小心按了"q",导致进入了“recording”了,再按一下q就可以完成记录退出记录模式了。)
之后如果要执行某个exe文件,只要打开终端,cd到其目录,然后输入命令:sudo mono Fiddler.exe就可以了
Charles 主要的功能包括:
截取 Http 和 Https 网络封包。
支持重发网络请求,方便后端调试。
支持修改网络请求参数。
支持网络请求的截获并动态修改。
支持模拟慢速网络。
Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。
Structure 视图将网络请求按访问的域名分类。
Sequence 视图将网络请求按访问的时间排序。
但有时候请求多了还是会看不过来,这时候Charles的Sequence下有一个简单的 Filter 功能,可以输入关键字来快速筛选出 URL 中带指定关键字的网络请求。