Chinaunix首页 | 论坛 | 博客
  • 博客访问: 262068
  • 博文数量: 41
  • 博客积分: 2013
  • 博客等级: 大尉
  • 技术积分: 523
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-08 23:13
文章分类

全部博文(41)

文章存档

2010年(41)

我的朋友

分类: 系统运维

2010-02-28 13:57:29

1、首先找到对应网址的IP,以youku为例

ping v.youku.com


注意上面应该用v.youku.com而不是youku.com,即使用网址中完整的网址(不包括后面的目录)。现在得到IP为121.9.204.232。

2、监视该网站的数据

tcpdump -i wlan0 -s 0 -X 'tcp and dst host 121.9.204.232 and port 80' -w urlcap


上面的命令表示使用网口wlan0,”-s 0“选项表示naplen字段的长度为0,即不输出该字段的信息,-X表示十六进制,中间的字符串表达了三件事:tcp协议,目标IP和商品。而"-w urlcap"表示输出到文件。

我用的是无线,所以网口是wlan0,具体是哪一种可以用ifconfig查看,非无线一般应该是eth0。

3、在该网站上观看视频,如

4、查看输出文件urlcap,寻找与视频相关的信息。主要的是搜索flv之类的关键词,如果能找到,那就是视频的地址了。

vim urlcap


6、但是,你也很可能什么也找不到。以youku为例,浏览器显示的域名是v.youku.com,但是,实际上视频的地址却是f.youku.com。更狡猾的是,你用ping f.youku.com每次都会得到不同的IP,这样你就无法监视单个IP了。解决办法很简单,可以不监视某个IP,而是监视所有的80端口。

tcpdump -i wlan0 -s 0 -X 'tcp and port 80' -w urlcap


这样做的后果是数据量很大,监视一会儿之后就要及时停止,然后再在输出文件寻找flv。现在应该能找到了,地址类似于
而且你也能找到Host: f.youku.com。

7、 把这个地址放到浏览器中,就可以下载了。需要注意的是,这只是一段视频而已,即原视频已经被分为多达十几个部分。要想得到这些地址可能需要看完整个视频才能得到。事实上,有一个更简单的办法,到网站kisstudou.com,将该视频的网页贴过去,就可以得到所有视频的地址。

8、 对于想要用wget批量下载的人,可能会遇到一点麻烦,服务器会拒绝。为什么服务器不拒绝浏览器呢?那是因为网络报文中的一个字段User-Agent。因此,用wget时就需要改动这个字段。

wget -U Mozilla 


总结一下,下载youku之类的视频的途径有如下几种:
一、用网站提供的客户端
二、用kisstudou.com找到该视频的分块地址,然后逐个下载,用wget批量下载时需要改动User-Agent
三、用tcpdump寻找地址,这个方法只能满足一下破解的小小欲望,实用性不强。

参考:

阅读(6365) | 评论(0) | 转发(0) |
0

上一篇:latex中的定理

下一篇:用metapost画一棵树

给主人留下些什么吧!~~