先说两句
现在国内国外的很多游戏,特别是网络游戏,在下载的时候往往都不提供真实的下载地址,而是选择提供一个下载器,强制要求使用下载器才能下载到游戏,即使有一些有提供第三方的下载链接,这些第三方的版本也常常比较老。虽然游戏的开发商发行商运营商都基于了很多方面的考虑才强制使用下载器,但是这对于笔者这样日常使用macOS,下载基本上是放到路由器上进行的用户非常的麻烦,毕竟macOS并不能运行那些exe的下载器,而一直开着虚拟机进行下载会让机器处于高负荷状态,自己用起来也热不说,对硬件来说长时间满速高热运行也没有什么好处,所以今天笔者就简单介绍一下怎么抓取到一个游戏下载器下载时使用的真实地址,这里使用最终幻想14国服作为测试游戏,这个方法对EA的Origin平台游戏同样有效。
那就动手吧
Wireshark的下载就不具体介绍了,这个东西是一抓一大把的啦。这里我同样使用windows虚拟机来运行下载器,用macOS的宿主机来运行Wireshark抓取,实际操作和同一台windows机器运行下载器和Wireshark基本上一样。最好在开始之前关闭所有的其他程序,最好能把windows自动更新也关闭了,避免其他网络操作影响抓取结果。
首先我们先启动虚拟机以后启动下载器,稍微下载一点点以后暂停下载:
然后启动Wireshark,这里我选择虚拟网卡0,如果是真机则选择你用的第一个网络en0一般就对了:
双击进入抓取界面,这里抓取已经自动开始了,可以看到虽然我尽量地关闭了各个程序和windows自动更新,但还是有一些内容已经出来了。
这时候我们切换回来下载器,开始下载器的下载:
有一些进度以后暂停下载,这里我们可以留意一下下载文件名,都是FFXIV_161017_DataXX.cab,XX代表一个顺序数字:
然后回到Wireshark,不出意外的话,应该条目会满满地出现,我们点击一下Protocol让它按照这个字段来排序,然后找到HTTP中GET的内容:
然后我们展开中间那一栏的Hypertext Transfer Protocol,寻找Full Request URL:
然后我们就可以把这个下载地址复制出来啦,这里是:http://ff14.clientdown.sdo.com/3.0/Client/161017/FFXIV_161017_Data02.cab,只需要把这个02替换成01~10的数字,然后复制到远程下载里面,就可以通过路由器挂机下载啦:
好啦,然后就可以等待迅雷或者别的东西的下载啦,下载完成之后把它们放在一起安装就可以进入熟悉的艾欧泽亚大陆啦!