Charles抓包(iOS的http/https请求)

Charles抓包(iOS的http/https请求)


  • Charles安装
  • HTTP抓包
  • HTTPS抓包

Charles抓包(iOS的http/https请求)

1. Charles安装

官网下载安装Charles:
https://www.charlesproxy.com/download/

2. HTTP抓包

(1)查看电脑IP地址
Charles抓包(iOS的http/https请求)
(2)设置手机HTTP代理

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

Charles抓包(iOS的http/https请求)

设置代理后,需要在电脑上打开Charles才能上网

(3)电脑上打开Charles进行HTTP抓包

手机上打开某个App或者浏览器什么的,如果不能上网,检查前面步骤是否正确

Charles抓包(iOS的http/https请求)

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

Charles抓包(iOS的http/https请求)
HTTP抓包

3. HTTPS抓包

HTTPS的抓包需要在HTTP抓包基础上再进行设置

设置前抓包HTTPS是这样的

Charles抓包(iOS的http/https请求)

设置后抓包HTTPS长这样

Charles抓包(iOS的http/https请求)
Charles抓包(iOS的http/https请求)

以下为在HTTP抓包基础上进行HTTP抓包的进一步设置步骤:

(1)安装SSL证书到手机设备

点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device

Charles抓包(iOS的http/https请求)

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

Charles抓包(iOS的http/https请求)
手机安装SSL证书的地址

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

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

Proxy -> SSL Proxying Settings...

Charles抓包(iOS的http/https请求)

勾选Enable SSL Proxying,点击Add

Charles抓包(iOS的http/https请求)

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

Charles抓包(iOS的http/https请求)

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

Charles抓包(iOS的http/https请求)
(3)进行HTTPS抓包

让手机重新发送https请求,可看到抓包

Charles抓包(iOS的http/https请求)
HTTPS抓包

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

郑重提醒: iOS10.3的真机抓包https, 在手机设置,关于本机,最下边有一个证书信任,必须打开charles的证书信任,才能抓包,而且,挂证书的api貌似抓不到包,只显示❌, 只有不挂证书的才能抓到

上一篇:【Nginx】错误: [emerg] “proxy_pass“ cannot have URI part in location given by regular expression,...


下一篇:centos7环境下对防火墙的操作