环境准备
- windows
- Linux
- 夜神模拟器
- MT管理器
- Charles
工具简介
Charles
Charles是一款非常强大的HTTP抓包工具,通过对该软件的设置让其成为系统网络访问服务器,即所有的网络访问都要通过该软件来完成,这样它就可以轻松获得所有HTTP、HTTPS的数据封包,监视所有的流量包括所有的浏览器和应用进程,方便开发人员查看计算机与Internet之间的所有通信。
Charles下载后有30天免费使用权限,过了之后可以选择重新下载或者购买,未激活的Charles每次只能开30分钟,需要再次手动开启。所以需要破解
破解方法
- 随便输入一个字符串点击生成,弹窗获取license key。
- 打开Charles=>help=>Registered=>将上面的信息填进去即可
夜神模拟器
夜神安卓模拟器是一款采用类手机界面视觉设计的PC端桌面软件,采用内核技术(基于Android7.0 [3] 版本内核针在电脑上运行深度开发),具有同类模拟器中领先运行速度和稳定的性能。当然也可以用其他模拟器替代
MT管理器
Charles配置
1. Proxy => Proxy Settings…
2.如图勾选未勾选上的 点击ok 完成设置
3.Proxy => SSL Proxying Settings…
4.如图添加,如果没有点击add 添加 => 点击ok完成全部设置
到此配置完成,但是抓包总是没网络,主要就是证书安装的不正确
证书安装
1.导出Charles证书
- 点击Charles Help=>SSL Proxying => save Charles Root Certificate…
- 选择证书保存位置和名称
- 至此生了一个.pem后缀的证书文件,当时安卓系统的证书后缀名都是.0
2.利用openssl重命名证书
-
利用openssl修改证书文件名(我利用领先自带openssl,win系统自己安装openssl)
-
查看pem证书的hash值
openssl x509 -inform PEM -subject_hash_old -in test.pem
- 将pem证书重命名,使用上面显示的值98f5b098对pem证书进行重命名(需要注意的是路径)
mv test.pem 98f5b098.0
3.安装证书到安卓系统目录(因为现在安卓的不是在系统证书里,导致无法抓包)
-
点击夜神模拟器侧边栏的电脑图标,选择打开电脑文件夹,会跳转打开电脑的目录C:\Users\Administrator\Nox_share,将转换好的证书98f5b098.0复制到ImageShare目录下即可
-
下载MT管理器,拖拉到模拟器中安装完成,点击打开应用,左边打开Pictures目录就可以看到刚才电脑ImageShare目录的证书98f5b098…0
-
右边点击进入到system/etc/security/cacerts目录,然后长按左边的98f5b098.0文件,点击复制即可复制到右边打开的目录那里
-
-
刚才复制到system/etc/security/cacerts目录下的98f5b098.0文件,你会发现跟其他已有的系统证书相比,98f5b098.0根本就没有读的权限,到时你到信任的凭据也是没法找到这个Fiddler证书的,点击MT管理器的左上角,找到打开终端(这一步Charles要是开的)
-
在打开的终端输入如下代码
-
至此模拟器桌面,点击模拟器的设置 -> 安全性与位置信息 -> 加密与凭据 -> 信任的凭据 -> 系统,往下拉终于看到咱们的证书
-
最后设置模拟器网络代理,至此可以正常抓包了