平时下载某些大公司的软件的时候,会得到一个下载器,再由它隐藏目标软件的真实下载地址,以龟速下载。这种事情令我很是恼火,相信大家也都知道中国的网速是个什么情况。
但它们这么做却又是情有可原,保证了下载的数据源是在官网的服务器上,排开了迅雷什么的P2P技术从它处引入不安全因素的可能。
有人会说,可以到下载站去下载,那我会说还不如搜到官方链接去下呢。
或许是我的有洁癖,但凡有官网的软件,我都只会从官网下载。寝室的路由器被我暗暗地封掉了迅雷的IP段,所以即使把下载任务拖进了迅雷,也等同于从源地址下载。
那些大公司的软件,有可能软件对应的语言不同,其下载地址就会不同(当然也许只是文件名上的差异),只有自己动手,才有感觉。
这一次的导火索是Adobe公司的什么鬼Adobe Download Assistant!
上手Wireshark
软件的下载和安装是很简单的事,但是用起来还真是云里雾里的感觉。
对了,安装过程中会要求安装WinPcap,自我介绍说是抓包软件都必不可少的东西,所以就同意了吧。
我对网络通信的认识,仅仅局限在寝室局域网线路的搭设和著名文章《穿越GFW技术及其控制方法》(网传是清华大学计算机系的某篇研究生毕业论文,内容写得可以,这就是我的网络通信启蒙老师!)及其相关资料(比如什么80、433端口,三次握手,DNS解析等等等等)当中。
查阅了一些文章后,我明白了,我要做的不过是选择“Capture-Options-Start”,这样,抓包就开始了。至于那个Interface选项,由于我用的是台式机,只有一张网卡,默认的也只可能是那张。
面对着不断增长的数据,选择“Capture-Stop”应该是新手的本能。此外,作为菜鸟,只要是个聪明人,在第一次尝试之后也能感悟到,要抓什么,那其它的无关网络连接就最好关掉,而且要把握好启动时机与抓取时长。
参照某个看来很著名的很官方的页面[1],我得知还有“捕捉过滤器”和“显示过滤器”这么一说。就在那时“正则表达式”第一时间就让我给联想到了,幸好,不是用这个,而是它自己的一套简单得多的规则,只是我不曾深入了解网络通信,无从下手罢了。
我猜这个下载的通信过程应该是http的,于是就在软件界面的“Filter”栏里填了“http”,回车之后还真只显示了相关的统计。
揪出软件的真实下载地址
后来找到了一篇文章[2],其插图中的“GET”方式让我眼前一亮,有种似曾相识的感觉,赶紧拿来其过滤规则“http.request.method == GET”一用,还真就暴露了。
逐条查看“GET”记录的Hypertext Transfer Protocol信息,很容易就揪出如下两个下载地址:
- http://trials3.adobe.com/AdobeProducts/AUDT/4/win32/Audition_4_LS7.exe
- http://trials3.adobe.com/AdobeProducts/PPRO/5_5/win32/PremierePro_5_5_LS7.7z
另外就是Google Chrome的更新了,它也是隐藏地址在后台下载。正如我在离线更新Chrome一文中所说,只要得到真正的安装包,双击即可安装或更新完毕,塞U盘里很方便。
只是我看不懂抓包记录,也许这个下载过程不是用的GET方式,也许是因为整个过程是https方式访问的(自然抓不到明文的记录)。
至于QQ,本来还想下一个下载器做测试的,谁知道现在它竟然不玩这个了,主页上只有一个下载链接了,就是安装包的。
嗅探在线视频的下载地址
其实不管是视频还是图片,只要是在浏览器里能看到的东西,都是打完网址回车后下载下来了的,不然怎么个看法?
刚开始让同学文向荣给引了好大一个圈子。一天下课时我和他说了抓包这事,于是他就和我一起回我寝室了解情况(事后我感觉他好像对这些也不清楚)。他说某个网站的视频是调用别的域名的,看看能不能抓到,可是他竟认为只要是下载就应该是ftp方式的,而且还不知道有个叫“GET”的请求方式,让我逐个查看面页元素如js文件倒是讲得不亦乐乎。
事实上,那个视频是调用了Windows Media Player的播放器,这就好说了,右击它就能看到属性,点开后视频所在位置就暴露无遗了。虽然打开后只是一个只有一句版权声明的纯文本页面,但是查看面页源代码即可获取一段“mms://wmp.open.com.cn/M204/0803/lanzhou/shehuixgl/movie/01_1/Media/PSAV_des.wmv”,虽然迅雷下载失败,但是地址就摆在那儿,另外找个专用的mms协议下载器应该就能解决。
说到这里,我似乎明白了一点,之所以抓不到,估计是因为我过滤成只输出http协议的结果了,而这个视频用的是mms协议。(懒得回过头去验证了,那网站又是IE Only的。)以前我也遇到过几个调用WMP播放器的视频,它们的属性里直接就是http方式的地址,拖进迅雷就可以顺利下载。
这里有一篇文章[3],讲的是如何下载优酷视频,很有代表性。不过开始我依样画葫芦,却没有成功。
我的抓包信息如下(在“Hypertext Transfer Protocol”上右击选择“copy-bytes-printable text only”):
GET /youku/6572373FB554483E5DB52660E1/03000209014BCB64A7935400E5EBAF67613A40-5999-5809-2E8E-A89253E94C34.flv?preview_num=30&preview_ts=388 HTTP/1.1
Host: 124.232.164.156
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.142 Safari/535.19
Accept: */*
Referer: http://static.youku.com/v1.0.0225/v/swf/player.swf
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: UTF-8,*;q=0.5
直接下载“http://124.232.164.156/youku/6572373FB554483E5DB52660E1/03000209014BCB64A7935400E5EBAF67613A40-5999-5809-2E8E-A89253E94C34.flv?preview_num=30&preview_ts=388”将会得到一个只有几十KB大小文件,与原文对比,只是“.flv”后面多了一串字符串,删掉之后放进迅雷,就一切正常了,得到了一段10多MB的视频片段。
鉴于像优酷这样的在线视频都是分节下载的,所以下载这种反正不清晰的视频是没有什么意思的,硬是需要的话,还是用什么flvcd的硕鼠之类的工具吧。
抓向帐号登录的信息
之前天涯爆出UC的https协议明文传输的漏洞[4](关于此事件,另一篇扩展文章[5]也值得一读),里面就提到了用Wireshark抓包。现在既然让我用上了,那就多学一学吧。
这里我觉得只需要总结出我的实践过程,点一下重点就可以了,就两点:
- 用不着用真实的帐号和密码去登录;
- 也用不着“截取 HTTP 请求, 逐一查看 TCP Stream”,用一条“显示过滤器”的规则“http.request.method == POST”就可以了。
试验了一下点点网,它让我明白了原来这就是所谓裸奔:
account=testfordiandian&password=letthepwexplose&nextUrl=&lcallback=&persistent=1。
帐户名:testfordiandian;密码:letthepwexplose。(注:帐户名意为“针对点点的测试”,密码正是“让密码暴露吧”。真是令人发指。)
而新浪微博虽然显示了一大串内容,但是没有搜到明文帐号和密码,即“test4sina”和“letthepwexplose”。
腾讯的话,帐号可以在“uid=”字符串后看到,但是“skey=”的密码就加过密了,仅看到一个明文字符(估计是巧合),位数和我输入的也不一致。
监控局域网内其他电脑
在动这个念头的时候,我就想了,用Wireshark的时候只能选本机的网卡,而别人网卡发出的数据包经过路由器就径直转发到外网去了,也没有理由主动送到我这儿来才对。事实表明,抓包的结果和我想的一样,仅有我和局域网内其它计算机有通信(也就是说“Source”项和“Destination”项就是在我和对方中选)的时候才有记录。
这一切的关键肯定就是看自己的网卡在哪个位置了。如果是笔记本,开启无线网卡的承载网络(正如爆UC漏洞一文中提到的那个虚拟WIFI热点设置,也正如我在用命令行共享校园网一文中记录的那样),那么连接此网卡WIFI热点的手机发送出的数据包自然就可以被Wireshark抓到了。
网上的文章也有说和HUB[6]有关的,换句话说路由器需要端口镜像功能才能让其网内的单机收到其他计算机发出的数据包,所以我只能表示无奈了。我们这个后街买的垃圾货水星MW150R没有这么高级,只有那啥“水星网络MR914网吧专用宽带路由器”
在了解这些东西的同时,我也第一次想到要搞清“集线器”和“交换机”到底是不是一回事,因为这些年来多次听到联校园网(一个寝室只有一个接口)的同学提到这么个词(当然,是网络中心的老师让她们去买的)。结论很简单,集线器现在应该已经买不到了,否则交换机真的是情何以堪了。
参考资料
[1]WIRESHARK – 简明教程 – 过滤器
[2][混饭技能]捣鼓软件之:网络抓包利器-wireshark | 在路上
[3]如何下载网页的FLASH视频 – omage的专栏 – 博客频道 – CSDN.NET
[4][独家爆料]有图有真相 你还敢用UC上网吗?-一位初级黑客的自白_IT视界_天涯社区
[5][独家爆料]真凭实据 钓鱼WIFI还是UC产品漏洞?_IT视界_天涯社区
[6]新手专区之如何 – 新手交流区 – CSNA网络分析论坛 网络分析技术交流、学习、互助!免费网络分析软件,网络小工具下载!