是这样的,昨天我的一个页面貌似被分享到了微信的朋友圈,然后获得了大量的点击,形如
/abc?from=timeline&isappinstalled=0
开始时链接只是附带了 from 和 isappinstalled 这两个参数,含义很好理解,这些请求所附带的 User-Agent 和 ip 看起来也都是正常的,能看到设备型号、系统版本之类的。这个我自己分享到朋友圈后可以复现
对于不带 nsukey 参数的请求来看,首先应该可以肯定都是真实点击, 300 多个来源 IP 中,绝大多数都来自北京(北京某高校 IP ,北京市教育网 IP ,北京市运营商应用在基站/公共 WIFI 的 IP ),基本每个 IP 只访问了一次,从 User-Agent 来看都是从微信的朋友圈里面点进来的,可以理解为,分享人和朋友圈好友基本分布在北京。
随着访问量的增加,后面很大一部分的请求在上面的基础上又额外附带了一个新的参数, nsukey ,并且基本上每个请求所附带的 key 并不相同,格式是这样的。
LrT10s2BxEe8NKrXllu2BPcjGlLDumrxoS4J0yZfg5tTr9qxjjKFbInMR2FFO8UVXWzYspCAUdLt2BFwpY4lCDP0nw3D3D
LrT10s2BxEe8NKrXllu2BPcjGlLDumrxoS4J0yZfg5tTr9qxjjKFbInMR2FFO8UVXWzYspCAUdLt2BFwpY4lCDP0nw3D3D
LrT10s2BxEe8NKrXllu2BPcjGlLDumrxoS4J0yZfg5tTr0i1aK3QCYeNc34KOIEyq6drDg76FyBc0q2FahJE3nMLQ3D3D
LrT10s2BxEe8NKrXllu2BPcjGlLDumrxoS4J0yZfg5tTr9qxjjKFbInMR2FFO8UVXWzYspCAUdLt2BFwpY4lCDP0nw3D3D
LrT10s2BxEe8NKrXllu2BPcjGlLDumrxoS4J0yZfg5tTr9qxjjKFbInMR2FFO8UVXWzYspCAUdLt2BFwpY4lCDP0nw3D3D
LrT10s2BxEe8NKrXllu2BPcjGlLDumrxoS4J0yZfg5tTrm5NWAS0Xj41WtngOY0oJZhRc0zIiw4tP36GQcifKPgw3D3D
带有 nsukey 参数的请求看起来稍微有些奇怪。首先,几百个请求的 User-Agent 的请求都是相同的,固定为
Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) CriOS/30.0.1599.12 Mobile/11A501 Safari/8536.25 MicroMessenger/6.1.0
而且来源的 100 多个 IP 是分布在若干个机房里的多组 IP ,每个 IP 请求了数次到数十次不等,而且机房并不在北京,有上海的,有深圳的,选三组举例
38 117.185.24.135
30 117.185.24.151
32 117.185.24.152
34 117.185.24.243
45 117.185.27.102
36 117.185.27.103
51 117.185.27.104
28 117.185.27.142
30 117.185.27.143
38 117.185.27.144
33 117.185.27.146
29 117.185.27.147
37 117.185.27.98
33 117.185.27.99
3 101.226.125.108
3 101.226.125.109
1 101.226.125.113
1 101.226.125.114
1 101.226.125.115
2 101.226.125.116
2 101.226.125.117
2 101.226.125.118
3 101.226.125.119
3 101.226.125.120
1 101.226.125.121
2 101.226.125.122
2 101.226.125.14
2 101.226.125.15
1 101.226.125.18
20 183.232.118.13
18 183.232.118.14
15 183.232.118.15
13 183.232.118.16
17 183.232.120.37
19 183.232.120.38
18 183.232.120.39
18 183.232.90.143
16 183.232.90.36
20 183.232.90.37
14 183.232.90.38
16 183.232.90.65
18 183.232.90.79
16 183.232.90.80
21 183.232.90.97
我尝试着自己分享一个测试链接到朋友圈,用自己和身边几个朋友的来点击,都没有附带 nsukey ,这也印证了上面对于不带 nsukey 请求为真实用户点击的猜测。但是隔了一夜看访问记录里,是有带 nsukey 的请求过来的,两种请求出现的时候先后顺序上没有规律,且应该和系统无关( Android & iOS ),在网上找了一下相关资料,发现谈论的人很少,所以来 V 站问问有没有了解的或者研究过同样问题的同学,一起讨论下,这部分带有 nsukey 的请求究竟是真实用户的请求被微信(运营商?)缓存/中转还是被抓取或者其他的?究竟什么条件会触发朋友圈分享链接时自动加上 nsukey 这个参数?
1
muyunyan 2016-10-12 13:37:39 +08:00
试试自己多点几次同样的链接会不会出发微信附带 nsukey 的逻辑?
按照网上已有的资料猜的话,应该是多次触发产生,微信帮助网站开发者鉴别是否为同一用户的多次点击的行为。 |
3
nicoljiang 2016-10-13 11:20:52 +08:00
可能是搜狗的 spider 呢
|
4
lingyi95 2018-12-24 01:31:04 +08:00
|