1、首先找到对应网址的IP,以youku为例
注意上面应该用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之类的关键词,如果能找到,那就是视频的地址了。
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时就需要改动这个字段。
总结一下,下载youku之类的视频的途径有如下几种:
一、用网站提供的客户端
二、用kisstudou.com找到该视频的分块地址,然后逐个下载,用wget批量下载时需要改动User-Agent
三、用tcpdump寻找地址,这个方法只能满足一下破解的小小欲望,实用性不强。
参考:
阅读(6406) | 评论(0) | 转发(0) |