教你全面分析ALEXA排名及算法

2521D1A99492F3E2A8A19BAAA1E09099A2E7
其中的C8A7D4C7A7F3A2A6A3AC60CED1A3就是第一个域名信息。长度为28,其中每两个字符表示一个ascll码,所以原始域名的长度为14,因此去密匙的前14为:d9adyz93472kb6。

待解码字符串 C8 A7 D4 C7 A7 F3 A2 A6 A3 AC 60 CE D1 A3
密匙 d9adyz93472kb6 64 39 61 64 79 7a 39 33 34 37 32 6b 62 36
相减结果 64 6e 73 63 2e 79 69 73 6f 75 2e 63 6f 6d
ascll码转字符串为 dnsc.yisou.com

由于每个版本的密匙都可能不同,所以模拟alexa Toolbar时,要特别注意密匙的更新。
3.ACT,经常形式是00000000000或者0000000001或者4000000000什么的,这里面包含几种状态,40000000是在本页刷新,00000001是鼠标点击过后在新窗口打开。注意的事,ALEXA基本只统计ACT为00000000001的,这样才能证明是人为打开的。
4.IP,独立ip可以使用ADSL自动拔通断开/代理服务器方式 (花刺代理) /插件客户端方式解决。
5.发包,主要是发往DATA服务器,还有2个别的我忘记名字了,其中有一个是更新注册表中hints字段的值。当然,这里面最重要的就是COOKIE,只有正确的发往ALEXA才可能被ALEXA承认。协议:TCP 源IP:192.168.1.232 源端口:1311 目的IP:209.237.237.101 目的端口:80 TTL长度:128 数据大小:659
data.alexa.com 会收到加密的数据包,这个数据包中的核心信息就是十几个参数,这些参数包括当前网页地址、页面打开时间、用户端显示分辨率、alexa工具条版本号。
64.213.200.101      data.alexa.com
64.213.200.96       log.alexa.com

GET /data/6+0t61Zcj470PI?cli=10&dat=snba&ver=7.2&cdt=alx_vw%3D20%26wid%3D31676%26act%3D00000000000%26ss%3D1400×1050%26bw%3D735%26t%3D0%26ttl%3D5829%26vis%3D1%26rq%3D3&url=http://lucene.cn/ HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Alexa Toolbar)
Host: data.alexa.com
Connection: Keep-Alive
Cookie: AV_ccLoad=false; twym65_disabled=false; AlexaVersion=7.2; twym65=D7A8C9D9A7DDA8A0%2521

  将URL部分解码后得到:
GET /data/6+0t61Zcj470PI?cli=10&dat=snba&ver=7.2&cdt=alx_vw=20&wid=31676&act=00000000000&ss=1400×1050&bw=735&t=0&ttl=5829&vis=1&rq=3&url=http://lucene.cn/ HTTP/1.1

  其中”6+0t61Zcj470PI”是aid。

  ”?cli=10&dat=snba&ver=7.2&cdt=alx_vw=20&wid=31676&”这部分是固定值。

  wid是当前IE的进程号,模拟时可在500-30000之间随机产生

  act数据包含了Alexa Toobar功能的被使用情况。

  ss很明显是屏幕分辨率了。

  bw是IE窗口的宽度。

  t当document.referrer 存在时为1,否则为0,就是说url是人手输入时为0,当前页面是从页面点击过来时为1。

  ttl是记录页面转载的时间,也就是开始装载的时间和转载完成的时间差,但开新窗口时无法记录开始装载的时间,所以开新窗口时该值为0。估计alexa对一个网站速度的评价就是源于此,所以

模拟时,该数值可在500至1000,表示访问中搜时页面的加载速度在0.5-1秒之间。可提供alexa上对中搜的速度评价。

  vis表明IE是否显示工具条。

  rq是当前窗口共去过多少个链接,每点击一次就加1。所以可推论当ttl>0时,rq>0。
6.必须考虑加载Alexa Toolbar所需的时间,太短的话Alexa Toolbar是不会发送信息的,改善的方法就是不要在新窗口中打开连接,这样能避免新的IE窗口因加载Alexa Toolbar所耗费的时间。

7.注册表 将”enablepopup”项改值设为”false”不出现拦截弹出网页对话框, 将 “ieVis”项值设为”true”显示在IE工具条
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Alexa Internet]
“ieVis”=”true”
“expVis”=dword:00000000
“lastcheck”=”1184006189″
“lastupdate”=”1184005842421″
“AlexaVersion”=”7.2″
“widesearch65″=”normal”
“shownames”=”icons_stext”
“fillsearch”=”true”
“UseAnswerAsDefault”=”1″
“enablepopupbutton”=”true”
“enablepopup”=”false”
“lasthint”=”1184005843921″
“aid”=”KxDA61X1DrW1/V”

[HKEY_LOCAL_MACHINE\SOFTWARE\Alexa Internet\Hosts]
“alexa.com”=dword:00000000
如果您的浏览器禁止弹出窗口请设置成允许该窗口弹出!

打开ALEXA工具条

修改注册表允许弹出窗口
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Alexa Internet\Hosts]
“www.lucene.cn”=dword:00000000

1. AID 可以从注册表取到,用命令停止DLL,再删了注册表,安装工具条后会从服务器得到一组新AID,Aid都是alexa的服务器提供的,自然都合法,而且为了兼容以前的程序,aid的只有申请了下来就永远都是合法的,如果发现该aid的行为不正常,alexa会屏蔽该aid。

2.COOKIE,twym65里面的twym的意思就是 the web you make的首字母。是5个域名的循环,每个域名之间用%XXXX做分隔,如果你不停的刷一个页面的话,COOKIE永远不会变的,COOKIE只能记录5个站点。就是刷完5次后再刷自己站。那里面保存了一些你的浏览隐私,所以Alexa把这部分数据加密了,通过一种类似于PGP的加密方法,cookies也是可以伪造的 我们可以看到twym65里面的信息,下面是简单的对照表
D7A8C9D9A7DDA8A0%2521     www.sohu.com
C69ACAC8EEA89CA2A1%2521   www.baidu.com
在发送url时同时还有发送了cookie,cookie信息如下:
AV_ccLoad=false;
twym65_disabled=false; twym65=C8A7D4C7A7F3A2A6A3AC60CED1A3%2521C8A8CFC9F0ED67A199AB%2521D7A2D5C9A7F4A1A2A29EA5DAD76496E9A2%2521D49AC8C9A7F4A1A2A29EA5DAD76496E9A2%

2521D1A99492F3E2A8A19BAAA1E09099A2E7;
totalpopupcount=1; lastpopupblocked=DEA1D0D2E0EDA8A8629AA1D88768669F676562A567986B68ABA9A19D6C6EAB;

lastpopupallowed=DEA1D0D2E0EDA8A8629AA1D88768669F676562A567986B68ABA9A2A16D68B2;
AlexaVersion=7.0

其中:AlexaVersion=7.0、AV_ccLoad=false; twym65_disabled=false一般是不变的。
twym65存储的是当前本地访问的历史,只记录5个,并且只记录域名。该值估计会影响“关联网站”
totalpopupcount 记录了本机屏蔽了多少个url,估计该参数无任何影响。
lastpopupblocked 记录的是最后禁止屏蔽的窗口url。估计该参数无影响。
lastpopupallowed 记录允许弹出窗口的url。估计该参数影响“网站状态”中的Popups。

Cookie的加密算法
根据张世铭的研究,发送是如果不发送cookie的信息,alexa是不记录的,所以可推论alexa判断发送过来信息是否合法,一是根据aid是否合法,二就是cookie中信息是否合法了。alexa的反作弊系统估计只能通过判断cookie

是否合法来验证发送信息的合法性了。当然也可能有其他判断,例如上文中,如果发送参数中ttl>0但rq=0,就肯定是非法的。可做推论:模拟发送的信息是否能被alexa承认,关键在于cookie加

密算法的破解。
Cookie中最多记录5个域名,域名之间用“!”号分隔,由于cookie的内容需要按URL格式编码,!号的编码为%21,而其中的%编码为%25,所以两次编码后,!号的编码为为%2512,实际发送

cookie信息中用域名分隔字符串为%2521。

AlxRes中,一名为WyrmDSN的对象是用于出来cookie的,其中的charencode方法用于加密cookie中的域名信息,该方法由名为WyrmDSN_charencode的函数解释,其基本算法为:
将域名中每个字符的ascll值和当前版本的密匙中对应字符的ascll值相加,然后将这些得到的16进制数字合成为一个串。
用上面的样板解释加密过程:
目前版本密匙为:d9adyz93472kb63z521t6e80wqpi56znb16fya6im3dr3xwe
twym65=C8A7D4C7A7F3A2A6A3AC60CED1A3%2521C8A8CFC9F0ED67A199AB%2521D7A2D5C9A7F4A1A2A29EA5DAD76496E9A2%2521D49AC8C9A7F4A1A2A29EA5DAD76496E9A2%


About this entry