charles简介
抓包工具,为了调试与服务端之间的网络通讯,就常常需要用到网络封包来分析,charles就目前主流的抓包工具;
Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析;
设置charles为网络代理服务器
选择菜单中的 "Proxy" -> "Window Proxy"(mac系统为"Mac OS X Proxy")
添加SSL信任证书
当你开启代理后又设置ssl代理,你会发现,访问网站时浏览器无法验证网页的证书,进而导致报错无法正常访问;
电脑安装证书
选择菜单中的 "Help" -> "SSL Proxying" -> "Install Charles Root Certificate"
当证书过期时选择菜单 "Help" -> "SSL Proxying" -> "reset Charles Root Certificate..." 重新设置证书
手机安装证书(以iphone为例)
手机和电脑在同一个局域网下设置HTTP代理
服务器ip填写charles所在服务器的ip(电脑上的ip),端口号填写8888(charles一般默认端口号是8888)
或者选择菜单 "Help" -> "SSL Proxying" -> "reset Charles Root Certificate on a Mobile Device or Remote Browser" 查看服务器ip和对应端口号
配置完代理后,手机会发起请求去请求charles进行代理,charles上会弹出是否允许的弹窗,点击allow
之后通过 chls.pro/ssl 下载证书
在手机设置 "通用" -> "VPN与设备管理" 中安装证书
安装之后在手机设置中 "通用" -> "关于本机" -> "证书信任设置" 中 进行证书信任设置
到此charles就可以抓取手机上的网络请求
Charles 工具如何使用
菜单栏中各个图标的意思
清除开关:点击图标清空当前抓取的所有网络请求
切换抓取状态:红灯表示正在抓取网络请求,灰灯表示停止抓取网络请求
SSL Proxying开关:关锁状态表示开启 "SSL Proxying",开锁状态表示暂停 "SSL Proxying"
弱网模式开关:绿色表示开启慢网络请求的速度模式,灰色表示关闭慢网络请求的速度模式
断点开关:红色表示使用断点,灰色表示关闭断点,点击按钮可以切换状态
编辑接口:编辑请求,点击之后可以修改请求的内容
重新请求:点击指定接口后点击按钮可以重新发起网络请求
验证请求响应
常用功能,包含了 Tools 菜单中的常用功能
常用设置,包含了 Proxy 菜单中的常用设置
常用功能
弱网设置
选择菜单栏中 "Proxy" -> "Throttle Settings..."
设置完成后点击乌龟图标
就可以开启弱网
过滤网络请求
两种过滤方式:
方式1:通过菜单中 "Proxy" -> "Recording Settings..." 进行过滤掉不想要抓的包
方式2:
通过在左下角的 Filter 栏中填入需要过滤出来的关键字,可以对抓过的包进行筛选
断点调试(修改请求和响应内容)
右击需要调试得接口,选择breakpoint,重新请求就能对接口进行断点调试
选择菜单中 "Proxy" -> "Recording Setting..." 也可以设置断点
设置request、response断点后再次发起请求,就可以进行断点调试,对请求内容和响应内容进行修改