[已授权] 互联网定位技术小谈

​ 诚邀阿里云先知社区邀请,不胜感激!今日小编在此为大家介绍一下互联网中所应用的定位技术。互联网的发展日新月异,技术迭代很快,各行各业的智慧在互联网这片蓝天下碰撞结晶,造福大众。今天要讲述的集中定位方式,有GPS定位,IP定位,浏览器HTML5定位,WIFI定位,手机基站定位。为了本文便于阅读,小编尽量用简单直白的方式来表述。首先先跟大家解读几个专业名词,后续将直接使用简写代替。

GIS:地理信息系

GPS:全球定位系统,由美国研制

经纬度:经度与纬度的合称组成一个坐标系统。称为地理坐标系统

WGS-84坐标系:一种国际上采用的地心坐标系,制定于1984年。

​ 首先自我介绍一下,小编于2012年开始接触百度在线地图,当时最新版百度地图JavaScript API还是v1.3。当时是参与了一个房地产中介的门户网站项目,实现的功能也非常简单,就是能够实现后台管理员在线添加指定楼盘的代售楼宇数量,网站前端自定义展示出来。这是小编首次在项目中接触在线地图,从此一发不可收拾,有了后面的位置服务领域的一系列经历。偶然机会加入了一家成立不足一年的初创企业,有幸经历了从零到一设计、研发、升级改进过程,几乎独立完成了一套汽车位置平台的开发。本文后续所讲到的内容,多是由于这项工作所遇到的各种问题而接触到。

​ 【GPS定位技术】

​ 大部分人都听说过GPS,直接误以为是经纬度就是GPS。实则不是,经纬度是用来描述地理坐标的,并不是GPS独享,例如另外几大系统:中国自行研制的全球卫星导航系统BDS,俄国研制的全球卫星导航系统格洛纳斯,欧盟研制的伽利略卫星导航系统。而地理坐标系统,是任何一个全球定位系统所依赖的基础。但是在日常生活中,很多人实际上是把地理信息系统误以为就是GPS。而我所参与的工作项目,是汽车内安装的GPS终端连续获取最新位置,通过手机卡流量实时发送到后端服务器。这里为便于用户理解,只用GPS来说明。GPS在不借助其他修正辅助前提下,普通芯片即可达到几十米的精度误差。关于GPS定位就只说这么多,本文重点介绍互联网领域所使用到的位置服务,GPS只是其中一种,精度最高。

​ 【IP定位】

​ 现在说说互联网领域中,使用做多,最早的位置服务技术:IP归属地。互联网作为全球数字通信技术,发展之处就决定了,公网IP表示是全球唯一的,一个IP同一时间仅有一台网络设备可使用。IP资源由国际统一分配,举个例子,中国某一次申请到了(36.96.0.0 - 36.223.255.255 ,36.96.0.0/9)总共83万个IP。这时候,IP归属地方式中,已经可以知道如果一个IP属于这段IP,那么直接使用这个IP接入网络的设备一定位于中国。请留意,这个判断过程需要我们做一个记录,我们可以成为“IP归属地数据库”。然后,我们在进一步举例,如果这段IP,全部归中国联通所使用,而中国联通将这段IP分布了前100000个给北京节点范围使用,那么这10000个IP,就可以进一步判断出IP归属地为北京。以此类推,可以逐级记录,来完善这个“IP归属地数据库”。直到最后一个IP被分配到某公司或者家庭使用,这个时候,顺着网线通过IP便可以精确到用户家里的电脑或者路由器了。事实上,这个“IP归属地数据库”往往到了城市级级别结束了,更精确的统计几乎没有做。因此我们见到的IP查询的结果,一般都是到城市为准。也有人做了大量工作去跟踪路由节点,可以再精确一下获得县级市、区等颗粒度。我们可以打开百度输入“IP”进行搜索,便可以看到自己当前公网IP和他的归属地信息。这种方式实现的IP地位,已经被互联网大量应用,例如打开中国气象网站直接就显示了我们当前所在城市的天气,背后所使用的定位技术就是“IP归属地”定位。

​ 我们先把刚刚说到的“IP归属地”定位方式称作普通IP定位,接下来我们再说说近几年随着移动端的飞速发展,所诞生的新的IP定位技术“高精度IP定位”。为什么要在IP定位前面加上“高精度”的修饰词呢,因为对比“IP归属地”方式实现的IP定位,“高精度IP定位”所达到的精度要远远高出一大截。这里小编插播一条广告,请点击连接(https://www.opengps.cn/Data/IP/IPHighAccuracy.aspx )体验,效果图如下:

img

​ 小编在有限的配额内可以提供免费查询。强烈建议体验后再回来看实现原理!我们先假设一个非常完美的情况,小编拿着手机,打开了GPS功能,连着家里的直接分配到公网IP的路由器的wifi。这个时候,小编手机上的APP便可以轻松做到一件事:把当前手机的坐标通过公网发送到后台某台服务器。这个看似简单的过程能做到什么呢?IP与当前坐标配对存储,形成一个“IP和经纬度的对照数据库”。至于精度为何最低认为是30米,这个是收wifi信号的覆盖范围所决定,折中取值。就在这样的一个过程中,悄悄地诞生了这种叫做“高精度IP定位”的技术。

​ 警惕:IP定位,不管是传统方式还是高精度方式,这里其实很容易被坏人利用,因此到了高精度的时候,IP定位形成了让人担惊受怕的一种结果。由于IP定位不需要使用前就经过用户确认同意就可以使用,因此,据小编所知,推出过这项服务的几个互联网巨头公司均做了类似乎下架的处理方式。确实会被稍加利用作为犯罪工具带来不良影响。小编在此敲黑板提醒屏幕前的各位小伙伴,勿动邪念,切记!!!

​ 【浏览器定位(HTML5定位)】

​ 仍然是随着科技的日新月异的发展,现在还有一种技术叫做浏览器定位。也就是HTML5定位。其实现定位过程由浏览器代为获取。如果浏览器运行于手机端,则明显可以获得公网IP,周边wifi信号,手机基站信号,甚至可以是GPS模块返回的定位结果。因此浏览器定位技术对于网页来讲,是个获取用户当前位置的不错方式。说点直白易懂的,在我们打开某些页面的时候,往往会弹出一个提示,例如小编用滴滴出行服务号选择打车弹出的 “滴滴出行服务号”要获取你的地理位置,是否允许?的提示画面。

img

​ 浏览器定位有个恪守的原则就是保护用户隐私,因此所有的网页如果使用了该技术,网页中的脚本在向浏览器索取位置的时候,浏览器一般会选择弹出这项提示。在处理得当之后,浏览器定位最高可以通过浏览器获得GPS的精度。

​ 【WIFI定位】

​ wifi大家都不陌生。甚至目前很多人都明显感觉到了2.4Gwifi频段的拥挤不堪,信号满格,网络质量却很差很慢。其实对于WiFi这种入网设备来讲,有个大家可能不理解的地方,就是每台WIFI都有一个称作mac地址的编码,所有网络设备都被要求需要有一个唯一标识码才能入网,严格来讲这个编码是全球唯一的,这个编码不需要连接到wifi下就可以读取到。因此,这个编码我们就可以同前面所说的“高精度IP定位”的方式一样被手机里的APP所收集到,形成一个“mac地址与经纬度的对照数据库”,习惯上称作“WIFI定位数据库”。由于WiFi信号的覆盖范围最大几十米,因此在wifi密布的城市中,我们很多时候手机使用的百度地图,高德地图等服务,已经可以不打开GPS就可以接近GPS的精确度了。

​ 【基站定位】

​ 现在要介绍的定位技术,这里的基站是指公用移动通信基站,移动手机基站定位服务又叫做移动位置服务(LBS——Location Based Service)。大家的手机能够通话,原因是附近有个信号塔或者信号箱,楼道里的蘑菇头手机信号扩展器使用了无线连接。这里也有个唯一标识的编码可以被使用。这就是基站码,以联通移动举例,对于熟悉无线通讯的人来讲,MCC,MNC,LAC,CellID这一组编码一定不陌生。简单解释就是:国家码,运营商码,通讯小区编码,基站编码。这四组数据合在一起,可以被手机读取到,因此这时候,运行在手机上的APP就可以查询到手机上的信号编码,因此这个时候,也可以维护一个“基站编码与地理位置坐标的数据库”出来,称作为“基站数据库”,实现基站定位。我在工作中实际用到了这个技术,来实现汽车防盗器进入建筑物遮挡下仍然可以粗略定位的目的。

​ 说到这里,小编又好心泛滥了,请勿相信“手机号定位”的言论,因为只通过手机号码就能知道这个人位置的方式,直接属于“未经过用户同意”,就是侵犯隐私的做法。虽然确实有人能做到,但是无非三种渠道:1,运营商内鬼,无视明文规定泄露用户隐私。2,运营商系统漏洞,被黑客加以利用。3,特殊行业卡,例如车联网行业,所采用的卡是专门申请的物联网卡,不能用于日常生活通信,卡的所有权也归车联网服务商所有,因此车联网服务商可以在合法场景下直接查询卡的位置。可见,3排除,1,2 途径实现的手机号定位均属于违法行为。

​ 难得今天小编如此专注编辑此文,恳请各位屏幕前的小伙伴给点个赞以示鼓励。小编的前行步伐,需要小伙伴们的支持得以坚持!(^_^)

转自ali安全技术社区:https://xianzhi.aliyun.com/forum/read/775.html

转载于:https://www.cnblogs.com/itxdm/p/7077527.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python的DataFrame切片大全(包含多重索引)

码字不易,喜欢请点赞!!! 摘要 这篇主要讲解如何对pandas的DataFrame进行切片,包括取某行、某列、某几行、某几列、以及多重索引的取数方法。 • 选取行名、列名、值 • 以标签(行、列的名字)…

什么是数据分析的关键指标?

什么是核心关键指标呢? 这是一个好问题,不过没有标准的答案。企业性质不同,所处行业、发展阶段不同,关注点当然不同。不过大体可以这样来划分。 1、发展阶段不同,需求不同 对于一个想要做数据化管理的企业来说&#xf…

加密函数

MD5:密码为web页面做准备,建议使用MD5 PASSWORD() :修改当前用户或其他用户密码 mysql> SELECT MD5(admin); #对admin进行MD5的加密(32位)----------------------------------| MD5(admin) |--------------------------------…

如何使用notepad运行python程序

关于使用notepad运行python程序 首先要确保python解释器已经安装成功,查看方法,windows可以在命令提示符中查看,通过按下winR键,调出运行窗口,在输入框中输入cmd回车,然后在命令行中输入python,若出现版本信息,例如Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC…

插入排序:表折半插入

在前一篇插入排序:表插入中。我们用静态链表的存储方式。直接插入的策略,构建了一种新的插入排序算法:表插入。有人可能会想到:相同是静态链表的形式,为什么不使用更高效的折半插入策略呢?这样的想法真的非…

【机器学习】sklearn实现---归类为5大类

sklearn实现---归类为5大类 sklearn.preprocessing.scale()(最常用,易受异常值影响)sklearn.preprocessing.StandardScaler()sklearn.preprocessing.minmax_scale()(一般缩放到[0,1]之间,若新数据集最大最小值范围有变…

Kafka官方文档翻译——实现

IMPLEMENTATION 1. API Design Producer APIs Producer API封装了底层两个Producer: kafka.producer.SyncProducerkafka.producer.async.AsyncProducerclass Producer {/* Sends the data, partitioned by key to the topic using either the *//* synchronous or t…

【机器学习】熵、决策树、随机森林 总结

一、熵 公式: −∑i1np(xi)∗log2p(xi)-\sum_{i 1}^{n}{p(xi)*log_2p(xi)}−i1∑n​p(xi)∗log2​p(xi) ∑i1np(xi)∗log21p(xi)\sum_{i1}^{n}p(xi)*log_2\frac{1}{p(xi)}i1∑n​p(xi)∗log2​p(xi)1​ import numpy as np# 账号是否真实:3no&#xff…

HDU 4857 逃生(拓扑排序)

拓扑排序 一.定义 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序&#xff0c;是将G中所有顶点排成一个线性序列&#xff0c;使得图中任意一对顶点u和v&#xff0c;若<u&#xff0c;v> ∈E(G)&#xff0c;则u在线性序列中出现在v之前。 通常&#xff0c;…

关于deepin系统安装design compiler的问题解答

关于deepin系统安装design compiler的问题解答 Design Compiler是Synopsys综合软件的核心产品。它提供约束驱动时序最优化&#xff0c;并支持众多的设计类型&#xff0c;把设计者的HDL描述综合成与工艺相关的门级设计&#xff1b;它能够从速度、面积和功耗等方面来优化组合电…

【机器学习】交叉验证筛选参数K值和weight

交叉验证 导包 import numpy as npfrom sklearn.neighbors import KNeighborsClassifierfrom sklearn import datasets#model_selection &#xff1a;模型选择 # cross_val_score: 交叉 &#xff0c;validation&#xff1a;验证&#xff08;测试&#xff09; #交叉验证 from s…

手机只能签荣耀!最忠诚代言人胡歌喊你去天猫超品日

在你心中&#xff0c;男神胡歌是什么样子&#xff1f;“御剑乘风来&#xff0c;除魔天地间。”也许是《仙剑奇侠传》里飞扬跋扈、青春不羁的侠客李逍遥。“遍识天下英雄路&#xff0c;俯首江左有梅郎。”也许是《琅铘榜》中才智冠天下&#xff0c;远在江湖却名动帝辇的麒麟才子…

欧式距离与曼哈顿距离

欧式距离&#xff0c;其实就是应用勾股定理计算两个点的直线距离 二维空间的公式 其中&#xff0c; 为点与点之间的欧氏距离&#xff1b;为点到原点的欧氏距离。 三维空间的公式 n维空间的公式 曼哈顿距离&#xff0c;就是表示两个点在标准坐标系上的绝对轴距之和&#xff1a…

在maven pom.xml中加载不同的properties ,如localhost 和 dev master等jdbc.properties 中的链接不一样...

【参考】&#xff1a;maven pom.xml加载不同properties配置[转] 首先 看看效果&#xff1a; 点开我们项目中的Maven projects 后&#xff0c;会发现右侧 我们profile有个可勾选选项。默认勾选localhost。localhost对应项目启动后&#xff0c;会加载配置左侧localhost文件夹下面…

python安装以及版本检测

Windows 安装 Python 3 目前Python有两个大版本&#xff0c;分别是 2.X 和 3.X &#xff0c;我们的教程基于最新版本 3.6.1 首先我们需要获取Python的安装包&#xff0c;可以从官网获取&#xff0c;如果你因为没有VPN工具而无法访问官网的话&#xff0c;我已经将它放在网盘了&…

【机器学习】梯度下降原理

import numpy as np import matplotlib.pyplot as plt %matplotlib inlinef lambda x :(x-3)**22.5*x-7.5 f2 lambda x :-(x-3)**22.5*x-7.5求解导数 导数为0 取最小值 x np.linspace(-2,5,100) y f(x) plt.plot(x,y)梯度下降求最小值 #导数函数 d lambda x:2*(x-3)*12.…

C语言的面向对象设计-对X264/FFMPEG架构探讨

本文贡献给ZSVC开源社区&#xff08;https://sourceforge.net/projects/zsvc/&#xff09;&#xff0c;他们是来自于中国各高校的年轻学子&#xff0c;是满怀激情与梦想的人&#xff0c;他们将用自己的勤劳与智慧在世界开源软件领域为中国留下脚步&#xff0c;该社区提供大量视…

【机器学习】自己手写实现线性回归,梯度下降 原理

导包 import numpy as npimport matplotlib.pyplot as plt %matplotlib inlinefrom sklearn.linear_model import LinearRegression创建数据 X np.linspace(2,10,20).reshape(-1,1)# f(x) wx b y np.random.randint(1,6,size 1)*X np.random.randint(-5,5,size 1)# 噪…

跨站的艺术-XSS Fuzzing 的技巧

作者 | 张祖优(Fooying) 腾讯云 云鼎实验室 对于XSS的漏洞挖掘过程&#xff0c;其实就是一个使用Payload不断测试和调整再测试的过程&#xff0c;这个过程我们把它叫做Fuzzing&#xff1b;同样是Fuzzing&#xff0c;有些人挖洞比较高效&#xff0c;有些人却不那么容易挖出漏洞…

H.264/AVC视频压缩编码标准的新进展

H .264/AVC是由ISO/IEC与ITU-T组成的联合视频组(JVT)制定的新一代视频压缩编码标准&#xff0c;于2003年5月完成制订。相对于先前的标准&#xff0c;H.264/AVC无论在压缩效率、还是在网络适应性方面都有明显的提高&#xff0c;因此&#xff0c;业界普遍预测其将在未来的视频应用…