Mac 工具、方法

Charles https抓包 — Android

2017-07-18  本文已影响3956人  叛逆的青春不回头

一、写在前面
二、Https抓包的实现
  (一)首先,电脑得装个证书
  (二)然后,移动设备上安装证书
       * 安装证书的疑难杂症
  (三)最后,Charles添加SSL Proxying


写在前面

开发时,面对各种接口数据,绝大多数时间都会用Charles抓包进行数据分析,但也总会有那么些情况让人抓狂:

很自然地想要Charles能抓https包,于是去搜各种教程,结果发现依然抓狂:

折腾了一两次发现无果,于是只有迁就着安于无法抓https包的现状了,但后来发现“抓狂的情况”出现越来越频繁了,不能安于现状了 (¬_¬)

Https抓包的实现

(一)首先,电脑得装个证书

(1)先去官网下载证书,不然会报“无法找到证书”错误(官网注明说该证书在v3.10上会失效,我安装能正常工作...)
官网地址:https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/

(2)进入Charles-》Help-》SSL Proxying-》Install Charles Root Certificate ,会打开证书,安装进去

(3)当安装后,可能你看不到在哪里,在右上角的搜索中 输入 charles 则会显示出来,你看到上面是 此根证书不被信任

(4)在证书上右键 - 显示详情 ,展开信任 选择 始终信任,然后点击左上角的关闭,系统会弹出授权提示框,授权同意修改,回到列表,稍等,证书就刷新了

(二)然后,移动设备上安装证书

这里不以ios为例,以Android模拟器为例~~首先确保模拟器/手机将电脑的IP地址设置为代理,端口号为8888(具体教程点这里)。然后打开模拟器浏览器,在浏览器中输入http://charlesproxy.com/getssl,会弹出一个框,让输入证书名字,直接输入charle就ok啦,安装成功后会提示证书安装成功,并且成功抓到https的包。

安装证书的疑难杂症
(1)若遇到 在模拟器/手机的浏览器中输入http://charlesproxy.com/getssl不是弹一个框,而是出现了以下界面,可能是因为模拟器/手机没有将电脑的IP地址设置为代理(端口号为8888):**


(2)特殊情况 — 小米手机证书安装

步骤2:导出后,用微信或者其他传到安卓手机里,在WLAN设置,安装证书里打开这个文件,输入刚才的密码就搞定了(比如通过微信方式的路径为 WLAN->高级设置->安装证书->Tencent文件夹->MicroMsg文件夹->Download文件夹)

(三)最后,Charles添加SSL Proxying

(1)进入Proxy-》SSL Proxying Settings

(2)勾选“Enable SSL Proxying”,并点击下方的Add

(3)在弹出的“Edit Location”中,输入Host和Port都为“*”(看提示这样配置可以抓到所有https的包),然后进行添加

(4)同样,确保模拟器/手机将电脑的IP地址设置为代理,端口号为8888:
这下就可以愉快的抓https包,https拦截里不再是unknown了~~

上一篇下一篇

猜你喜欢

热点阅读