openGPS.cn - 如何防范被高精度IP定位采集数据

简介: 自从openGPS.cn站点上线了高精度IP定位功能一来,小编的的这个半成品网站居然突然小小的火爆了一下。文章原文发布在openGPS.cn博客栏目中,点击这里即可前往(https://www.opengps.cn/Share/Article/View.aspx?id=9),内容更新以原文为准         附上高精度IP定位功能体验连接:https://www.opengps

自从openGPS.cn站点上线了高精度IP定位功能一来,小编的的这个半成品网站居然突然小小的火爆了一下。文章原文发布在openGPS.cn博客栏目中,点击这里即可前往(https://www.opengps.cn/Share/Article/View.aspx?id=9,内容更新以原文为准

       附上高精度IP定位功能体验连接:https://www.opengps.cn/Data/IP/IPHighAccuracy.aspx。上线后发现,好多人对其定位精度吓了一跳。甚至有没看懂实现原理的运营商的人跟我一顿较劲说运营商自己都没有这个数据,不相信这个是单纯通过IP实现的定位。实现原理之前已经在我的CSDN博客上有了说明

       今天在这里简单的重复解释下高精度IP定位原理:运行在手机里的软件,具备了获取gps位置的能力,就可以把获取的gps坐标通过网络发送给后端服务器。因此在后端服务器,就可以维护一张表格,记录着某个IP和某个gps坐标的对照关系。

     我们仔细看我简述的定位原理,可以观察到:

     1,手机里的app,能获取位置数据

       2,手机里的app,能够通过公网与后台服务器交互。

       3,手机有可能是连接了wifi,此时所使用的是家庭宽带的网络

       4,如果使用了家庭宽带网络,那么有可能这个家庭宽带的网络具备公网IP到户性质,也就是说家里的路由器获取了公网ip地址,这个地址不是192.168.xx开头,也不是10.xxx开头,还不是172.xxx开头。这时候后台所获取的ip和gps坐标,精度就非常高。最高精度定义为30m,也就是普通家用wifi最大能覆盖的圆形直径。

       5,如果使用了家庭宽带网络,可能运营商IP资源不足,进行了叫做NAT转发的技术。这时候可能得到的就是10.xxx开头的一个内网地址,而真正的公网ip的位置在这个覆盖区域内的某个地方,这时候,这个手机提交的ip和gps坐标数据就有误差。而这个误差,是同一个局域网网段下的其他手机所提供,这样以来,就是覆盖一个街道,一个城市,甚至一个省的情况

       6,如果手机使用的是手机卡的GPRS流量上网,则肯定是经过了NAT的网络结构。国内的运营商往往是一个省有一个IP池,随机的用来得用户的手机转发上网,这个情况,就出现了一个省单位范围的很多手机上报的ip和gps坐标的对照,平均一下,范围就非常大。

       7,在说说高精度IP查不到位置的情况:没有位置服务功能的设备在这个IP下使用过。比如,openGPS.cn站点发布在阿里云的青岛节点的ECS上。站长从来没有在这台服务器使用过代理功能,流量始终是这个服务器自己所占用。这时候,因为没有这种具备获取位置功能的手机等设备上报位置,因此就查询不到结果。


==========分割线===========

接下来再说说防御

       很多人觉得这个做法有些无耻,未经用户同意。事实上,运行这种服务都是被经过了许可的,只不过往往没有人在使用前仔细去查阅“用户协议”文档。才出现了这个理解误区。

       要说防御,其实不用才是最安全的。显然我这么说会被喷,因为现实生活当中,人们对手机的依赖程度已经相当高。那么怎么防御呢?有人针对百度这项服务,为了不被百度采集,直接使用技术手段修改hosts,让百度的位置服务相关的域名不能正常解析。这样虽然也是个办法,但是不提倡,因为这是有点因噎废食的做法。毕竟家里来个客人,还是很有可能连接你家wifi的,还要告诉客人说,我要修改一下你的手机,不让百度位置服务运行。显然这个做法不合实际。有人指出,可以从路由器里改造,实现这个局域网下的接入设备都不能使用百度位置服务。这样其实也不行,毕竟平常用的uber啥的,还是要调用百度服务的。百度的这项服务初衷是为了提高位置服务的体验,现在却会因为这个防御手段,连基本的百度地图都不能打开了。显然得不偿失。这里再多延伸一点:就算成功屏蔽了百度的服务,你能确保手机上其他应用没有获取你的位置?比如高德地图,腾讯地图,谷歌地图,QQ,微信等等,是个手机应用就可以实现这个【ip和gps数据】采集动作。因此完全没有必要采取彻底屏蔽百度服务的做法。

      小编的观点,防御并非不可能,只是暂时没有多高的必要性,因此如果介意这个采集过程,可以针对精度几十米几百米范围的用户,尝试一下。前面说的干扰百度的域名解析,也是个解决方法,但是带来一堆问题,小编不提倡。

       小编建议的防御方式: 1,经常重启路由器; 2,平常手机不需要使用位置服务时候,选择关闭位置功能(不仅仅是关闭GPS,还要关闭网络定位); 3,关闭小众软件的定位权限。这个防御方式有一定的针对性,如果用的是固定ip,显然毫无作用。但是小编之所以把这个办法列在最前面,主要原因在于,目前的网络结构下,联通电信这种运营商才具备足够丰富的IP资源可分配。而且IP是动态随机分配,通常情况下重启路由器就可以变更自己的IP,变化之后,手机里的位置类应用就需要依靠重新采集才能准确,而且目前小编观察到,百度的服务虽然是大数据实时建库分析,但仍然存在几个小时几天的更新周期。因此每天重启下路由器变化一下自己的公网ip,就很大程度下保护自己位置信息。如果用的是小运营航的网络,基本无需考虑这个问题,因为多数小运营商IP资源有限,基本不会提供公网IP到户的情况。就算有人拿到了你的公网IP,几千米甚至一个城市的范围也不会构成什么明显影响。

目录
相关文章
|
8月前
|
监控 搜索推荐 数据挖掘
精准定位目标客户群
精准定位目标客户群
238 2
|
算法 JavaScript Java
使用强大的离线IP地址定位库ip2region获取城市信息
ip2region - 准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,ip2region.db数据库只有数MB,提供了java、php、c、python、nodejs、golang、c#等查询绑定和Binary,B树,内存三种查询算法。
使用强大的离线IP地址定位库ip2region获取城市信息
|
5月前
|
Rust 监控 算法
基于circom、snarkjs实现零知识证明不透漏具体地理位置的区域监控
文章介绍了如何使用circom和snarkjs工具基于零知识证明算法Groth16实现不泄露具体地理位置的区域监控系统,详细说明了开发环境搭建、电路设计、计算和证明过程,并提供了相应的命令和代码示例。
68 0
|
8月前
|
数据采集 缓存 监控
通过动态IP解决网络数据采集问题
通过动态IP解决网络数据采集问题
126 1
|
8月前
|
搜索推荐
精准定位目标客户群并进行行为分析
精准定位目标客户群并进行行为分析
239 5
|
存储 算法 搜索推荐
pacs系统源码,医学图像信息的快速采集、传输、存储、显示和后处理
PACS系统以实现医学影像数字化存储、诊断为核心任务,从医学影像设备(如CT、CR、DR、MR、DSA、RF等)获取影像,集中存储、综合管理医学影像及病人相关信息,建立数字化工作流程。 系统可实现检查预约、病人信息登记、计算机阅片、电子报告书写、胶片打印、数据备份等一系列满足影像科室日常工作的功能,并且由于影像数字化存储,用户可利用影像处理与测量技术辅助诊断、方便快捷地查找资料或利用网络将资料传输至临床科室
|
传感器 存储
VM系列振弦采集模块的信号检测与分析计算
振弦传感器钢弦起振后,信号强度在短时间内迅速达到最大,然后在钢弦张力及空气阻力作用下逐渐恢复静止。我们可将整个振动过程分为起振、调整、稳定、消失几个阶段,上述几个阶段中,起振和调整阶段的振动又叫做强迫振动,稳定与消失阶段合称为自主振动。
299 66
VM系列振弦采集模块的信号检测与分析计算
|
定位技术 开发工具
openGPS.cn - 基于ip的定位技术分享,高精度IP定位
利用业余时间自己做了个网站,集成了几个第三方数据源,对比IP地址查询的功能: 普通IP定位:https://www.opengps.cn/Data/IP/IPSearch.aspx 高精度IP定位:https://www.opengps.cn/Data/IP/IPHighAccuracy.aspx 其中,高精度IP定位为百度提供的服务,个人理解其工作原理应当是: 1,用户手机里
6833 1
|
网络协议 数据中心
无线振弦采集仪远程修改的参数方式
无线采集仪支持远程无线修改设备参数功能,可通过短信指令、 FTP 文件、 TCP 在线指令三种途径实现。 参数修改指令需要参数地址值,参数地址可由配置工具 SETP 获取,方法是点击工具界面中的任意一个参数的【读取】按钮,点击后,在界面左侧的指令发送文本框内会出现形如“ $GETP=AAA#”的指令码,其中的 AAA就是此参数的地址值。
无线振弦采集仪远程修改的参数方式
|
网络协议 数据中心
无线振弦采集仪远程修改参数的几种方式
无线采集仪支持远程无线修改设备参数功能,可通过短信指令、 FTP 文件、 TCP 在线指令三种途径实现。 参数修改指令需要参数地址值,参数地址可由配置工具 SETP 获取,方法是点击工具界面中的任意一个参数的【读取】按钮,点击后,在界面左侧的指令发送文本框内会出现形如“ $GETP=AAA#”的指令码,其中的 AAA就是此参数的地址值。
无线振弦采集仪远程修改参数的几种方式

热门文章

最新文章