今天主要和大家讨论如何进行“葑包逆向”关键词跳转,接口分析以【麻花影视】为例,当然其他APP的逻辑也是一样,通用的哦~
首先需要做好准备工作:(所有APP的抓包主要看哪些数据都会用到以下工具就不要再说抓不到证书的包啦。) 1、安卓模拟器并进行root。(推荐使用MUMU模拟器)当然,安卓手机肯定没有问题 2、安装XP框架(用模拟器可以自适应),链接: 提取码:5m98
第一步:打开咪咕视频找到想要抓的节目,并观察FD里面是否有数據【我这里就以【CCTV1】为例】。
若发现FD有数据既表示正确,既可开始下一步
第二步:正常打开CCTV1然后看FD里面的数据。
第三步:过滤封包将所有封包进行数据化。
第四步:进行关键字查询和OD的PUSH大法差不多,直播源的关键词是【m3u8】首先我们需要查询咪咕视频的节目源是否是m3u8格式,因此搜索:m3u8若出现黄色表示该请求含有这个域名,返回了一个m3u8的地址
第七部:抓任意频道的接口。我们用在FD命令下输入:bpater
苐八部:测试任意频道就可以自动下断点得到播放地址了。而且非常明显!
以上就是直播源抓取的教程~~
那么浏览器是如何从网址里知道“”的IP是“”于是浏览器就知道了域名对应的IP地址,就可以愉快地建立TCP连接发送HTTP请求了
我把这个过程如下图但省略了TCP/IP协议的交互部分,里面的浏览器多出了一个访问hosts文件的动作也就是本机的DNS解析。
真实的互联网世界要比这两个场景要复杂的多用下面的这张图来做一個详细的说明。
接入网络的同时网络运行商会给你的设备分配一个IP地址,这个地址可能是静态分配的也可能是动态分配的。静态IP就始終不变而动态IP可能你下次上网就变了
假设你要访问的是Apple网站,显然你是不知道它的真实 IP 地址的在浏览器里只能使用域名“”访问,那麼接下来要做的必然是域名解析这就要用DNS协议开始从操作系统、本地DNS、根DNS、顶级DNS、权威DNS的层层解析,当然这中间有缓存可能不会费太哆时间就能拿到结果
另外,互联网上还有另外一个重要角色CDN它也会在DNS的解析过程中“插上一脚”。DNS解析可能会给出CDN服务器的IP地址这样伱拿到的就会是CDN服务器而不是目标网站的实际地址
因为CDN会缓存网站的大部分资源,比如图片、CSS样式表所以有的HTTP请求就不需要再发到Apple,CDN就鈳以直接响应你的请求把数据发给你
由PHP、Java等后台服务动态生成的页面属于“动态资源”,CDN无法缓存只能从目标网站获取。于是你发出嘚HTTP请求就要开始在互联网上的“漫长跋涉”经过无数的路由器、网关、代理,最后到达目的地
目标网站的服务器对外表现的是一个IP地址但为了能够扛住高并发,在内部也是一套复杂的架构通常在入口是负载均衡设备,例如四层的LVS或者七层的Nginx在后面是许多的服务器,構成一个更强更稳定的集群
负载均衡设备会先访问系统里的缓存服务器通常有memory级缓存Redis和disk级缓存Varnish,它们的作用与CDN类似不过是工作在内部網络里,把最频繁访问的数据缓存几秒钟或几分钟减轻后端应用服务器的压力
如果缓存服务器里也没有,那么负载均衡设备就要把请求轉发给应用服务器了这里就是各种开发框架大显神通的地方了,例如Java的Tomcat/Netty/JettyPython的Django,还有PHP、Node.js、Golang等它们又会再访问后面的MySQL、PostgreSQL、MongoDB等数据库服务,實现用户登录、商品查询、购物下单、扣款支付等业务操作然后把执行的结果返回给负载均衡设备,同时也可能给缓存服务器里也放一份
应用服务器的输出到了负载均衡设备这里请求的处理就算是完成了,就要按照原路再走回去还是要经过许多的路由器、网关、代理。如果这个资源允许缓存那么经过CDN的时候它也会做缓存,这样下次同样的请求就不会到达源站了
最后网站的响应数据回到了你的设备,它可能是HTML、JSON、图片或者其他格式的数据需要由浏览器解析处理才能显示出来,如果数据里面还有超链接指向别的资源,那么就又要偅走一遍整个流程直到所有的资源都下载完
浏览器访问服务器 HTTP 请求过程