愚蠢的地球人

安卓应用的https抓包简明教程

基本原理:在电脑上运行抓包工具Fiddler,安卓手机跟电脑在同一个局域网内,Fiddler会启动一个网络代理,在安卓手机的WIFI设置里面手动指定这个代理,手机所有的流量都会通过Fiddler来转发,于是Fiddler就能抓取手机的http数据包了。但是https的包是经过加密的,Fiddler抓到的包无法显示包的内容,这时我们就需要在手机上安装Fiddler的证书,并信任这个证书。在安卓手机上安装和信任证书需要Root,由于手机Root不太方便,所以我使用的是夜神安卓模拟器。

方法很简单,教程如下:

1.下载安装抓包工具Fiddler和夜神模拟器,下载地址和安装方法本文略过

2.下载安装openssl,下载地址:http://slproweb.com/products/Win32OpenSSL.html

3.安装完openssl之后,在环境变量PATH中添加openssl的可执行文件路径,比如说: C:\Program Files\OpenSSL-Win64\bin,然后打开命令提示符或者Power Shell输入命令:openssl version 查看openssl版本(验证是否安装成功)

4.打开Fiddler、选项、HTTPS、勾上“抓取HTTPS”,然后点右边的Actions按钮,在下拉菜单中点击“导出证书到桌面”,你会发现桌面上有了一个名为“FiddlerRoot.cer”的证书文件

4.用openssl将证书转换为pem格式:openssl x509 -inform DER -in FiddlerRoot.cer -out cacert.pem,执行完成之后桌面上会出现一个名为“cacert.pem”的pem格式证书

5.获取cacert.pem的hash信息:openssl x509 -inform PEM -subject_hash_old -in cacert.pem,比如说hash信息为“269953fb”

6.用这个hash信息来重命名cacert.pem文件为269953fb.0,然后将269953fb.0复制到安卓设备/system/etc/security/cacerts/这个目录下(文件管理器要支持root才行,我用的是ES文件浏览器)

7.在手机设置--->安全-->加密凭证-->信任的凭证中找到名为“DO_NOT_TRUST”的证书,看一下有没有启用,如果没启用的话就启用。

完成!

 

谢谢大佬 评论于
回复
谢谢大佬谢谢大佬谢谢大佬,太牛了

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

友情链接

网站分类

最新留言

最近发表