获取youku视频下载链接(wireshark抓包分析)
随便说两句
前两天写了一个python脚本,试图以分析网页源码的方式得到优酷视频的下载地址,结果只得到视频的纯播放地址,下载纯播放地址得到的文件也无法正常播放视频。
这里共享一下播放地址得到的方法(想看的可以展开折叠):
# 实验视频地址:http://v.youku.com/v_show/id_XMTY3OTYyODM2NA==.html?f=27873045&from=y1.2-3.2
# 解析到播放地址:http://static.youku.com/v1.0.0646/v/swf/loader.swf?VideoIDS=XMTY3OTYyODM2NA==&ShowId=0&category=98&Cp=0&Light=on&THX=off&unCookie=0&frame=0&pvid=1470928536391FWGhzj&uepflag=0&Tid=0&isAutoPlay=true&Version=/v1.0.159&show_ce=0&winType=interior&Type=Folder&Fid=27873045&Pt=1&Ob=1&plchid=&playmode=2&embedid=AjQxOTkwNzA5MQJ2LnlvdWt1LmNvbQIvdl9zaG93L2lkX1hNVFkzT1RjMU5qQTRNQT09Lmh0bWw=&ysuid=1470556998734i3T&vext=bc%3D%26pid%3D1470928536391FWGhzj%26unCookie%3D0%26frame%3D0%26type%3D1%26fob%3D1%26fpo%3D1%26svt%3D0%26cna%3DpcwtEK7f7lUCAXDtLY6srtly%26emb%3DAjQxOTkwNzA5MQJ2LnlvdWt1LmNvbQIvdl9zaG93L2lkX1hNVFkzT1RjMU5qQTRNQT09Lmh0bWw%3D%26dn%3D%E7%BD%91%E9%A1%B5%26hwc%3D1%26mtype%3Doth&cna=pcwtEK7f7lUCAXDtLY6srtly&pageStartTime=0
# 但这不是下载地址,汗
# 解析方法:
# <div class="player" id="player"...<object type="application/x-shockwave-flash"
# data="(.*?)" ... id="movie_player">...
# <param name="flashvars" value="(.*?)">...
# 正则提取出items,(.*?)处为提取对象,存储在items中
# items[0] = 'http://static.youku.com/v1.0.0646/v/swf/loader.swf'
# items[1] = 'VideoIDS=XMTY3OTYyODM2NA==&ShowId=0&category=98&Cp=0&Light=on&THX=off&unCookie=0&frame=0&pvid=1470928536391FWGhzj&uepflag=0&Tid=0&isAutoPlay=true&Version=/v1.0.159&show_ce=0&winType=interior&Type=Folder&Fid=27873045&Pt=1&Ob=1&plchid=&playmode=2&embedid=AjQxOTkwNzA5MQJ2LnlvdWt1LmNvbQIvdl9zaG93L2lkX1hNVFkzT1RjMU5qQTRNQT09Lmh0bWw=&ysuid=1470556998734i3T&vext=bc%3D%26pid%3D1470928536391FWGhzj%26unCookie%3D0%26frame%3D0%26type%3D1%26fob%3D1%26fpo%3D1%26svt%3D0%26cna%3DpcwtEK7f7lUCAXDtLY6srtly%26emb%3DAjQxOTkwNzA5MQJ2LnlvdWt1LmNvbQIvdl9zaG93L2lkX1hNVFkzT1RjMU5qQTRNQT09Lmh0bWw%3D%26dn%3D%E7%BD%91%E9%A1%B5%26hwc%3D1%26mtype%3Doth&cna=pcwtEK7f7lUCAXDtLY6srtly&pageStartTime=0'
# url = items[0] + '?' + items[1]
# url就是播放地址
今天在研究盗链时,心想可不可以直接在优酷返回的包里找到视频的下载链接。
琢磨了一秒钟,心里面觉得这个方法应该是可行的,于是打开抓包神器wireshark。
启动的同时,在优酷主页里随便点开一个视频,让它开始播放。wireshark里很快出现很多包,我加上筛选条件“http”,让它只抓取http协议相关的包。

其中重点关注 info 中开头为 GET 方式请求的包,因为这种包最容易分析,音视频图片的下载链接往往就包含在这些包的应用层里面。

例如上图得到的就是一张logo的图片。
我在这里面找与视频相关的包的链接,大概找到两种:


这两种链接打开就可以播放,但也并不是全部都可以。而且我点开了好多链接,能播放的基本都是广告……
然后我对 /youku 开头的进行了重点分析,别问我为什么,男人的直觉 =_=
对链接进行复制之后,尝试用迅雷下载,结果发现文件十分的小,而且下载之后也无法播放。

类似的链接还有很多段,它们下载得到的文件名一样,但是大小不同,而且单独下载之后都无法播放。我猜这是TCP协议分块传输的关系。
这个时候我发现链接后面有一些参数,于是我把整个链接粘贴到记事本里,然后把参数部分删掉。

得到新的链接,把它复制到迅雷中,发现可以下载,而且大小和之前比不可同日而语。

我猜想这个视频应该是可以播放的,果不其然,下载之后打开果然可以顺利播放,而且正是我在网页中播放的视频。

到这里基本可以确定这个方法是可以获得优酷的视频下载链接,但是还有点小问题,用我们得到的链接下载的视频只有6分钟,而原视频有26分钟,可想而知,下载的视频应该是完整视频的一部分。但我想其它部分的链接就在wireshark中,用同样的方法分析包就可以得到其它部分的链接。在这里我就不一一实验了。
总结一下
这种方法获取优酷视频的下载链接的方法是利用了wireshark软件进行抓包,通过抓取网络中传输的包并进行分析,直接得到请求的视频的地址,然后进行下载。
Freecode# : www.cnblogs.com/yym2013
获取youku视频下载链接(wireshark抓包分析)的更多相关文章
- Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析
Wireshark抓包分析TCP建立/释放链接的过程以及状态变迁分析 一.介绍计算机网络体系结构 1.计算机的网络体系结构 在抓包分析TCP建立链接之前首先了解下计算机的网络通信的模型,我相信学习过计 ...
- Http实战之Wireshark抓包分析
Http实战之Wireshark抓包分析 Http相关的文章网上一搜一大把,所以笔者这一系列的文章不会只陈述一些概念,更多的是通过实战(抓包+代码实现)的方式来跟大家讨论Http协议中的各种细节,帮助 ...
- wireshark抓包分析——TCP/IP协议
本文来自网易云社区 当我们需要跟踪网络有关的信息时,经常会说"抓包".这里抓包究竟是什么?抓到的包又能分析出什么?在本文中以TCP/IP协议为例,简单介绍TCP/IP协议以及如何通 ...
- 使用wireshark抓包分析-抓包实用技巧
目录 使用wireshark抓包分析-抓包实用技巧 前言 自定义捕获条件 输入配置 输出配置 命令行抓包 抓取多个接口 抓包分析 批量分析 合并包 结论 参考文献 使用wireshark抓包分析-抓包 ...
- wireshark 抓包分析 TCPIP协议的握手
wireshark 抓包分析 TCPIP协议的握手 原网址:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html 之前写过一篇 ...
- http2 技术整理 nginx 搭建 http2 wireshark 抓包分析 server push 服务端推送
使用 nginx 搭建一个 http2 的站点,准备所需: 1,域名 .com .net 均可(国内域名需要 icp 备案) 2,云主机一个,可以自由的安装配置软件的服务器 3,https 证书 ht ...
- Wireshark抓包分析/TCP/Http/Https及代理IP的识别
前言 坦白讲,没想好怎样的开头.辗转三年过去了.一切已经变化了许多,一切似乎从没有改变. 前段时间调研了一次代理相关的知识,简单整理一下分享之.如有错误,欢迎指正. 涉及 Proxy IP应用 原理/ ...
- 用Wireshark抓包分析超过70秒的请求
超过70秒的请求是通过分析IIS日志发现的: 10.159.63.104是SLB的内网IP. 通过Wireshark抓包分析请求是9:22:21收到的(tcp.stream eq 23080): 09 ...
- Wireshark抓包分析HTTPS与HTTP报文的差异
一.什么是HTTPS: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换 ...
随机推荐
- [转载]El Capitan 中 SIP 介绍
这两天大家纷纷将 OS X 系统升级到了 El Capitan,然后发现,一些注入的工具无法使用了,某些系统目录无法使用了,第三方未签名的 kext 无法加载了,问题一堆堆的.这是因为,Mac OS ...
- String、StringBuffer与StringBuilder之间区别
关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > String ...
- linux 查找文件或目录
find / -maxdepth 2 -name "vmware*"在根目录/ 2层深度下搜索以vmware打头的文件或者目录
- Eclipse Android环境搭建
1.先安装ADT,记得断开网络2.然后关闭Eclipse安装SDK,例如安装在C:\Users\Administrator\AppData\Local\Android\android-sdk3.重启E ...
- Rss 订阅:php动态生成xml格式的rss文件
Rss 简介: 简易信息聚合(也 叫聚合内容)是一种描述和同步网站内容的格式.使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新.网络用户可以在客户端借助于支持RS ...
- iOS动态部署之RSA加密传输Patch补丁
概要:这一篇博客主要说明下iOS客户端动态部署方案中,patch(补丁)是如何比较安全的加载到客户端中. 在整个过程中,需要使用RSA来加密(你可以选择其它的非对称加密算法),MD5来做校验(同样,你 ...
- js 判断客户端浏览器
var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { ...
- Sicily 1153: 马的周游问题(DFS+剪枝)
这道题没有找到一条回路,所以不能跟1152一样用数组储存后输出.我采用的方法是DFS加剪枝,直接DFS搜索会超时,优化的方法是在搜索是优先走出度小的路径,比如move1和move2都可以走,但是如走了 ...
- jQuery判断及更改checkbox状态
判断:jquery对象.prop("checked") 选中:jquery对象.prop("checked", true) 取消选中:jquery对象.remo ...
- CAIN怎么嗅探路由密码
Cain & Abel 是由Oxid.it开发的一个针对Microsoft操作系统的免费口令恢复工具.号称穷人使用的L0phtcrack.它的功能十分强大,可以网络嗅探,网络欺骗,破解加密口令 ...