Charles是一款非常优秀的代理工具,能帮助我们完成抓包、弱网测试等工作。其本身操作并没有很复杂之处,这里对Charles的诸多操作做一下整理和记录,作为操作手册以备忘。整理的内容只是Charles的一部分功能,后续会随时进行补充。
charles官方下载地址:(很奇怪,附上地址后,一直审核不通过。所以这里不贴了,百度一下就能找到) 注册charles: 前往官网下载最新版charles,下载成功后打开charles,菜单栏 Help->Register Charles 弹出注册的窗口,填入Registered Name和生成的license key,点击 Register 注册成功后,charles会自动关闭,手动再次打开即可。
打开charles之后,默认就已经对系统进行了代理,如果没有,则需要在菜单栏的Proxy上勾选上 Windows Proxy。
勾选系统代理后,系统本地发出去的请求都能被截取下来。如果只抓取手机的包的话,则可以取消此项勾选。
接下来,按以下步骤开启手机代理:
服务器主机名:以windows系统为例,在电脑端右键单击开始按钮,选择运行,输入cmd,进入控制台页面,输入 ipconfig,即可获得电脑的IP 服务器端口:在Charles中,点击 Proxy–Proxy Settings,进入下面的页面中,可以修改Port,默认是8888
点击 Proxy -> Access Control Settings 可以看到IP允许列表,在这里可以对允许连接的设备IP 进行增删管理。 如果想要不弹出上面的询问窗口,可以添加0.0.0.0/0允许所有设备连接到Charles。
经过以上步骤,手机已经完成开启代理,下面进行一个抓包演示。
页面左侧即是抓取到的请求信息,有structure和Sequence两种展示方式。二者区别在于:前者以树状结构归拢一个域名下的多个请求,后者以时间顺序展示每个请求。
默认情况下,Charles是无法抓取到https请求的,如下:
要解决这个问题,我们要安装证书并进行一下设置,下面以Windows和安卓为例整理操作步骤。
首先,Windows端安装证书:
第二步,Charles设置:
打开浏览器访问网址,可以看到Windows端的https请求已经被成功抓取:
第三步,安卓端安装证书:
Proxy–Throttle Settings 进入限速设置页面:
勾选 【Enable Throttling】即可开启弱网模式,如果勾选【Only for selected hosts】则可对特定地址进行限速。 下面有很多指标,下面简单解释一下:
点击OK后,绿色图标亮起,表明开启了弱网: