使用Wireshark和rtmpdump抓取微信公众平台视频

  • A+
所属分类:web安全 零基础系列

发现问题:

县委办一同事跑到我办公室请教我怎么样下载微信公众平台上的一个视频。

分析问题:

一、让他通过分享的方式把微信视频网页地址发到我的QQ上。这样我就取得了网页地址。

http://mp.weixin.qq.com/s?__biz=MzA3NTEzOTczNQ==&mid=203975879&idx=1&sn=228eb4323f77e9ecfc907e974c2c187b&scene=1&from=singlemessage&isappinstalled=0#rd

二、通过分析微信网页,发现是分享了江西今视网的一个专题。

网址:http://news.jxntv.cn/jiangxi/20150313/100904.shtml

三、打开江西今视网相关网页,查看网页代码,如下图:

使用Wireshark和rtmpdump抓取微信公众平台视频

发现真正的视频文件地址是MP4,使用的视频服务方式是RTMP协议。

四、我使用的是Fedora + FireFox,下载使用了好几个相关的视频下载插件都下载不了,没办法只有自己动手了。

解决问题

一、内事不决问百度,关键字:RTMP  视频 下载 。找到下面的网页:

http://blog.sina.com.cn/s/blog_639771ef0101dd24.html

发现rtmpdump可以下载RTMP协议的视频。问题是这个程序需要填写几个参数,网上的教程都是Windows的。幸好,rtmpdump是GNU软体!

二、安装rtmpdump

yum install <a href="https://www.404sec.com/tag/rtmpdump/" title="查看与 rtmpdump 相关的文章" target="_blank">rtmpdump</a>

三、获取相关RTMP参数。

网络协议分析利器Wireshark登场,打开Wireshark,点捕获数据。打开视频网页,点播放。开始播放后,Wireshark将会开始捕获数据了。

显示数据过滤:

因为WIRESHARK上面数据太多,我们需要过滤掉其它非RTMP协议数据。在过滤窗口输入下面条件并应用:

rtmpt.header.typeid == 0x14

指的是只显示RTMP协议中的AMF0数据。

如下图:

使用Wireshark和rtmpdump抓取微信公众平台视频

上面我们感兴趣的只有两条数据,一个是connect,一个是play

如上图,查看一下connect数据,找到AMF0对象属性tcUrl的值为:rtmp://dianbo01.jxntv.cn/videoPlay ,这个是RTMP服务器地址。

使用Wireshark和rtmpdump抓取微信公众平台视频

如上图,查看一下play数据,找到所要播放的视频地址:mp4:2015/1/jtymlx/wlbm/3m/0319/1.mp4
这样我们就取得了运行 rtmpdump 命令所需要的相关参数信息。

四、下载保存视频

打开控制台窗口,输入如下命令:

rtmpdump -r rtmp://dianbo01.jxntv.cn/videoPlay -y mp4:2015/1/jtymlx/wlbm/3m/0319/1.mp4 -o video.mp4

开始下载视频,下载完成后文件名为video.mp4

结束语:

能够将技术应用到工作中还是挺开心的。。。。

发表评论

您必须才能发表评论!