← 返回部落格

為何我的 IP 位置不準?它對應的是網路,不是人

為何我的 IP 位置不準?它對應的是網路,不是人

你的 IP 位置之所以常常不準,是因為 IP 地理定位描述的是位址所屬的網路,而不是使用者的實際位置。IP 位址是配發給某個組織所擁有的區塊,附加其上的位置反映的是該組織登記或營運該區塊的所在。

當人們問「為什麼我的 IP 位置不準?」時,他們通常期待的是更接近 GPS 的東西。協定中並沒有這樣的機制。位址完全不會說明你在哪裡;地理定位資料庫是根據登記紀錄、路由資料與測量來推論大致位置,而且放大得越近,推論就越粗略。

位址如何得到位置

區域網際網路登記機構將位址區塊配發給 ISP、行動電信業者、雲端供應商與公司等組織。每個區塊都有登記國家與擁有者,你可以用 IP whois 查詢讀取。擁有者營運一個帶有 ASN 的自治系統,而 ASN 查詢會顯示該網路的擁有者、國家與範圍。根據這些紀錄,資料庫通常能高度確信地將位址定位在正確的國家。

城市層級的定位較為困難。ISP 可能宣告一個大區塊,並從少數接入點為整個區域的客戶提供服務。位於該接入點後方的每個人,看起來都可能在同一個城市,而這個城市可能距離他們實際所在地數十甚至數百公里。這不是查詢的缺陷;它反映的是網路的建構方式。關於精確度限制的更多資訊,請見為何 IP 地理定位的城市準確度有限。

位置看起來不對的常見原因

  • 集中式 ISP 基礎設施。住宅流量被匯集,並在區域樞紐出口,因此你被對應到樞紐所在的城市。
  • 行動電信業者。手機的位址通常來自可能離你所用基地台很遠的業者閘道。電信業者查詢可以指出行動位址的營運者,但那是網路層級的資訊,與個人無關。
  • VPN、Proxy 與 Tor。你可見的位址是出口伺服器的,因此位置就是該伺服器所在之處。VPN、Tor 與 Proxy 檢查工具會顯示某個位址是否為已知的出口節點。
  • 企業與校園網路。來自分公司的流量可能透過總部的連線離開。
  • 過時或重新配發的區塊。位址在擁有者與地區之間流轉,任何資料庫都落後於這些變動。登記國家是區塊登記的所在,不一定是其設備所在之處。
  • 保留位址。私有或保留位址完全沒有公開位置。bogon IP 檢查工具會告訴你,你正在查看的位址是否屬於這類範圍。

什麼是可靠的,什麼不是

國家是最可靠的層級,大多數規則應以此為依據。地區通常還算不錯,而城市只是粗略的提示,適用於廣泛的個人化,但不適用於任何需要街道或郵遞區號的情況。請將由 IP 推得的位置視為模糊區域的中心,而不是一個點。這也是為何 ipto 上的天氣與附近地點頁面會先向你的瀏覽器要求精確的地理定位,只有在你拒絕時才退而使用大致的 IP 估計值。

對開發者而言,實用的規則是圍繞不確定性來設計。不要從 IP 推斷身分或家庭住址,不要因為城市不符就直接封鎖使用者,並提供一個輕鬆更正猜測位置的方法,例如城市選擇器。如果你需要精確的位置,請透過瀏覽器或表單明確地詢問。

如何檢查你自己的位址

在 ipto 上查詢你的位址,並比較三件事:國家、ASN 與組織,以及網路旗標。如果 ASN 組織是你的 ISP,而城市是區域樞紐,那麼你看到的是正常的行為。如果組織是主機代管公司,或設有 VPN 旗標,則位置反映的是該服務。在 API 中,IP 查詢會回傳 country、city、asn、org、is_vpn、is_tor 和 is_datacenter,足以解釋大多數令人意外的結果。完整的欄位清單請見 API 文件。

如果非 VPN 位址的國家本身就是錯的,可能是登記較新或已重新配發。IP 與 ASN 資料集每日更新,因此結果可能在下次更新後改變;公開查詢沒有手動覆寫的機制,如果某個區塊確實被錯誤標記,請聯絡 whois 紀錄中顯示的網路擁有者。

直接的答案

IP 地理定位對應的是位址所屬的網路,而不是使用者的實際位置。ISP 會將流量經由區域樞紐路由,而行動電信業者、VPN 與 Proxy 會讓可見的位址遠離實際的人。
國家層級的定位最可靠,地區通常還算合理,而城市只是粗略的提示。它絕不應用來找出街道地址或識別個人。
查詢該位址,並檢查 ASN、組織以及 VPN、Tor 和資料中心旗標。如果組織是 VPN 或主機代管公司,位置反映的是該服務;如果是你的 ISP,你看到的大概是其區域樞紐的位置。
← 返回部落格