内幕调查:出卖Alexa(中) | ||
受记者委托,圈内著名的Web技术专家小林,用了近一个晚上的时间,对Alexa工具条及其向Alexa返回的数据进行了细致的分析,得出了很多宝贵的第一手资料。多年前对Alexa就做过研究的小林认为,最近的这次分析揭示了一些Alexa更隐秘的技术细节。 小林告诉记者,现在最新版本的Alexa工具条的运作机理与以往没有太大的改变,每当用户以装有Alexa工具条的IE浏览器打开新页面时,Alexa的一台服务器(data.alexa.com)都会收到加密的数据包,这个数据包中的核心信息就是十几个参数,这些参数包括当前网页地址、页面打开时间、用户端显示分辨率、Alexa工具条版本号、该用户是否为“亚马逊”的用户等,其中有一个重要的隐含参数,经小林分析,认为是Alexa为每个已安装的工具条自动生成的ID号码,这个号码应该是全球惟一的。Alexa可以通过这个ID对每个反馈数据包的发出者进行惟一标识,这是解决PV重复计算问题和防止同一用户多次刷新作弊的一个重要手段。 小林告诉记者,从目前研究的结果来看,任何一个汇编高手都可以很容易地掌握Alexa工具条返回的数据包中的秘密,如果这个人同时也是一个网络编程高手,那么要针对Alexa作弊就比较容易了。从记者后来对一位上海的Alexa作弊高手的采访来看,小林的分析完全正确。该作弊者正是一位资深的Web开发工程师,其采用的手段与小林的分析也基本吻合——编写一个Alexa工具条返回码生成器,批量产生Alexa能够辨识的代码串,然后用虚拟多用户的方式发回data.alexa.com,这样就可以欺骗Alexa的服务器,让它误以为这些数据是不同用户发来的(征得该作弊者本人同意,本专题在最后公开了记者与该作弊者的网上聊天实录)。 小林认为,这种以编程方式模拟多用户访问的作弊方式的实现,最重要的环节就在于对那个Alexa用来惟一标识用户身份的ID号的生成算法的破解,这需要对足够多的Alexa工具条进行嗅探,抓取其数据包进行定量的算法分析。但小林同时也指出,这些工作对于一个编程高手来说,确实不算什么,只是最终作弊的实现仍需要模拟一个足够快的ID号生成程序,这可能会比较困难,不过据小林估计,国内能做这些事情的人不在少数,只是互联网这个圈子里的高手们很少去做罢了。 从以上的技术分析来看,Alexa的服务器每天所做的工作就是不断接收全球用户传回的数据包,提取其中的那十几个参数并写入专门的数据库,然后在某个特定时间对当天收集到的这些数据进行分析计算,并以新的计算结果去更新当日的网站排名。据记者观察,这个数据库的分析结果至少会保存三年之久,因为在Alexa网站上对每个网站的Rank排名变化趋势图最多能提供三年来的数据变化。 在破解了工具条的DNA之后,记者还与一些朋友探讨了Alexa工具条在全球的分布情况。按照Alexa的说法,工具条是它惟一的信息获取来源,那么工具条在全球用户中的分布也就成了另一个可以影响Alexa排名的重要因素。如果工具条真的是Alexa数据的惟一来源,可以想象,当中国网民都没有安装Alexa工具条的时候,新浪搜狐这样的门户网站恐怕在Alexa排名中都见不到影子,可是今年下半年以来,新浪和搜狐就已经紧随Google排在全球第四和第五的位置了,这似乎说明了Alexa工具条已经在中国具备了较高的普及率,否则,新浪、搜狐以及紧随其后的占领了Alexa全球500强中近1/3份额的中国网站就都有作弊的嫌疑。 幸好记者的一位朋友曹政提供了令人欣慰的数据。作为网站流量分析专家,曹政在www.tong123.com上为多达2000家国内各类网站提供长期的流量监测与统计分析服务。曹政的流量分析与Alexa的不同,Alexa不在被监测的网站上做任何事,而tong123.com对网站进行页面内嵌方式的第三方流量统计。受记者委托,曹政临时在其数据采样分析器里加入了对Alexa工具条的监测。经过一周的数据统计,曹政得出的结论是:访问www.tong123.com系统监测的2000家网站的所有用户中,Alexa工具条的安装率在1.5%左右。 就在发稿前,曹政还给记者发来了对这一结果的补充说明,他认为,由于tong123的系统采用累计平均值的计算方法,Alexa工具条的实际安装比例应该比现在得到的数据更高,因为这个监测项刚加进去不久。 由于tong123.com的监测范围是2000家各类网站,基本上排除了由于监测对象较少可能造成的用户选择倾向性,其可信度比较高。即使以1.5%这个被低估的安装率来衡量Alexa在国内用户中的影响,也已经十分惊人了,若国内互联网用户以总数9000万计算,则其中安装了Alexa工具条的用户可能已超过130万。按照Alexa声称的1000万左右的工具条全球下载总量来看,中国网民对Alexa的热衷似乎显得更为突出,这或许也可以作为国内网站今年在Alexa排行榜中整体排名提高的一个解释。 既然工具条的分布会从很大程度上影响Alexa的监测结果,那么Alexa的排行榜就可能出现很大的地域相关性,如果确实如此,Alexa的权威性就真值得怀疑了。事情远没有这么简单,在Alexa网站上,记者看到全球网站前10万名排行榜的报价是499美元,显然,在大洋彼岸,还是有人认可Alexa的排名数据,甚至会花钱去买那个排行数据莫须有的技术隐私 在Alexa各种公开的资料或是网友对它的讨论中,都没有人明确提出过Alexa除工具条以外是否还有其他能够获取公网流量的监测手段,而长期为多个著名网站提供技术支持的小林,通过对这些网站的日志分析,认为Alexa还有很多技术隐私。由于无法得到Alexa的官方回应,我们只好说这些可能被采用的技术手段是“莫须有”的。为了进一步探寻Alexa的隐私,我们还要先看看Web浏览的过程。当用户打开IE浏览器,在地址栏中输入一串网址并回车后,一些包含了http请求的数据包就被发送出去,与其他流量一样,这些数据包也要经过用户所在内网的网关,被路由到公网,经过一个个电信机房,最终传送到某个提供DNS解析的服务器上,在获得目的网址的IP地址后再被放到一个可以最终路由到目的IP的路径上传送过去。从http请求的发送过程来看,如果Alexa对全球所有的DNS解析服务器进行嗅探,将有可能得到一份非常接近事实的全球http请求数据,由此就可以非常清晰地勾勒出哪些网站被哪些用户所关注。 不过,要嗅探全球的http请求,对Alexa来说几乎是天方夜谭。退一万步,即使Alexa能抓取到这些数据,它也不可能有以这些数据为基础进行计算的能力。但是,Alexa排名所显示出的一些“抖动”迹象似乎在告诉人们,除工具条之外,Alexa确实有使用其他技术手段的嫌疑。 2004年夏天,小林发现中国香港的网站排名出现异常的提升,像“太阳报”这样的小网站,居然能超过很多内地大网站的排名。由于电信网关和简繁体系统的原因,内地与香港网民一般是不做“跨地区互访的”,而香港网民安装Alexa工具条的绝对数也不会比内地用户高。从前文的分析和计算来看,内地网民中Alexa工具条的安装量恐怕比全香港网民的数量都不低,这样的情况下,香港网站在Alexa排名的普遍大幅度提升就显得毫无道理。 经过两个月的高排名期后,香港网站的排名开始逐渐回落,但至今仍有部分网站的排名高出其实际应处的名次。小林认为,这个现象与韩国网站在2003年出现的情况有很大相似性,而韩国的很多网站目前仍有偏高的排名。这种现象如果用Alexa工具条的普及率来解释是不合情理的,但如果用Alexa增加了其他采样机的说法来解释,就很容易说得通。 据小林推断,Alexa可能在全球不同地方设置了一些采样机,通过与一些电信机构进行或明或暗的合作,甚至在临近电信网关的节点进行网络嗅探,得到一些“弥补性”的采样数据。而寻求这些采样数据的目的恰恰是为了照顾Alexa所认为的“工具条低安装率”地区的抽样效果。打个比方,如果Alexa认为韩国互联网已经非常普及,而韩国用户却一直没有安装Alexa工具条的习惯,它就可能会设法在韩国安插一些采样机,以弥补在韩国用工具条采样的不足。同样的情况,也可能导致香港在刚刚设置采样机时网站排名的猛增。而经过一段时间的考察,Alexa就会逐步调整在每个地区的采样数量,以得到它所认为的最合理的结果。 甚至小林还认为,今年内地网站排名的大规模提升也有采样机在作怪,而国庆后内地网站排名的普遍下降也许就是因为Alexa在经过一年的考察后,重新调整了在中国内地采样比重的结果。 当然,Alexa要维护其排名的权威性和公正性,不仅要完善流量数据的采样过程,更要在防止作弊方面做出巨大努力,那些防作弊的技术也都是Alexa的不宣之秘。那么Alexa到底是用什么办法来防止作弊呢?事实上,对于前文中记者提到的以编程模拟Alexa工具条返回数据包的作弊方式,Alexa几乎没什么好办法去防范,甚至要探测到这样的作弊手段都比较难。 其实,对于现在网上常见的作弊手段,Alexa都已经有了足够的免疫力。一般来说,由于现在多数搜索引擎都无法处理JS脚本,所以针对搜索引擎的作弊往往都是用JS脚本编写恶意代码来实现,而Alexa和Google采用的爬行程序则是目前仅有的可识别JS脚本的此类程序。 小林在对几个大型网站的流量监测中发现,Alexa启用了一个叫做IA_Archiver的机器人程序,这个机器人程序类似Google等搜索引擎使用的蜘蛛程序,专门在互联网上爬行,刺探每个Web页面的流量信息。尤其是当某个网站的流量超过Alexa设定的阈值时,IA_Archiver就会马上爬到该网站的服务器上,分析此网站的流量是否正常,有没有作弊行为。据小林对IA_Archiver的监测,该机器人程序已经可以识别大部分基于网站服务器端的流量作弊行为。但现在业内对IA_Archiver的认知普遍不足,记者也只是在Alexa网站的一个帮助页面上看到有关IA_Archiver机器人程序的简单介绍,而国内知道这个机器人程序的人不多,更缺乏相关的技术研究。 信任Alexa? 针对Alexa排名的可信度,不同的人有不同的看法,从事Web技术研究与应用的业内人士多倾向于这样一个说法:Alexa排名不一定是绝对准确的,但却是相对可信的。下面记者举出的一些例子,将从不同方面对Alexa排名的可信度进行对比。 必须承认,尽管Alexa用很多技术手段提高了网站流量监测数据的有效性,但由于其固有的一些技术上的瑕疵,难免使少数网站的排名结果出现一些问题,尽管这些问题在很大程度上要归咎于网站域名结构的不合理性。 比如,Alexa排名是针对URL地址的,并没有考虑IP地址的因素,这在很大程度上降低了Alexa排名计算的难度,但是也不可避免地产生了偏差。一般而言,Alexa只对二级域名感兴趣,而针对三级域名的流量都被纳入了上一级域名的统计,对于比较规范的大型网站而言,这是完全正确的策略,但是对于一个向不同用户分发了三级域名的网站来说,它的流量统计是否应该将所有的子用户的流量加起来呢?这显然要因情况而异,一个很明显的此类不合理统计的例子就是cninfo.net,相信国内老网民都还记得这个域名后缀,这是全国各省市公众信息港通用的二级域名,比如,sh.cninfo.net和gd.cninfo.net分别是上海和广东的两个网站,而Alexa则将其统一算做www.cninfo.net的子域。于是,www.cninfo.net就成了简体中文网站排名第40多位的网站,尽管它其实根本就不是一个可以访问的网站。 对于Alexa排名可信度的另一种质疑来自不同类型网站的流量特征的巨大差异性。比如,门户网站与专业网站或专业论坛的流量就几乎没有可比性,因为不同类型的用户在不同时间不同场合访问不同类型的网站时,其浏览习惯会有极大的差异。 即使两个网站按照Alexa算法得出的综合流量评估值完全相同,那也不能把两个网站的影响力划等号。比如,一个Reach值为1000,PV值为1的网站与一个Reach值为100,PV值为10的网站的Rank应该是相同的,但大部分情况下,后者的内容会比前者更有价值。因为浏览前一个网站的用户都是只看了一个页面就走掉了,说明该网站可能没什么吸引力;而后一个网站的用户平均要看十个页面才会离开,这些用户都很认可该网站的内容。当然,更极端的情况也会出现,比如前者只有一个页面,但该页面内容非常丰富,而后者的每个页面内容都很少,或是给用户设置了很多不必要的跳转,甚至后者也可能就是一个小说连载站。 这些复杂情况的存在让人很难相信Alexa可以只用Reach和PV这两个值就把所有互联网上的站点划分出三六九等。不过,如果我们换一个角度来看Alexa,就会发现它的存在也是有理由的,甚至也可能是确实值得网民信赖的。 如果我们只把Alexa当做一个流量分析服务工具,它的价值就凸现出来了。Alexa网站上提供了非常直观的流量变化趋势统计图功能,这在其他很多情况下是要付费才能获得的服务,而Alexa只是将其作为免费的公众服务。 图1是Alexa上提供的计世网(ccw.com.cn)一年来的流量排名(Rank)走势图,从图上可以清晰地看出,该网站2003年11月3日~2004年11月3日的排名从7500名左右上升到2000名以内,而其中三次非常突然的下降曲线所对应的日期分别是春节、五一、十一这三次长假。众所周知,计世网的用户主要集中在IT行业中,这三次长假导致的下降曲线非常忠实地记录下当时的网民浏览情况——因为放假,大多数用户去旅游或在家休息,上网用户大大减少,所以流量降低,网站的排名也随之降低。而长假过后,IT人回到单位,头一天上班总会想到网上去看看业界的最新资讯。所以长假之后,ccw.com.cn的流量反而都比放假前有不同程度的提升,反映在Rank曲线上,就是三个大的波谷之后曲线高度的恢复与持续攀升。 事实上,如果能够详细分析网站流量变化的趋势,人们也可以分辨出那些作弊的网站,因为作弊网站流量的变化往往是非正常的,其与正常网站的流量变化曲线肯定有不同之处。图2和图3分别是265.com和dsdiy.com的半年来的流量排名趋势变化图,265.com是国内著名的网址导航站,最近半年的全球排名一直稳定在70~120名以内。反观dsdiy.com的Rank变化曲线就颇值得怀疑,9月的第一周,该网站的排名就从全球10万名之外一跃至200名左右,其后的一个月内,该网站的排名一直在100~400名之间徘徊,而就在国庆长假的第一天,该网站的排名竟然蹿升至30名左右,到了10月的第二周,该网站的排名又迅速回落至10万名开外,在Rank曲线图上再也看不到了,拥有类似排名曲线的网站还有sinapet.com和haohz.com等等。 作为Web访问情况的监测工具,Alexa在记录了网站的真实访问量的同时,也同样记录了那些作弊网站的流量变化情况。从这个意义上说,Alexa显然也是可信的,关键是我们选择的视角必须能恰到好处地发挥Alexa的作用。 无论出于什么样的目的,人们出卖Alexa总是希望能从中得到利益,对Alexa的研究越深入,对Alexa的价值理解得越深刻,就越能从中获益。 附文: 点对点采访:Alexa排名高手 通过MSN Messager,《计算机世界》记者王翌(cciewang@msn.com)在线采访了国内一位顶尖的Alexa网站排名高手(alexa_improve@hotmail.com),经对方同意,特刊出双方在网上的对话实录(A=alexa_improve@hotmail.com): 作弊业务收入高 百强排名值万金 王翌:听说你能做Alexa排名?可以做到100名左右? A:当然,更高也可以,100名左右的话,每月要两万块甚至更多。 王翌:你知道的像你这样的同行,国内有多少家? A:我知道的就只有两家,都是重庆人做的。 王翌:你搞Alexa排名是专职还是副业? A:当然是副业。但现在做这个业务赚得比我工资高多了。 王翌:你们现在是几个人做? A:核心是我一个,还有几个朋友帮忙,我们从2002年就会这个了。 王翌:你有没有试过,能做到的最好成绩是怎么样的? A:现在我可以把一个没流量的网站维持在大概50名左右,这是极限。不过一般我们不会乱来。而且也没有人出那么高的价来雇我们做那么高,我们是根据排名高低来收费的。 王翌:维护这些网站的排名是不是会越来越容易?因为把他们做上去以后,流量真的能增加? A:客户一般都是广告和我们一起做。 王翌:你的意思是他们在拉高排名的同时,也做网站推广?还是说他们自己拿排名去拉广告? A:是前者,做网站的人都知道,光有一个假的排名没意思。客户的心态其实很简单,他们做了广告,真实人气会上去,但不一定排名会上去。 王翌:所以,Alexa只是提升品牌的另一种方式? A:他们大笔钱花在广告上,少笔钱花在我们身上,这样两头并进,等流量真的上来一些,排名也做上去了,他们再去接广告就容易了。广告商一看,排名不错,就投上来试试,这样他们自己的流量又确实不会太难看,广告商更容易认可编程破解工具条 排名多少全可控 王翌:Alexa工具条的工作机理你应该很清楚了吧?我昨天在一个朋友那里看了破解的代码,它是每次在用户浏览时都返回一串代码,这些代码中大概有9~10个参数,包括网址、浏览方式什么的,甚至网速都能监测到了。你了解的情况是这样吗?A:差不多就是这样,但那个不是网速,是加载页面的时间。比如同样一个页面,你在本地访问,就是very fast,你在国外访问,就是slow,所以我觉得Alexa给出的Speed这一项是不公平的。 王翌:能具体谈谈你们采用的方法么?据我所知,Alexa排名的两个基本参数,也就是Reach和PV,针对它们都是可以作弊的,但实现的方式不同,另外Alexa也有一些防作弊的手段,你们是怎么搞定的? A:写程序。 王翌:破解Alexa工具条? A:对,我们的机器上都不装Alexa工具条,这玩意儿又慢又内存泄漏,烦死了。我们是在FreeBSD下用C语言写的模拟器,可以同时影响Reach和PV两个值。 王翌:这个模拟器是不是就在一台机器上模拟多人同时在线去访问网站? A:可以这么说。破解了它的算法,就可以模拟成很多人了。 王翌:你们做的一台机器能模拟成多少人访问?如果要把一个网站从无到有的做到100名,需要动用多少资源?多少时间? A:恕不奉告,反正就是模拟多人访问。 |
- 评论:(0)
发表评论 点击这里获取该日志的TrackBack引用地址