是一款教育类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难题么?相关推荐

  1. 安卓模拟器BlueStacks+TCPdump对APP抓包分析

    2019独角兽企业重金招聘Python工程师标准>>> 安卓模拟器BlueStacks+TCPdump对APP抓包分析 博客分类: 抓包 最近要搞安卓APP抓包分析,在网上找了一些方 ...

  2. SSL/TLS抓包出现提示Ignored Unknown Record

    SSL/TLS抓包出现提示Ignored Unknown Record 出现这种提示有两种情况.第一种,抓包迟了,部分SSL/TLS的协商数据没有获取,Wireshark无法识别和解析.第二种,数据包 ...

  3. 中兴B863AV3.2-M_安卓9.0系统_线刷包及教程

    中兴B863AV3.2-M_安卓9.0系统_线刷包及教程 固件介绍: 此版本分2种主控,一种的s905l3a,另外一种是s905l3a-b. 1.调出原厂固件屏蔽的wifi,开放原厂固件屏蔽的市场安装 ...

  4. 安卓无需root权限小黄鸟抓包教程

    青龙安装部署教程-------点击跳转 QQ交流:1014549449 --------------点击跳转 1.真机安装小黄鸟HttpCanay和安卓虚拟机vmos(软件见群文件) 2.小黄鸟的设置 ...

  5. 在安卓7.0+上用charles抓https

    一说起charles抓https,大家可能要笑我了,这还用得着你教?证书往手机上一装不就行了? 然而事情并没有这么简单,很多时候你会发现,即使你配置正确,在手机上也装好了charles证书,仍然无法抓 ...

  6. 用frida突破SSL pinning抓包

    python任意版本安装frida,手机端使用的mumu模拟器,其他的也可以 pip install frida adb 连接 mumu模拟器 查看内核 adb shell su cat /proc/ ...

  7. 安卓android6以后fiddler Charles等抓包软件也适用)抓包手机的解决方法

    本人产品加技术狗,最近产品研究需要要用fiddler抓包手机app,刚好这款aap的IOS版本下架了,只有安卓版本可用,于是用手里的小米mix2 安装了这款app,fiddler在电脑上抓包,发现老是 ...

  8. 魅族 刷机android 6.0,乐视X900+安卓6.0 魅族Flyme6刷机包 最新6.7.12.29R付费纯净版

    本包是乐视X900+适配版,属于安卓6.0系列,论坛的另外多个Flyme版本的,大家区别开来,不要胡乱互刷,否则会出现问题, Flyme包大约一周更新一次,经常用的可以多关注一下这个帖子,刷机之前请删 ...

  9. 安卓逆向——dy急速版设备抓包分析

    dy急速版设备注册分析 使用环境 手机: Nexus 6P    系统:Android 6 Xposed :justTrustMe 应用:dy极速版-10.9.0  1.  抓包 : 当手机第一次安装 ...

最新文章

  1. 为什么任何对象都可以实现锁
  2. 商场楼层导视牌图片_百宝图商场电子导视软件中预约产品功能简介
  3. android sqlite存储数据,Android之SQLite数据存储
  4. 用python画三维图、某区域的高程,python - 在PyQt中绘制具有高程和降低效果的3D矩形/多边形 - SO中文参考 - www.soinside.com...
  5. 京东java笔试_2017阿里,百度,京东java面试+笔试大合集,2018的你会吗?
  6. Spark Standalone模式伪分布式环境搭建
  7. Java程序设计基础陈国军版第五版第三章习题答案与解析
  8. adt变频器故障代码ol2_英威腾变频器故障代码表
  9. 生命计算机在线,抖音死亡计算器寿命计算器在线测试入口 使用生命年龄计算器...
  10. 搜狗微信临时链接转换成永久链接
  11. 吉林大学计算机数据中心排名,2018年度中国医院排行榜发布,吉大一院跻身50强!...
  12. 如何用Python制作词云,对1000首古诗做词云分析!
  13. 上上上篇ANTV留下来的坑
  14. 计算机更新80072f76,更新升级win10系统时出现错误代码0x80072f76怎么办
  15. python中的slice用法
  16. js获取字符串字符数和字节数,注意:区分字符串字符数和字节数(编程环境UTF-8的情形)
  17. JavaSE基础练习题
  18. 两大图灵奖得主力作:计算机架构的新黄金时代
  19. iOS-控件之间的继承
  20. decode和encode

热门文章

  1. 数据库系统应用开发方法
  2. stc15f2k60f2单片机定时器_STC15F2系列单片机UART1使用定时器1做波特率发生器
  3. 【论文笔记】北斗GPS多频实时精密定位理论与算法
  4. 计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度附Matlab代码和论文复现
  5. 各种图片编码格式详解(bmp,jpg,png)
  6. 谷歌地球网页版_谷歌地球终于支持非Chromium浏览器:Safari除外
  7. office365的订阅用户 为什么还提示我激活
  8. 利用ECharts3来实现ECharts2实例中的模拟迁徙效果,即背景地图为百度地图。 标签: ECharts3Echarts2模拟迁徙百度地图引入
  9. 【历史上的今天】2 月 3 日:“开源”一词诞生;比尔·盖茨发表《致电脑爱好者的公开信》;“雾件”问题被提出
  10. Hadoop全分布平台搭建-单词统计[完整]CentOS[详细]