抓包工具:Charles-功能综述
Charles会话概念:可以理解为浏览器中的tab,这个功能在需要调试多个站点页面时很实用,当你刷新页面的时候,只会在当前session中捕获请求。
(PS:? + N创建个新的session,? + W关闭当前session)
Charles如果没有捕获到请求,请清理下浏览器缓存。
?
问题:
1、Charles对request和response中的中文处理会乱码。
2、无法正常查看webp的图片。
3、没有如Fiddler方便的AutoResponder工具,构造request和response十分不方便。
4、没有好工具返回404这类的状态。
5、操作上各种别扭,功能也弱,同样也不支持SPDY。
?
结论:收个毛的费!还是Fiddler好用。
?
本地替换:
下面以替换淘宝无线H5首页“我的淘宝”图片文件的例子演示此功能:
1、清空chrome缓存,打开m.taobao.com,如下图所示:
?
??
2、在Charles中? + f打开会话搜索窗口,输入关键字“T1Dk6wXahXXXamNNre-140-140.png”搜索到“我的淘宝”图片请求URL。右击请求打开右键菜单,执行“Map local…”打开“Edit Mapping”对话框。
?
?
3、再次清空chrome缓存(否则浏览器会直接使用缓存而不发出请求),打开m.taobao.com时,会发现“我的淘宝”图片被刚设置的本地图片替换了。
?
4、全局的Map local从Charles菜单“Tools→Map Local…”打开,可以做调整。
?
?
?
?
开启No Caching,不缓存请求:
?
?
要注意,对于chrome之类会先检查浏览器cache,如果cache命中,根本就不会发请求出来,Charles也就不能抓到请求包,所以有时要清除chrome本地缓存,或是强制刷新。
?
代理设置:
点击菜单“Proxy→Proxy settings…”
?
?
?
网速模拟:
点击菜单“Proxy→Throttling”启用网速模拟。
点击菜单“Proxy→ Throtte Setting”打开网速模拟配置窗口。
?
?
配置含义:
Bandwidth(带宽)、Utilistation(利用百分比)、Round-trip(往返延迟)、MTU(字节)
?
捕获记录控制:
捕获的请求太多,容易产生干扰,Charles可以对捕获记录进行过滤。
点击菜单“Proxy→Record Settings…”,这种方法可用来处理经常性的过滤。而在Sequence视图中间部分Filter的配置,则常用来做临时性的过滤。
?
?
WEB界面:
点击菜单“Proxy→Web Interface Settings”可打开WEB界面设置界面,可以控制是否远程可以访问这个界面,还可以设置用户名和密码。开放此功能后,即可在浏览器输入http://control.charles/访问到,不过感觉用处不太大。
?