IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 安卓7.0之后ssl如何抓包是一个NP难题么? -> 正文阅读

[网络协议]安卓7.0之后ssl如何抓包是一个NP难题么?

是一款教育类APP的视频m3u8地址抓包,顺便练习一下接口测试的基本功,也就是搭建本地测试环境。

起因是,我和某大学生合租了一个网课的账号,可以浏览器和app同时登录,不能两个浏览器同时登录,那样会把对方踢下线;所以,他花钱多他用电脑浏览器,我就用app刷课。

一开始在浏览器阔以抓包成功,很简单的对吧,就是f12盯着network看就行了;所以我就觉得在app上应该也可以;然后有了接下来两天的浪费时间;

先罗列一下用的工具链:

操作系统:win11

开发环境:wsl(基于Hyper-V)

python:anaconda

代理server:mitmproxy

安卓环境:BlueStacks4+BSTweaker(root)

安卓设置代理:org.proxydroid-2.7.1.apk

BlueStacks4导入root证书:Root Certificate Manager ROOT_v1.0.1.apk

这样家伙事就齐全了,mitmproxy开一个代理端口,proxydroid设置全局或者指定app代理,因为抓ssl协议的话需要添加一个证书,用Root Certificate Manager添加好系统证书,理论上就可以了,因为看网上教程都是这么整的,但还是抓包失败了:

首先,代理通道没问题,能看到app发送的请求

问题发生在app软件本身,app验证了证书:

但是看不懂这上面表达的什么意思,现在办法就是用真机在试一遍,但是小米手机解锁BL需要账号绑定168小时以后,烦。这个问题解决了,原来需要一个插件,可以在github下载,tls_passthrough.py下载地址

bluestacks4 是在BSTweaker这个网站下载的,win11只能用Hyper-V版本的,费了好大的劲才搞定root。其它模拟器都不能和hyper-v共存,但是wsl又是基于hyper-v的。

还有一些端口转发的命令贴在下面:

# 调试
# step1: 浏览器中设置代理 设置代理
# step2:访问: http://mitm.it/  安装证书
# step3: 访问:edge://net-internals/#hsts   Delete domain security policies : 
# step4: 查询 Query HSTS/PKP domain  [douyin.com, www.douyin.com] 
# step5:  删除 Delete domain security policies [douyin.com, www.douyin.com] 

# 在selenium 中设置代理

# 安卓:需要wsl端口转发
# 管理员权限 Powershell
# 格式:netsh interface portproxy add v4tov4 listenport=【宿主机windows平台监听端口】 listenaddress=0.0.0.0 connectport=【wsl2平台监听端口】 connectaddress=【wsl2平台ip】protocol=tcp
# netsh interface portproxy add v4tov4 listenport=9000 listenaddress=0.0.0.0 connectport=9000 connectaddress=172.26.170.219 protocol=tcp
# 或
# netsh interface portproxy add v4tov4 listenport=80 listenaddress=* connectport=80 connectaddress=172.30.144.91 protocol=tcp
# 查看端口转发状态:netsh interface portproxy show all
# 格式
# netsh interface portproxy delete v4tov4 listenport=【宿主机windows平台监听端口】 listenaddress=0.0.0.0
# netsh interface portproxy delete v4tov4 listenport=80 listenaddress=*
# 或
# netsh interface portproxy delete v4tov4 listenport=9000 listenaddress=0.0.0.0
# 注意:写的是0.0.0.0删的时候也需要是0.0.0.0进行对应,不然会提示找不到文件。
# 最后一步 : win防火墙 高级设置-tcp-允许连接

# bluestack 用BSTweaker开启root权限

# bluestack模拟器,端口转发,不然wsl adb连不上
# netsh interface portproxy add v4tov4 listenport=62809 listenaddress=0.0.0.0 connectport=62809 connectaddress=10.0.2.2 protocol=tcp

# bluestack 安装proxydroid,设置 mitmproxy的代理,让 开课吧 的流量通过代理

# abd shell 把证书放在系统证书目录

# 开始抓包

一些截图:

最后是成功的图片?

然后还有一些缓存导致的请求错误,来回刷新就没有了?

Windows10使用WSL安装mitmproxy进行抓包_weixin_34363171的博客-CSDN博客

App爬虫神器mitmproxy和mitmdump的使用 - 云+社区 - 腾讯云 (tencent.com)

APK下载:https://apkpure.com/

BlueStacks Tweaker - Official Site (bstweaker.tk)

BlueStacks 4 Hyper-V

mintproxy跳坑集锦 - SegmentFault 思否

最后总结:mitmproxy是一个很成熟的工具了,社区方面挺积极的,网上教程也多,小伙伴们必备啊!

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-15 16:11:28  更:2021-11-15 16:13:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/3 21:01:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码