Charles抓包(未完待续)

Charles是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。

Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

Charles 主要的功能包括:

  1. 截取 Http 和 Https 网络封包。
  2. 支持重发网络请求,方便后端调试。
  3. 支持修改网络请求参数。
  4. 支持网络请求的截获并动态修改。
  5. 支持模拟慢速网络。

 

主界面介绍

Charles 主要提供两种查看封包的视图,分别名为 “Structure” 和 “Sequence”。 

  1. Structure 视图将网络请求按访问的域名分类。
  2. Sequence 视图将网络请求按访问的时间排序。

 

截取http请求,修改请求内容、返回内容

(例如要抓取进入http://bj.58.com的请求,并修改服务器返回的内容)

打开charles,点击开始录制按钮,打开浏览器,在网址处输入地址,回车,在进入charles,我们就看到抓取到了这个请求

选中此请求,右键,选中断点。

 

打开浏览器,重新刷新http://bj.58.com这个界面,charles自动弹出breakpoints这个tab页,说明charles成功拦截了此请求,我们可以在此界面修改请求,然后点击execute将修改后的请求发送至服务器

服务器处理请求后,发送response给客户端,charles自动拦截此response,如下,我们可以修改Edit Response的内容,修改服务器返回的内容,如下,我们修改了返回的界面某个内容展现,再点击execute,将此response成功返回给客户端。

 

打开浏览器,可以看到返回的界面内容被修改成功

 

posted @ 2018-03-21 11:05  小蕊-zr  阅读(137)  评论(0编辑  收藏  举报