安卓app抓包解决方案

环境准备

  • windows
  • Linux
  • 夜神模拟器
  • MT管理器
  • Charles

工具简介

Charles

下载地址

Charles是一款非常强大的HTTP抓包工具,通过对该软件的设置让其成为系统网络访问服务器,即所有的网络访问都要通过该软件来完成,这样它就可以轻松获得所有HTTP、HTTPS的数据封包,监视所有的流量包括所有的浏览器和应用进程,方便开发人员查看计算机与Internet之间的所有通信。

Charles下载后有30天免费使用权限,过了之后可以选择重新下载或者购买,未激活的Charles每次只能开30分钟,需要再次手动开启。所以需要破解

破解方法

在线破解工具

  • 随便输入一个字符串点击生成,弹窗获取license key。
    安卓app抓包解决方案_第1张图片
  • 打开Charles=>help=>Registered=>将上面的信息填进去即可
    安卓app抓包解决方案_第2张图片

夜神模拟器

夜神安卓模拟器是一款采用类手机界面视觉设计的PC端桌面软件,采用内核技术(基于Android7.0 [3] 版本内核针在电脑上运行深度开发),具有同类模拟器中领先运行速度和稳定的性能。当然也可以用其他模拟器替代

MT管理器

MT管理器apk下载地址

Charles配置

1. Proxy => Proxy Settings…

安卓app抓包解决方案_第3张图片

2.如图勾选未勾选上的 点击ok 完成设置

安卓app抓包解决方案_第4张图片

3.Proxy => SSL Proxying Settings…

安卓app抓包解决方案_第5张图片

4.如图添加,如果没有点击add 添加 => 点击ok完成全部设置

安卓app抓包解决方案_第6张图片

到此配置完成,但是抓包总是没网络,主要就是证书安装的不正确

证书安装

1.导出Charles证书

  • 点击Charles Help=>SSL Proxying => save Charles Root Certificate…
    安卓app抓包解决方案_第7张图片
  • 选择证书保存位置和名称
    安卓app抓包解决方案_第8张图片
  • 至此生了一个.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
    安卓app抓包解决方案_第9张图片

  • 右边点击进入到system/etc/security/cacerts目录,然后长按左边的98f5b098.0文件,点击复制即可复制到右边打开的目录那里

  • 安卓app抓包解决方案_第10张图片
    安卓app抓包解决方案_第11张图片

  • 刚才复制到system/etc/security/cacerts目录下的98f5b098.0文件,你会发现跟其他已有的系统证书相比,98f5b098.0根本就没有读的权限,到时你到信任的凭据也是没法找到这个Fiddler证书的,点击MT管理器的左上角,找到打开终端(这一步Charles要是开的)
    安卓app抓包解决方案_第12张图片

  • 在打开的终端输入如下代码

安卓app抓包解决方案_第13张图片

  • 至此模拟器桌面,点击模拟器的设置 -> 安全性与位置信息 -> 加密与凭据 -> 信任的凭据 -> 系统,往下拉终于看到咱们的证书

  • 最后设置模拟器网络代理,至此可以正常抓包了

你可能感兴趣的:(爬虫,小知识,android,服务器,linux)