究竟wifi是怎么定位我的?迷局与真相,阴谋与阳谋

http://www.noisyguy.com/archives/512.html


WIFI定位

wifi定位是很便利的,我们用的时候基本上是透明的,开了wifi连上网络,即可定位。精度从几十米到百十米不等,已经很了不起了,要知道天上三颗卫星没白没黑地转,也就是提供20米左右的精度,而且仅限室外。另一种未怎么普及的定位技术,Cell ID定位(注意本处cell定位指的是运营商为用户提供的服务),因为涉及到须要运营商的基站硬件软件的大力投入,非我等日用品了。这样看来,wifi定位确实是一个了不起的技术。但是你若知道了wifi定位原理的背后,就更觉得它不单单是“了不起”了。

先消除一个最大的误解。很多人误以为wifi是用的ip定位,而且很多人还在争论用的是AP的ip还是用的手持设备的ip。第一,你通过AP获取到的ip是一个私有地址(192.xxx、172.xxx、10.xxx),这个没有任何的定位意义,任何一个办公室或家庭都有这个地址段;第二,人说了AP的ip很可能是公网ip啊,用这个定位嘛。错了。ip定位的精度是不可控的,一般是省市级别,这就是qq显示好友位置的时候最多跟你说Ta在某某市,而不是某某市某某街边的某个网吧里(不排除有显示到网吧的,这仅说明这个网吧的公网ip、名称、地址已经被好事者“注册”了)。ip是什么?专业讲它是设备在某个网络里的标示符,而互联网上的一张网,可以从北京覆盖到成都的。通俗将,你可以大致这么理解,ip就是电信光纤两端的两台设备,而一根光纤可以有多长,这个大家可以想象下那种海底跨洋光纤。。。 window下面有个命令叫tracert,是用来确定你到达某个目标网站之类所需中转的ip数量,大家可以自己尝试一下(开始菜单–》运行–》cmd回车—》黑窗口中输入tracert www.ccav.com~),然后你看一下从你所在位置到例如北京某网站,中间过了多少个ip,再除以物理距离,你就大致知道ip这个东西的定位精度有多不靠谱了。
好进入正题。那google map之流,如何用wifi就把我锁定到百十来米的范围呢?

wifi定位业界有个术语叫WPS,Wi-Fi-based positioning system(http://en.wikipedia.org/wiki/Wi-Fi_positioning_system),它是一种通过建立AP的位置数据库来计算接入某个ap的无线设备地址的技术。关键点就在于这个AP地址库是怎么建立的。先卖个关子,仅告诉你,这些AP不是特殊的AP,不是电信的AP,而就是你家里的AP。没错,你家里的AP的地址信息,很可能已经在谷哥的裤里了。

建立数据库、查询这个库,这个不纠缠,谷歌就是干这个出身的,也没有好复杂的技术。问题是,这个库的数据是怎么建立起来的?一开始,谷歌宣称,它是用了类似谷歌街景的技术,通过定期专业车出街来扫描公共AP(注意这个公共AP是指将ap信号辐射出来的ap,即使你设定了接入密码,它还是能够获取到你的ssid跟AP mac,对谷歌来说,你还是公共的~),谷歌还信誓旦旦地做了免责声明(http://static.googleusercontent.com/external_content/untrusted_dlcp/www.google.com/zh-CN//googleblogs/pdfs/google_submission_dpas_wifi_collection.pdf)。但我们天朝用户很明了,谷歌在国内是派不来车滴,别拿这个糊弄我们。
它们其实是用了我们用户自己的信息来建立这个库的。

大致原理:某天你家里添了一个ap。而某个恰巧撸过你街道的人正用iphone开gps做定位呢,而且人开了wifi,用了google地图。这哥哥用完地图后,它的iphone可没完。它计算出这个点gps坐标,然后很开心地发现它又捕捉到了一个新的ap接入点(即使你没有去连接它或者没有接入密码),然后它“顺便地”把你AP的一些信息,如ssid、mac,反正就是标示你这个ap的数据,上传到谷歌的数据库中,同时附带上刚刚的gps地理数据。这样,在你以及这哥哥毫不知情的情况下,你家的AP就被标注了。然后当你打开谷歌自家的浏览器chrome时候,很开心地发现它居然智能到能通过pc电脑就识别到你的位置!你浏览器又没GPS!

看到这里已经一身汗了?不管你汗不汗,反正我是汗了。引申出的很多关于安全的话题我不纠结,纯技术论技术。

但不得否认,wifi定位技术首先是为我们带来了很大便利。且不说那些没有gps模块的数码设备,即使gps很便宜的今天,你屋里面也无法定位啊。这个wifi定位,其实是ad-hoc,或者UGC(User Generated Content,用户创造内容/价值)理念的一个极品应用。但是,能实现它的,只有像谷歌、苹果、微软等几个业界巨头才能完成,人家的系统人家说了算。
目前在做这个库的厂家们,对于这个技术,基本上是避而不谈的,只管收集,只管提供给用户用。而米国.方面,对于这么个堪比战斧捣蛋的技术,不知道是否跟这些公司有一定的协议,也不城管它们。所以说,这究竟是个阴谋,还是个民不举官不究的阳谋,我们无处了解。

只想到几个问题,大家思索:

1、很有意思的,它们虽然有这个库,但你是查不到这个库的,例如我想查查我家的ap究竟地址数据进裤了没有,反正我是没找到这个查询地址。只有你的手机或浏览器它才知道怎么用这个库,而这些代码,很可能是加密过的。
2、这个庞大而潜力无限的库,目前只有谷歌、苹果、微软这些国外厂家有,这个似乎人家不用经过我们zf的啥管控就建立起来了。而国内的厂家,包括即时zf想去建,我们有这个实力吗?去开发个人人都要用的手机,或手机操作系统?

最后附几个实用方法:
1、下载chrome浏览器,点击地址栏最右边的工具按钮,找“工具”菜单,点击“Javascript”控制台。然后在底部弹出的窗口中,“>”提示符后面输入:
navigator.geolocation.getCurrentPosition(function(p){console.log(‘定位精度:’ + p.coords.accuracy+ ‘米, 纬度: ‘ + p.coords.latitude + ‘,经度: ‘ + p.coords.longitude)})
然后你自己看你当前的地址信息吧。可以换几个ap接入点多试试,很有意思。
2、防备入裤的方法有否?给谷歌去个义正言辞的声明?别那么麻烦。简单地将你自家的ap的ssid设置为隐藏就ok了。详尽步骤各异,请咨询周边的技青人士~

猜你喜欢

转载自xyxdasnjss.iteye.com/blog/1750539