घर पर ipinfo इस्तेमाल करना: latency की मदद से CLI में IP की लोकेशन कैसे पता करें
(blog.globalping.io)- latency का उपयोग करके IP address की देश·राज्य·शहर स्तर पर पहचान की जा सकती है, इसके लिए एक CLI टूल बनाया गया है
- Globalping नेटवर्क के 3000 से अधिक probes का उपयोग कर, हर IP के लिए ping और traceroute मापन किया जाता है
- महाद्वीप → देश → राज्य → शहर के चरणों में latency की तुलना करके, सबसे कम मान वाले क्षेत्र को वास्तविक लोकेशन माना जाता है
- टेस्ट नतीजों में पोलैंड·Florida·Miami जैसे मामलों में ipinfo के परिणामों से मेल खाती सटीकता दिखाई गई
- यह एक open source CLI टूल है जिसे कोई भी चला सकता है, और यह latency-आधारित IP लोकेशन सत्यापन पद्धति की व्यावहारिकता साबित करता है
latency-आधारित IP लोकेशन अनुमान का अवलोकन
- IP address को देश, अमेरिकी राज्य, शहर स्तर तक पहचान सकने वाला एक CLI टूल बनाया गया है
- GitHub repository: jimaek/geolocation-tool
- उस उदाहरण से प्रेरणा ली गई जिसमें ipinfo ने साबित किया था कि VPN providers फर्जी लोकेशन डेटा रजिस्टर करते हैं
- ipinfo ने बड़े पैमाने का probe नेटवर्क बनाकर सभी IPs को track और ping test करके वास्तविक भौतिक लोकेशन सत्यापित की
- यह तरीका public data की त्रुटियों को हटाकर, latency और hop data के आधार पर अधिक भरोसेमंद लोकेशन निर्धारण संभव बनाता है
Globalping नेटवर्क का उपयोग
- Globalping एक open source community-आधारित प्रोजेक्ट है, जिसमें containerized probes को self-host किया जा सकता है
- अभी दुनिया भर में 3000 से अधिक probes फैले हुए हैं
- उपयोगकर्ता इस नेटवर्क के जरिए ping, traceroute जैसे network tests चला सकते हैं
- CLI टूल globalping-ts library का उपयोग करके automate किया गया है
- दिए गए IP पर कई महाद्वीपों से ping test
- सबसे कम latency वाले महाद्वीप का चयन
- इसके बाद उसी महाद्वीप के कई probes से विस्तृत मापन
मापन के चरणबद्ध ढांचे
- चरण 1 (महाद्वीप पहचान) : हर महाद्वीप के 5 probes से ping test
- उदाहरण परिणाम: Europe 32.39ms, North America 137.18ms → Europe चुना गया
- चरण 2 (देश पहचान) : चुने गए महाद्वीप के भीतर 50 probes से मापन
- परिणाम: Poland 7.29ms, Germany 13.42ms, Lithuania 17.65ms → Poland निर्धारित
- चरण 3 (अमेरिकी राज्य पहचान) : अमेरिका के भीतर 50 probes से टेस्ट
- NordVPN का ‘Bahamas’ IP वास्तव में Florida (0.45ms) निकला
- चरण 4 (शहर पहचान) : राज्य के भीतर 36 probes से मापन
- परिणाम: Miami (0.00ms) , उसके बाद West Palm Beach, Tampa
सटीकता और सीमाएँ
- Globalping का ‘magic field’ महाद्वीप स्तर पर probes को random तरीके से चुनता है, इसलिए कुछ देश छूट सकते हैं
- इसके कारण पड़ोसी देशों की गलत पहचान होने की संभावना है
- सटीकता बढ़ाने के लिए देश·राज्य के अनुसार probes को सीधे निर्दिष्ट करना होगा और probes की संख्या समायोजित करनी होगी
- उदाहरण: North America के लिए US 200, Canada 20, Mexico 10 probes की सिफारिश
- मौजूदा version में unauthenticated users भी चला सकें इसलिए न्यूनतम probes इस्तेमाल किए गए हैं
- authentication होने पर प्रति घंटा 500 tests संभव हैं, और अतिरिक्त credits probe hosting या GitHub sponsorship से मिल सकते हैं
open source टूल चलाना और उपयोग
- कमांड:
geolocate $IP–limitoption से हर चरण में probes की संख्या समायोजित की जा सकती है
- पूरी उपयोग विधि GitHub docs में देखी जा सकती है
- Pull Request के जरिए सुधार सुझावों का स्वागत है
- free credits के अनुरोध और probe hosting में भागीदारी भी संभव है
- probe hosting: jsdelivr/globalping-probe
निष्कर्ष
- latency-आधारित IP लोकेशन अनुमान पर्याप्त observation points होने पर सटीक और व्यावहारिक तरीका है
- Globalping नेटवर्क और open source CLI टूल के जरिए कोई भी आसानी से IP की वास्तविक लोकेशन सत्यापित कर सकता है
- VPN लोकेशन spoofing सत्यापन, network routing analysis, performance debugging जैसे कई उपयोग मामलों की संभावना दिखती है
1 टिप्पणियां
Hacker News टिप्पणियाँ
यह सिर्फ़ डेमो स्तर का है, इसलिए वास्तविक प्रोडक्शन उपयोग के लिए पर्याप्त नहीं है
इसे सही तरह से उपयोग करने के लिए हर चरण में कम से कम 500 probe चाहिए
anonymous user limits को पार न करना पड़े, इसलिए optimization जानबूझकर नहीं किया गया
शुरुआत में कई continents से 3-3 बार measurement किया जाए, फिर सबसे धीमे probe को हटाकर तेज़ वाले के पास नया probe जोड़ा जाए, और इस प्रक्रिया को दोहराया जाए
इससे 5 चरणों में बाँटने के बजाय वास्तविक स्थान को रीयल-टाइम में ‘track’ करना संभव हो सकता है
latency को एक scalar potential field की तरह देखकर उसके gradient का उपयोग करने का विचार है
commit messages एक-शब्द वाले थे, जो मज़ेदार लगे, लेकिन उसी से मानवीय एहसास भी आता है
उदाहरण के लिए fakeroute जैसे टूल से इससे भी अधिक परिष्कृत धोखा संभव है
व्यावहारिक उपयोगिता लगभग नहीं होगी, लेकिन विचार मज़ेदार है
जैसे पहले The Pirate Bay ने उत्तर कोरिया में शिफ्ट होने का दिखावा किया था, उसी तरह कोई AS, BGP route में नकली AS जोड़कर चीज़ों को और विश्वसनीय बना सकता है
यह तकनीक VPN के साथ लुका-छिपी का खेल भी बन सकती है
संबंधित संदर्भ: Reddit चर्चा, HN उदाहरण
1000/30Mbps लाइन पर भी latency 2500ms तक पहुँच सकती है
प्रस्तुति वीडियो
ping-आधारित geolocation की सीमाएँ इस प्रकार हैं:
IP के location डेटा पहले से DB में मौजूद होते हैं, routing asymmetry दूरी मॉडल को बिगाड़ देती है, Anycast/CDN के कारण एक ही IP कई regions में मौजूद हो सकता है, और ICMP या तो block होता है या low priority पर रहता है
मैंने ping की जगह HTTP(S) latency + ML(SVR) मॉडल का उपयोग किया और 39,000 डेटा पॉइंट्स पर ट्रेन किया
CloudFront के पीछे के server के लिए लगभग 600km की error मिली
precision से अधिक महत्वपूर्ण हैं sandbox detection, geofenced malware, और IP DB fail होने पर सहायक location signal देना
पहले एक डच दोस्त से बात करते समय मैंने UK से NL content को उससे कम latency पर एक्सेस किया था
शायद इसकी वजह peering quality में अंतर रहा होगा
हम IXPs और प्रमुख इंटरनेट संस्थानों के साथ मिलकर routing और peering data sharing project चला रहे हैं
कुछ देशों में दूसरे continents के IXP से direct peering होती है, जिससे latency में हज़ारों km के बराबर अंतर आ जाता है
वास्तविक मामलों में एक ही देश के दो telecom operators के बीच traffic देश से बाहर घूमकर वापस आता है
हम ऐसे प्रभावों को measurement-based geolocation algorithms से ठीक कर रहे हैं
अंतिम लक्ष्य IXPs, telecom operators और internet governance bodies को ऐसी समस्याएँ सुलझाने में मदद करना है
VDSL या DOCSIS में केवल 1km के खंड पर ही 5–15ms latency जुड़ सकती है
London–Amsterdam के बीच यह लगभग 7ms है
पहले नीदरलैंड के बड़े शहरी इलाकों में भी fiber connectivity कम थी
यानी वास्तविक दूरी से 8 गुना से भी अधिक बढ़ा-चढ़ाकर
UK का server ज़्यादा दूर है, फिर भी उसका ping कम आता है
traceroute-आधारित तरीका ping से अधिक यथार्थवादी लगता है
researcher Calvin, NANOG96 में measurement-based IP geolocation पर प्रस्तुति देने वाले हैं
प्रस्तुति लिंक
काश HN पर ऐसे projects और ज़्यादा दिखें
यह बहुत सरल तरीका है, इसलिए triangulation इस्तेमाल करने पर शायद अधिक accuracy मिले
पर्याप्त probe और थोड़ी किस्मत हो तो यह उम्मीद से बेहतर काम करता है
बेशक इससे अधिक स्मार्ट तरीके मौजूद हैं
इसलिए सबसे नज़दीकी एकल measurement का उपयोग करना अधिक व्यावहारिक है
उपयोगी डेटा पाने के लिए city level पर हज़ारों nodes चाहिए
RIPE IPmap पहले से अधिकांश public routers को काफ़ी सटीकता से map करता है
तुलना के लिए ping.sx भी सुझाया गया है
आख़िरी hop के FQDN में अक्सर airport code या city code शामिल होता है, जो मददगार होता है