用延遲反推 IP 位置:從 ipinfo 概念到開源 CLI 工具的實作筆記

本篇文章更新時間:2026/02/01
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣新台幣 贊助支持。


延遲也能做地理定位?從 ipinfo 的突破到一款可自己實驗的 CLI 工具

編輯前言:這篇文章吸引我的點很單純:作者示範了如何不靠傳統 GeoIP 資料庫,而是用「延遲與 traceroute」來推 IP 的實際物理位置,並且打造了一個人人都能用的開源 CLI 工具。對於做網路診斷或研究的人來說,這是一個很實用的思路。

文章原文來源:We have ipinfo at home or how to geolocate IPs in your CLI using latency

核心觀點 (Key Takeaways)

  • 傳統 VPN 廠商常藉由錯誤 geofeed 數據「偽造」 IP 所在地,ipinfo 則改以大規模延遲與 hop 資料驗證真實位置。
  • 作者利用 Globalping 公開的 3000+ probes,自建了一套延遲比對邏輯,做出能偵測國家、甚至美國州、市的 CLI 工具。
  • Traceroute 的「最後可達 hop 延遲」比 ICMP ping 更可靠,因此成為整個方案的核心技術。

深入解析

原文從 ipinfo 的研究談起:VPN 廠商並不真的在世界各地架設大量伺服器,而是透過向 ARIN、RIPE 等機構提交錯誤 geofeed 的方式欺騙地理定位資料庫。ipinfo 的突破在於自己建立全球性的量測網路,透過 ping、trace 等延遲與跳點資訊反推 IP 的真實位置

這給了作者一個靈感:既然 Globalping 有三千多個 probe,那是否能複製類似方法?於是他以 globalping-ts 寫了一個 CLI 工具,設計出三層地理定位:

  • 先測大洲:每洲選 5 個 probe,比延遲,挑最接近的洲。
  • 再測國家:以該洲為範圍,從更多 probe(預設 50)取延遲最小的國家。
  • 美國再加州級定位:同樣比延遲,準確度非常高。
  • 最後推城市:從同州或同國的 probes 中找延遲最小者的城市。

其中最有意思的技術選擇,是作者最後放棄了 ICMP ping,因為許多網路會擋 ICMP;他選擇 traceroute,並引用一句非常實用的觀察:

即便目標 IP 擋了 ICMP,它的上游路由器大多不會擋,而上游路由器通常就在同一個國家。

這讓 traceroute 成為更穩定的地理定位訊號來源。

作者也坦承,若要做到商業級準確度,還能加上更多演算法、不同協定 traceroute、ASN 權重、multi-hop 分析等。但作為一個可公開使用的小工具,如此設計已經「夠好又簡單」。

筆者心得與啟發

這篇文章最讓我有感的,是它提供了一個很清晰的網路觀念:地理距離其實會在延遲中留下痕跡,而 traceroute 則能補足資料庫不可信的缺口

我也特別喜歡作者強調「用最少 probe 完成可用結果」的心態。因為這意味著工具不只是在證明概念(PoC),而是刻意設計成一般使用者也能試、無需登入的門檻。這點在現今動不動就要註冊、要 API key 的工具世界裡,格外可貴。

從研究角度來看,我覺得延遲定位法至少有兩個啟發:

  • 它提供了一種「驗證 GeoIP 可信度」的方式,而不是完全依賴資料庫。
  • 它將「網路觀察」民主化,讓任何人都能用全球 probe 做出自己的分析。

如果你做 CDN、網路工程、渲染 Routing 問題、反 VPN 防護,這類工具非常值得拿來玩玩。而且原文中作者也開放 GitHub,甚至願意提供額外 credits,完全符合 open-source 工程師的精神。

對我而言,這篇文章不只是技術分享,更像是在提醒我們:不要把任何資料庫當成絕對真相,你永遠可以回到網路的物理性質本身去驗證。


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[///////////____36%_________]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon