charles ,我们亲切的把它称作茶壶,功能还是十分强大的,尤其是在mac上无法使用fiddler更是。。
其实很容易上手,下载安装,手机设置下ip代理不久可以了嘛?但是你发现包为https的时候就不那么容易了,所以写一个教程,也是自己设置的过程记录下来。顺便把正常http的抓包过程也叙述一下。
△
Charles
是常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。
△
Charles是通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
△
除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。
本文以mac为例子进行操作,windows下想使用charles的道理相同,不过windows下倒是更习惯用fiddler
官网:
/
- Charles安装
- HTTP抓包
- HTTPS抓包

一. Charles安装
详细请见上一篇博客:
charles破解安装
二. HTTP抓包
(1)查看电脑IP地址[两种方法]

方法一

方法二
(2)设置手机HTTP代理
手机连上电脑,点击“设置->无线局域网->连接的WiFi”,设置HTTP代理:
服务器为电脑IP地址:如192.168.1.169
端口:8888

(3)电脑上打开Charles进行HTTP抓包
手机上打开某个App或者浏览器什么的

点击“Allow”允许,出现手机的HTTP请求列表

HTTP抓包
三. HTTPS抓包
HTTPS的抓包需要在HTTP抓包基础上再进行设置
在没有设置前,对HTTPS抓包是这样的,看不到信息

设置后抓包HTTPS长这样

以下为在HTTP抓包基础上进行HTTP抓包的进一步设置步骤
(1)安装SSL证书

(2)安装SSL证书到手机设备
点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device

出现弹窗得到地址
/ssl

手机安装SSL证书的地址
在手机【Safari浏览器】【切记不能用其他浏览器】输入地址
/ssl
,出现证书安装页面,点击安装
手机设置有密码的输入密码进行安装




安装证书
(3)Charles设置Proxy
Proxy -> SSL Proxying Settings...

勾选Enable SSL Proxying,点击Add

Host设置要抓取的https接口,比如想抓这个

Host填写:
https://
或者 *.com *.cn
Port填写:443

(3)进行HTTPS抓包
让手机重新发送https请求,可看到抓包

HTTPS抓包
注意:不抓包请关闭手机HTTP代理,否则断开与电脑连接后会连不上网
----end