1、Charles 概述

关于抓包工具:先后琢磨过 wireshark,fiddler,burp suite,charles 。
不得不说在http request拦截与responce数据模拟上charles真的是比较简洁好用。

  • 界面也是简洁大方
  • 拦截篡改请求方便
  • 模拟responce更方便(太赞)

破解版本下载:

2、配置

  • Charles 端配置: Proxy -> Proxy Setting -> 常见的设置8888或者8080
    这里写图片描述

  • 手机端就是普通的连接代理配置:wifi -> 代理 -> 手动 -> 填写主机名(上图ip),端口号(上图端口号)

  • 然后手机发起请求,要选择同意(allow) (如果没有弹出此界面,一般无法抓包,请确认防火墙关闭,并重启charles)
    这里写图片描述

3、charles 数据包展示

比较简洁的tab 左边有域名归类:
这里写图片描述

右边是单个请求:
这里写图片描述

4、请求过滤

太多的请求总是凌乱:
Proxy -> Recording Settings 以手机酷狗为例子。
这里写图片描述

5、请求与响应拦截类比

6、charles http 拦截(Breakpoints)

在Sequence 这拦,选择要拦截的接口,右击 -> Breakpoints 以后的请求和响应分别拦截一次跳到改数据内容页面。
按钮说明:

  • cancel 跳过不改
  • abort 丢弃
  • excute 执行(修改后点击)

6、save

在Sequence 这拦,选择要拦截的接口,右击 ->
- save Request 请求内容保存
- save Responce 响应内容保存

7、map (非常好用的功能,mock 效果)

在Sequence 这拦,选择要拦截的接口,右击 ->
- map remote 该请求结果使用另一个请求的结果
- map local 该请求的结果使用本地文件
这是一个非常好用的功能,有mock 模拟数据的用处。比如说服务端不方便给各种数据,可以在这里客户端自己构造数据测效果。

8、FAQ

8.1、 中文乱码

edit -> preferences -> 选择一个中文字体就可以了

这里写图片描述

via。http://blog.csdn.net/lckj686/article/details/57302934