- Charles安装
- HTTP抓包
- HTTPS抓包

1. Charles安装
官网下载安装Charles:
https://www.charlesproxy.com/download/
2. HTTP抓包
(1)查看电脑IP地址

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

设置代理后,需要在电脑上打开Charles才能上网
(3)电脑上打开Charles进行HTTP抓包
手机上打开某个App或者浏览器什么的,如果不能上网,检查前面步骤是否正确

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

3. HTTPS抓包
HTTPS的抓包需要在HTTP抓包基础上再进行设置
设置前抓包HTTPS是这样的

设置后抓包HTTPS长这样


以下为在HTTP抓包基础上进行HTTP抓包的进一步设置步骤:
(1)安装SSL证书到手机设备
点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device

出现弹窗得到地址 chls.pro/ssl

在手机Safari浏览器输入地址 chls.pro/ssl,出现证书安装页面,点击安装
手机设置有密码的输入密码进行安装

-
注意1:有兄弟姐妹说Safari浏览器输入这个网址chls.pro/ssl安装不了证书的情况,
亲测要(1)设置好手机HTTP代理 (2)电脑上Charles要开着 -
注意2:iOS 10.3系统,需要在 设置→通用→关于本机→证书信任设置 里面启用完全信任Charles证书
(这里感谢@13002171223的提出这点 ,之前没升级10.3哈)
(2)�Charles设置Proxy
Proxy -> SSL Proxying Settings...

勾选Enable SSL Proxying,点击Add

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

Host填写:https://api.weibo.cn
Port填写:443

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

注意:不抓包请关闭手机HTTP代理,否则断开与电脑连接后会连不上网
----愿您有所收获~ end
网友评论
渣渣有个问题想请求关于抓包工具的。
用charle能抓包https的服务信息,这样的话是不是https安全就不存在了?那这个抓包工具charls在这个抓包过程中扮演了一个什么角色?类似代理服务器吗?
这个是抓那个app的就写那个app的
不是固定写死的是吗
设置 https 代理时,弹出框为 显示信息为:
Configure your device to use Charles as its HTTP proxy on 127.0.0.1:8888, then browse to chls.pro/ssl to download and install the certificate.
手机输入 chls.pro/ssl 打不开
请大神解惑
mac和手机都连同一个wifi是不行的
只是有些带了证书的API确实抓不到囧...
已亲测过10.3,可以的。
3.(2)步骤
设置代理后手机网络可用,可以打开啊。
手机访问这个地址前要保证设置完代理后手机网络可用,设置代理后,Charles会弹出一个窗口,点击允许,才可以访问网络的。 然后我今天又测了下,可以下载证书。 iOS 10.2系统。
需要在Proxy -> SSL Proxying Settings...添加抓包ip地址,如我自己电脑的服务器的是192.168.1.112
设置了代理,也开着charles,但是请求charles一直失败,Safari显示的打不开网页,因为服务器已停止响应
这是charles抓包的结果
URL http://172.21.242.91:8888/
Status Failed
Failure Remote server closed the connection before sending response header
Response Code -
Protocol HTTP/1.1
SSL -
Method GET
Kept Alive No
Content-Type -
Client Address /172.21.255.6
Remote Address 172.21.242.91/172.21.242.91
不知道你说的“抓了之后还是抓不出来”,是返回内容没出来,还是请求没出来,还是出来了一堆乱码