- CLI tool yang dapat memperkirakan alamat IP hingga tingkat negara, negara bagian, dan kota dengan memanfaatkan latensi
- Menggunakan lebih dari 3000 probe di jaringan Globalping untuk melakukan pengukuran ping dan traceroute pada setiap IP
- Membandingkan latensi secara bertahap dari benua → negara → negara bagian → kota dan menganggap wilayah dengan nilai terendah sebagai lokasi sebenarnya
- Hasil pengujian menunjukkan akurasi yang sesuai dengan hasil ipinfo, seperti di Polandia, Florida, dan Miami
- Siapa pun dapat menjalankannya sebagai CLI tool open source, dan ini membuktikan kepraktisan metode verifikasi lokasi IP berbasis latensi
Ringkasan estimasi lokasi IP berbasis latensi
- Dibuat sebuah CLI tool yang dapat menginterpretasikan alamat IP hingga tingkat negara, negara bagian di AS, dan kota
- Mengacu pada kasus saat ipinfo membuktikan bahwa penyedia VPN mendaftarkan data lokasi palsu
- ipinfo membangun jaringan probe berskala besar untuk melacak semua IP dan menguji ping guna memverifikasi lokasi fisik sebenarnya
- Pendekatan ini memungkinkan penentuan lokasi yang andal berdasarkan data latensi dan hop, sambil menyingkirkan kesalahan pada data publik
Memanfaatkan jaringan Globalping
- Globalping adalah proyek berbasis komunitas open source yang memungkinkan self-hosting probe berbentuk container
- Saat ini ada lebih dari 3000 probe yang tersebar di seluruh dunia
- Pengguna dapat menjalankan pengujian jaringan seperti ping dan traceroute melalui jaringan ini
- CLI tool mengotomatiskan proses dengan library globalping-ts
- Menguji ping IP yang dimasukkan dari berbagai benua
- Memilih benua dengan latensi terendah
- Lalu melakukan pengukuran yang lebih rinci dengan beberapa probe di benua tersebut
Struktur pengukuran per tahap
- Tahap 1 (deteksi benua): uji ping dengan 5 probe di tiap benua
- Contoh hasil: Eropa 32.39ms, Amerika Utara 137.18ms → memilih Eropa
- Tahap 2 (deteksi negara): pengukuran dengan 50 probe di benua terpilih
- Hasil: Polandia 7.29ms, Jerman 13.42ms, Lituania 17.65ms → diputuskan sebagai Polandia
- Tahap 3 (deteksi negara bagian di AS): pengujian dengan 50 probe di AS
- IP 'Bahama' milik NordVPN ternyata terdeteksi sebagai Florida (0.45ms)
- Tahap 4 (deteksi kota): pengukuran dengan 36 probe di dalam negara bagian
- Hasil: Miami (0.00ms), diikuti West Palm Beach dan Tampa
Akurasi dan keterbatasan
- 'magic field' milik Globalping memilih probe secara acak pada tingkat benua, sehingga negara tertentu bisa terlewat
- Akibatnya, ada kemungkinan terjadi salah deteksi ke negara tetangga
- Untuk meningkatkan akurasi, perlu menentukan probe secara langsung per negara dan negara bagian, serta menyesuaikan jumlah probe
- Contoh: untuk Amerika Utara, disarankan 200 probe AS, 20 probe Kanada, dan 10 probe Meksiko
- Versi saat ini menggunakan jumlah probe minimum agar pengguna tanpa autentikasi pun dapat menjalankannya
- Dengan autentikasi, tersedia hingga 500 pengujian per jam, dan kredit tambahan bisa diperoleh melalui hosting probe atau sponsor GitHub
Menjalankan dan memanfaatkan tool open source
- Perintah:
geolocate $IP
- Opsi
–limit dapat digunakan untuk menyesuaikan jumlah probe di tiap tahap
- Panduan penggunaan lengkap tersedia di dokumentasi GitHub
- Usulan perbaikan melalui Pull Request sangat disambut
- Bisa juga meminta kredit gratis dan ikut berpartisipasi dalam hosting probe
Kesimpulan
- Estimasi lokasi IP berbasis latensi adalah metode yang akurat dan praktis jika tersedia cukup banyak titik observasi
- Dengan jaringan Globalping dan CLI tool open source, siapa pun dapat dengan mudah memverifikasi lokasi sebenarnya dari sebuah IP
- Potensi pemanfaatannya juga beragam, termasuk verifikasi pemalsuan lokasi VPN, analisis routing jaringan, dan debugging performa
1 komentar
Komentar Hacker News
Masih sebatas demo sederhana, jadi belum memadai untuk penggunaan operasional nyata
Agar benar-benar layak dipakai, tiap tahap membutuhkan setidaknya 500 probe
Optimisasi sengaja dihindari agar tidak melampaui batas pengguna anonim
Awalnya mengukur 3 kali dari beberapa benua, lalu membuang probe yang paling lambat dan menambahkan probe baru di dekat yang lebih cepat, lalu mengulang prosesnya
Dengan begitu, alih-alih membaginya menjadi 5 tahap, posisi sebenarnya tampaknya bisa “dilacak” secara real time
Konsepnya adalah melihat latency sebagai medan potensial skalar dan memanfaatkan gradiennya
Pesan commit yang cuma satu kata memang lucu, tapi justru terasa lebih manusiawi
Misalnya, dengan alat seperti fakeroute, tipuan yang lebih canggih juga bisa dilakukan
Hampir tidak ada nilai praktisnya, tapi idenya menarik
Seperti kasus lama ketika The Pirate Bay berpura-pura pindah ke Korea Utara, sebuah AS juga bisa menambahkan AS palsu ke rute BGP agar terlihat lebih meyakinkan
Teknik seperti ini bisa berkembang menjadi permainan kucing-dan-tikus dengan VPN
Referensi terkait: diskusi Reddit, kasus di HN
Bahkan pada koneksi 1000/30Mbps, latensi bisa mencapai 2500ms
Video presentasi
Keterbatasan geolokasi berbasis ping adalah sebagai berikut:
IP biasanya sudah punya informasi lokasi di DB, asimetri routing merusak model berbasis jarak, Anycast/CDN membuat satu IP hadir di banyak lokasi, dan ICMP bisa diblokir atau diberi prioritas rendah
Saya memakai model latensi HTTP(S) + ML(SVR) alih-alih ping, dan melatihnya dengan 39 ribu data
Untuk server di balik CloudFront, galatnya sekitar 600 km
Yang lebih penting daripada presisi adalah deteksi sandbox, malware geofence, dan memberikan sinyal lokasi tambahan saat DB IP gagal
Dulu saat berbicara dengan teman dari Belanda, saya pernah mengakses konten NL dari Inggris dengan latensi lebih rendah
Mungkin itu karena perbedaan kualitas peering
Kami sedang menjalankan proyek berbagi data routing dan peering bekerja sama dengan IXP dan lembaga internet utama
Di beberapa negara, ada peering langsung dengan IXP di benua lain sehingga perbedaan latensinya setara ribuan km
Bahkan ada kasus nyata di mana lalu lintas antara dua operator dalam satu negara justru memutar lewat luar negeri
Fenomena ini sedang kami koreksi dengan algoritme geoinformasi berbasis pengukuran
Tujuan akhirnya adalah membantu IXP, operator, dan lembaga tata kelola internet menyelesaikan masalah seperti ini
Pada VDSL atau DOCSIS, segmen 1 km saja bisa menambah 5–15ms latensi
Sementara London–Amsterdam sekitar 7ms
Dulu bahkan kota-kota besar di Belanda kekurangan kabel serat optik
Artinya, jaraknya terlihat lebih dari 8 kali lebih jauh daripada kenyataannya
Server di Inggris lebih jauh, tetapi ping-nya justru lebih rendah
Pendekatan berbasis traceroute lebih realistis daripada ping
Peneliti kami Calvin akan membawakan presentasi tentang geolokasi IP berbasis pengukuran di NANOG96
Tautan presentasi
Saya berharap lebih banyak proyek seperti ini muncul di HN
Ini terlalu sederhana, jadi sepertinya akan lebih akurat jika memakai triangulasi (triangulation)
Dengan probe yang cukup dan sedikit keberuntungan, hasilnya ternyata bisa bekerja lumayan baik
Tentu saja ada banyak cara yang lebih cerdas
Karena itu, memakai satu pengukuran terdekat adalah pendekatan yang paling realistis
Untuk mendapatkan data yang berguna, dibutuhkan ribuan node pada skala kota
RIPE IPmap sudah memetakan sebagian besar router publik dengan akurat
Sebagai alat pembanding, saya juga merekomendasikan ping.sx
FQDN pada hop terakhir sering kali memuat kode bandara atau kode kota, sehingga cukup membantu