Charles简介
Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。

一、下载地址:https://www.charlesproxy.com/

1.选择对应的操作系统

2.点击 DOwnload a free trial 进行下载

charles host ios unknown 证书 charles证书下载 ios_ios

3.安装成功后,打开Charles的主页

charles host ios unknown 证书 charles证书下载 ios_http_02

二 Web 抓取HTTPS协议

虽然现在Charles能够直接抓包了,但是https协议的报我们是抓取不了的,需要安装SSL证书才可以

Charles配置操作如下:

2.1,点击顶部菜单栏【Help】–>选择【SSL Proxying】,点击【install Charles Root Certificate 】安装Charles根证书即可;

charles host ios unknown 证书 charles证书下载 ios_HTTP_03


2.2 点击安装证书 -> 本地计算机 -> 将所有证书都放到下列储存 -> 点击下一步完成即可

charles host ios unknown 证书 charles证书下载 ios_测试工具_04


2.3 设置HTTP/HTTPS协议端口

Proxy -> SSL Proxying Settiongs 在弹出选项卡中,勾选【Enable SSL Proxying】点击【add】
添加以下Host和Port

1. *:*
2. *:443
3. *:80

 解释:
	 在Host输入【*】表示接收任何主机
	 80是http协议的默认端口
	 443是https协议的默认端口

charles host ios unknown 证书 charles证书下载 ios_HTTP_05


2.4 打开抓取web端设置

Proxy -> Windows Proxy 勾选中即可

charles host ios unknown 证书 charles证书下载 ios_测试工具_06


2.5 访问 www.baidu.com 能够抓取到接口并且接口下有数据表示成功

charles host ios unknown 证书 charles证书下载 ios_https_07

注意:如果接口下抓取是unknown表示失败
1. 协议未配置
2. 证书未安装
3. 防火墙未关闭

三 Charles手机抓包证书安装(IOS)
App抓包
Charles抓包不仅仅可以抓取来在电脑端的HTTP请求,也能够抓取来自App发出的HTTP请求,但是手机抓包需要在电脑端配置下,并且同时需要手机和电脑在同一网络下并且手机VPN也需要关闭

3.1 端口号设置 Proxy -> Proxy Setting 默认端口号 8888

charles host ios unknown 证书 charles证书下载 ios_HTTP_08


3.2 查看自己IP地址和端口号和下载证书网址

Help -> SSl Proxying -> Install Charles Root Certificate on a mobile Device or Remote Browser

charles host ios unknown 证书 charles证书下载 ios_https_09


charles host ios unknown 证书 charles证书下载 ios_HTTP_10

3.3手机端设置:

1,打开手机的设置页面;

2,选择【无线局域网】;

3,IOS点击连接的WIFI后面的感叹号,安卓应该是长按连接的WIFI;(注:这里主要以IOS为例)

4,点击【配置代理】–>【手动】;

5,输入本机【IP地址】以及【端口号】,根据自己情况合理配置;

6,点击【存储】

charles host ios unknown 证书 charles证书下载 ios_ios_11


charles host ios unknown 证书 charles证书下载 ios_http_12


charles host ios unknown 证书 charles证书下载 ios_ios_13


再次说明:服务器IP和端口号需要用到自己的IP和Charles上设置的端口

查看方法:Help -> SSl Proxying -> Install Charles Root Certificate on a mobile Device or Remote Browser(步骤3.2 有截图)

charles host ios unknown 证书 charles证书下载 ios_HTTP_14


3.4 检验代理配置是否成功

打开浏览器验证下手机请求,当我们看到Charles里能抓到这个连接,就说明配置没问题,看到unknown,这个不要紧,那是我们没有安装针对手机端的证书,下面继续我们手机端HTTPS证书安装

charles host ios unknown 证书 charles证书下载 ios_http_15


抓取手机HTTPS协议

通过上面的设置,虽然来自我们手机端的Http协议请求可以抓取到,但是HTTPS协议的包是不能抓取的,需要安装配置证书才可以,现在手机上大多数都已经切到https很少由http协议的了3.5 Charles配置:

手机打开浏览器输入 chls.pro/ssl,如下提示,点击允许(如果下载失败,请更换浏览器重新在下)

charles host ios unknown 证书 charles证书下载 ios_https_16


3.6 进入设置 -> 描述文件与设备管理 -> 点击未安装的证书进行安装

charles host ios unknown 证书 charles证书下载 ios_HTTP_17


3.7 安装成功后需要在 通用 -> 关于本机 -> 证书信任设置 中勾选Charles证书(针对于IOS手机)

charles host ios unknown 证书 charles证书下载 ios_测试工具_18


最后,重新打开charles,手机访问网页/app就可以了

注意事项:

  1. 手机和电脑需要在同一网络下
  2. 手机VPN需要关闭
  3. 不同电脑对应不同证书,所以说你连接其他电脑需要重新下载手机证书
  4. 如果抓出来的接口显示Unknown可以把防火墙关闭,再打开charles重新抓取

如果有其他方法可以留言