技术干货|探究抓包获取ClassIn课程回放直链的方法①

一、探究背景
ClassIn是翼鸥教育发布的一款功能强大的在线教室直播系统,凭借先进的多路视频通信技术,以及完善的全球布点建设云通信系统,ClassIn一直致力于在线教育技术的快发展。
在实际使用过程中,发现ClassIn历史课程回放仅支持「在线播放」,而没有「下载」功能,仅可在授课老师分享课程后方可获取下载链接。
这给学生「分享课程」等操作造成了极大困难。
因此,尝试通过其它手段获取回放直链,就显得尤为重要,而「抓包」思想是我首先想到的方法。
二、准备工具
- 一部Android手机(必须使用Android 11以下的设备,否则会有证书安装问题)
- 一个ClassIn账号以及一个有效的课程
- 如可以,建议给手机开启ROOT权限
三、方法讲解
1.安装软件
[1]ClassIn App
ClassIn官方提供下载渠道,可以直接在下载窗口下载安装。
[2]HttpCanary App
由于在各大应用市场均未搜到本应用,同时原作者也已经停止了日常维护,这里提供酷安大佬“NEKOOKEN”分享的下载链接(访问密码:3513)。
2.软件初步调试
[1]ClassIn App
将已有的ClassIn账号输入登录,进入「首页」界面,点击上方的「课程表」按钮,查看需要获取回放直链的课程。
[2]HttpCanary App
进入APP,依次安照初始化步骤,同意条款→配置VPN→安装根证书→移动证书到系统CA列表(如无ROOT权限,可以选择右上角的跳过)
注:在「安装根证书」步骤中,可能会弹出Android系统自带的「为证书命名」窗口,在凭据用途中请选择「VPN和应用」(即默认选项),如图(示例为Android 10 原生ROM)。
请注意:如您使用Android 11设备,在安装证书时会提示必须在“设置”中安装CA证书,建议使用Android 11以下的设备或参考文末附录解决方法。
若一切正常,即可进入首页界面,准备后续的抓包操作。
3.开始抓包
在开始之前,建议将不必要的应用移出后台,避免收集到不必要的抓包数据。
①打开HttpCanary App进入首页,点击右下角按钮,开始抓包(可以通过是否有悬浮窗来判断是否已经成功开始抓包)。
②打开ClassIn App,选择需要的课程,点击「回放观看」按钮。
③观看5-10秒时间,然后退出ClassIn App,重新进入HttpCanary App,再次点击右下角按钮,停止抓包。
④分析抓包数据,观察记录里GET记录,可以发现有https://playback.eeo.cn/开头的链接,此即为课程回放直链,点击它查看详细内容。
⑤点击该URL,即可复制到剪贴板了。
⑥在浏览器中打开测试,成功。
四、原理总结
本方法是通过HttpCanary利用VPN代理抓取ClassIn客户端的数据包后进一步分析得到。
相比之下,本方法步骤简单,技术含量较少,利于“小白化”操作。
同时也在研究其它方法实现其目的。
五、文末附录
1.ClassIn API
ClassIn官方提供使用「GitBook」发布的API,可供技术人员参考。
详细请点击本链接。
2.HttpCanary Android 11 安装证书问题
由于Android 11收紧了APP安装「CA证书」的权限,只能用户手动安装,因此导致了用户无法正常使用HttpCanary。
具体解决方法,请参见酷安大佬“蓝瓦”所写的教程点击链接。
但是操作较为复杂,建议更换Android 11以下的设备进行抓包操作。
