安卓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是一个很成熟的工具了,社区方面挺积极的,网上教程也多,小伙伴们必备啊!
安卓7.0之后ssl如何抓包是一个NP难题么?相关推荐
- 安卓模拟器BlueStacks+TCPdump对APP抓包分析
2019独角兽企业重金招聘Python工程师标准>>> 安卓模拟器BlueStacks+TCPdump对APP抓包分析 博客分类: 抓包 最近要搞安卓APP抓包分析,在网上找了一些方 ...
- SSL/TLS抓包出现提示Ignored Unknown Record
SSL/TLS抓包出现提示Ignored Unknown Record 出现这种提示有两种情况.第一种,抓包迟了,部分SSL/TLS的协商数据没有获取,Wireshark无法识别和解析.第二种,数据包 ...
- 中兴B863AV3.2-M_安卓9.0系统_线刷包及教程
中兴B863AV3.2-M_安卓9.0系统_线刷包及教程 固件介绍: 此版本分2种主控,一种的s905l3a,另外一种是s905l3a-b. 1.调出原厂固件屏蔽的wifi,开放原厂固件屏蔽的市场安装 ...
- 安卓无需root权限小黄鸟抓包教程
青龙安装部署教程-------点击跳转 QQ交流:1014549449 --------------点击跳转 1.真机安装小黄鸟HttpCanay和安卓虚拟机vmos(软件见群文件) 2.小黄鸟的设置 ...
- 在安卓7.0+上用charles抓https
一说起charles抓https,大家可能要笑我了,这还用得着你教?证书往手机上一装不就行了? 然而事情并没有这么简单,很多时候你会发现,即使你配置正确,在手机上也装好了charles证书,仍然无法抓 ...
- 用frida突破SSL pinning抓包
python任意版本安装frida,手机端使用的mumu模拟器,其他的也可以 pip install frida adb 连接 mumu模拟器 查看内核 adb shell su cat /proc/ ...
- 安卓android6以后fiddler Charles等抓包软件也适用)抓包手机的解决方法
本人产品加技术狗,最近产品研究需要要用fiddler抓包手机app,刚好这款aap的IOS版本下架了,只有安卓版本可用,于是用手里的小米mix2 安装了这款app,fiddler在电脑上抓包,发现老是 ...
- 魅族 刷机android 6.0,乐视X900+安卓6.0 魅族Flyme6刷机包 最新6.7.12.29R付费纯净版
本包是乐视X900+适配版,属于安卓6.0系列,论坛的另外多个Flyme版本的,大家区别开来,不要胡乱互刷,否则会出现问题, Flyme包大约一周更新一次,经常用的可以多关注一下这个帖子,刷机之前请删 ...
- 安卓逆向——dy急速版设备抓包分析
dy急速版设备注册分析 使用环境 手机: Nexus 6P 系统:Android 6 Xposed :justTrustMe 应用:dy极速版-10.9.0 1. 抓包 : 当手机第一次安装 ...
最新文章
- 为什么任何对象都可以实现锁
- 商场楼层导视牌图片_百宝图商场电子导视软件中预约产品功能简介
- android sqlite存储数据,Android之SQLite数据存储
- 用python画三维图、某区域的高程,python - 在PyQt中绘制具有高程和降低效果的3D矩形/多边形 - SO中文参考 - www.soinside.com...
- 京东java笔试_2017阿里,百度,京东java面试+笔试大合集,2018的你会吗?
- Spark Standalone模式伪分布式环境搭建
- Java程序设计基础陈国军版第五版第三章习题答案与解析
- adt变频器故障代码ol2_英威腾变频器故障代码表
- 生命计算机在线,抖音死亡计算器寿命计算器在线测试入口 使用生命年龄计算器...
- 搜狗微信临时链接转换成永久链接
- 吉林大学计算机数据中心排名,2018年度中国医院排行榜发布,吉大一院跻身50强!...
- 如何用Python制作词云,对1000首古诗做词云分析!
- 上上上篇ANTV留下来的坑
- 计算机更新80072f76,更新升级win10系统时出现错误代码0x80072f76怎么办
- python中的slice用法
- js获取字符串字符数和字节数,注意:区分字符串字符数和字节数(编程环境UTF-8的情形)
- JavaSE基础练习题
- 两大图灵奖得主力作:计算机架构的新黄金时代
- iOS-控件之间的继承
- decode和encode
热门文章
- 数据库系统应用开发方法
- stc15f2k60f2单片机定时器_STC15F2系列单片机UART1使用定时器1做波特率发生器
- 【论文笔记】北斗GPS多频实时精密定位理论与算法
- 计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度附Matlab代码和论文复现
- 各种图片编码格式详解(bmp,jpg,png)
- 谷歌地球网页版_谷歌地球终于支持非Chromium浏览器:Safari除外
- office365的订阅用户 为什么还提示我激活
- 利用ECharts3来实现ECharts2实例中的模拟迁徙效果,即背景地图为百度地图。 标签: ECharts3Echarts2模拟迁徙百度地图引入
- 【历史上的今天】2 月 3 日:“开源”一词诞生;比尔·盖茨发表《致电脑爱好者的公开信》;“雾件”问题被提出
- Hadoop全分布平台搭建-单词统计[完整]CentOS[详细]