當前位置:編程學習大全網 - 圖片素材 - 如何防範被高精度 IP 定位采集數據

如何防範被高精度 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數據采集動作。因此完全沒有必要采取徹底屏蔽百度服務的做法。

我的的觀點,防禦並非不可能,只是暫時沒有多高的必要性,因此如果介意這個采集過程,可以針對精度幾十米幾百米範圍的用戶,嘗試壹下。前面說的幹擾百度的域名解析,也是個解決方法,但是帶來壹堆問題,我不提倡。

建議的防禦方式:

經常重啟路由器;

手機不需要使用位置服務時候,關閉位置功能(不僅僅是關閉GPS,還要高級選項中的網絡定位服務)

關閉小眾軟件的定位權限

這個防禦方式有壹定的針對性,如果用的是固定ip,顯然毫無作用。但是小編之所以把這個辦法列在最前面,主要原因在於,目前的網絡結構下,聯通電信這種運營商才具備足夠豐富的IP資源可分配。而且IP是動態隨機分配,通常情況下重啟路由器就可以變更自己的IP,變化之後,手機裏的位置類應用就需要依靠重新采集才能準確,而且目前小編觀察到,百度的服務雖然是大數據實時建庫分析,但仍然存在幾個小時幾天的更新周期。因此每天重啟下路由器變化壹下自己的公網ip,就很大程度下保護自己位置信息。如果用的是小運營航的網絡,基本無需考慮這個問題,因為多數小運營商IP資源有限,基本不會提供公網IP到戶的情況。就算有人拿到了妳的公網IP,幾千米甚至壹個城市的範圍也不會構成什麽明顯影響。

補充說明:

前文提到的,直接使用技術手段修改hosts,讓百度的位置服務相關的域名不能正常解析的方式。屏蔽hosts方法有效,但弊端太大,僅能針對已知域名。會導致自己不能正常使用百度位置服務,另外,內嵌百度地圖等應用的APP也會部分異常,比如我常用的公交查詢app,就內置了百度地圖。顯然得不償失。並且只防禦了百度,並沒有防禦其他采集方(任何壹款具備網絡能力和位置查詢能力的APP)。因為任何壹款APP都可以采集到這個數據,因此只針對百度屏蔽幾個百度的域名並沒有多大意義。有人總結了百度位置服務相關的幾個url,如果確實不需要使用百度位置服務類應用,可以從路由器內去屏蔽(或者是局域網下的所有電腦和手機,包括來妳家的客人的手機),域名是這些,ip自己胡亂指向壹個即可,比如本機地址127.0.0.1:

api.map.baidu.com

ps.map.baidu.com

sv.map.baidu.com

offnavi.map.baidu.com

newvector.map.baidu.com

ulog.imap.baidu.com

newloc.map.n.shifen.com

  • 上一篇:工資條有什麽用處
  • 下一篇:指尖肉裏面有透明的小點
  • copyright 2024編程學習大全網