WebRTC आपका IP एड्रेस कैसे उजागर कर सकता है?
WebRTC वेब पेज को सीधे कनेक्शन खोलने देता है, और इसके लिए ब्राउज़र ICE candidates जुटाता है — अपने लोकल एड्रेस और STUN सर्वर के ज़रिए अपना सार्वजनिक एड्रेस — जिन्हें कोई भी पेज बिना पूछे पढ़ सकता है। लीक तब है जब ये candidates वह उजागर करें जिसे VPN को छिपाना था: VPN के अलावा कोई सार्वजनिक एड्रेस, या सीधा लोकल एड्रेस। RFC 8828 तय करता है कि ब्राउज़र डिफ़ॉल्ट रूप से क्या दिखाएँ, और आज के ब्राउज़र लोकल एड्रेस की जगह रैंडम .local (mDNS) नाम दिखाते हैं।
WebRTC लीक टेस्ट कैसे इस्तेमाल करें
- अगर VPN जाँचना है तो उसे जोड़ें, फिर "WebRTC टेस्ट चलाएँ" दबाएँ।
- कुछ सेकंड रुकें, ब्राउज़र दो रन में अपने candidates जुटाता है।
- पहले नतीजे पढ़ें, फिर तालिका: "आपका सार्वजनिक एड्रेस (STUN से)" वाली पंक्तियाँ वह हैं जो कोई भी पेज आपके कनेक्शन के बारे में जान सकता है।
- लीक दिखे तो VPN ऐप का leak protection चालू करें या ब्राउज़र में WebRTC सीमित करें ("WebRTC लीक कैसे रोकें" देखें), फिर टेस्ट दोबारा चलाएँ।
WebRTC लीक टेस्ट की खूबियाँ
- स्टैंडर्ड RTCPeerConnection API से आपके ब्राउज़र में चलता है, ठीक वैसे जैसे कोई वीडियो-कॉल पेज
- दो रन — Cloudflare के पब्लिक STUN सर्वर (stun:stun.cloudflare.com:3478) के साथ और बिना STUN के — ताकि सार्वजनिक और लोकल एड्रेस अलग दिखें
- हर candidate का वर्गीकरण: लोकल एड्रेस, छिपा .local (mDNS) नाम, STUN से मिला सार्वजनिक एड्रेस, link-local या relay
- STUN से मिले सार्वजनिक एड्रेस की तुलना उस एड्रेस से जिससे आपका वेब ट्रैफ़िक निकलता है, जैसा Mutqan सर्वर देखता है — IPv4 बनाम IPv6 भी
- साफ़ बताता है कि कब WebRTC उपलब्ध नहीं या ब्लॉक है, और कब STUN सर्वर तक पहुँच नहीं हुई
- कभी TURN रिले इस्तेमाल नहीं करता और candidates कहीं नहीं भेजता
इनपुट और आउटपुट
इनपुट
- कुछ टाइप नहीं करना: "WebRTC टेस्ट चलाएँ" दबाएँ। आपका ब्राउज़र stun:stun.cloudflare.com:3478 से एक बार और Mutqan सर्वर से एक बार संपर्क करता है।
- आपके ब्राउज़र की WebRTC सेटिंग, एक्सटेंशन और VPN की स्थिति — टेस्ट उन्हें उसी पल जैसी हैं वैसी पढ़ता है।
आउटपुट
- सारांश — जुटाए candidates, WebRTC से दिखे सार्वजनिक एड्रेस, उजागर लोकल एड्रेस, और सर्वर को दिखने वाला आपका सार्वजनिक IP।
- Candidates — हर एक का रन, प्रकार, एड्रेस, प्रोटोकॉल और वह क्या उजागर करता है।
- नतीजे — कोई लोकल या अलग सार्वजनिक एड्रेस उजागर होता है या नहीं, और क्यों।
- WebRTC लीक कैसे रोकें — ब्राउज़र और VPN की बदलने वाली सेटिंग।
WebRTC लीक टेस्ट का उदाहरण
ऐसा VPN जिसे WebRTC बायपास कर देता है
इनपुट:
VPN on — public IP seen by the Mutqan server: 203.0.113.45आउटपुट:
Candidates gathered: 3 · Public addresses seen through WebRTC: 1 · Local addresses exposed: 0
With STUN — srflx — 198.51.100.20 — udp — Your public address (via STUN)
With STUN — host — 4f1c….local — udp — Hidden local address (random .local name)
Without STUN — host — 4f1c….local — udp — Hidden local address (random .local name)
Finding: WebRTC reveals a public address that differs from the one your web traffic uses. With a VPN or proxy on, this is a WebRTC leak: pages can learn the address of your real connection.WebRTC लीक टेस्ट के नतीजे कैसे पढ़ें
STUN से मिला सार्वजनिक एड्रेस आपके सार्वजनिक IP के बराबर हो तो कोई अतिरिक्त खुलापन नहीं: हर वेबसाइट उसे पहले से देखती है।
VPN या प्रॉक्सी चालू रहते सार्वजनिक IP से अलग सार्वजनिक एड्रेस WebRTC लीक है: पेज आपके असली कनेक्शन का एड्रेस जान सकते हैं।
सीधा लोकल एड्रेस (192.168.x.x, 10.x.x.x, fd00::/8) छोटा लीक है जो fingerprinting में मदद करता है; उसकी जगह .local नाम का मतलब है कि ब्राउज़र उसे छिपाता है।
WebRTC से IPv6 एड्रेस दिखे जबकि वेब ट्रैफ़िक IPv4 इस्तेमाल करता है, या उल्टा, तो दूसरा IP वर्ज़न उजागर है — अगर VPN एक ही वर्ज़न ले जाता है तो यह लीक है।
जुटाना पूरा होने के बाद कोई candidate न मिलना मतलब WebRTC बंद या सीमित है: उससे कुछ लीक नहीं हो सकता। अगर टेस्ट कहे कि वह candidates नहीं जुटा सका, तो वह अलग नतीजा है, जो किसी भी ओर कुछ साबित नहीं करता।
WebRTC लीक टेस्ट कब इस्तेमाल करें
- भरोसा करने से पहले VPN या प्रॉक्सी को WebRTC लीक के लिए जाँचना।
- पक्का करना कि WebRTC सीमित करने वाला ब्राउज़र एक्सटेंशन या एंटरप्राइज़ पॉलिसी सच में काम करती है।
- सहकर्मी को दिखाना कि वीडियो-कॉल पेज बिना पूछे उसके नेटवर्क के बारे में क्या जान सकता है।
समस्या निवारण
- "STUN सर्वर ने जवाब नहीं दिया" — फ़ायरवॉल या नेटवर्क पोर्ट 3478 पर बाहर जाने वाला UDP रोकता है, इसलिए WebRTC से कोई सार्वजनिक एड्रेस नहीं मिला; पेज भी इस रास्ते से नहीं जान सकते।
- "इस ब्राउज़र में WebRTC उपलब्ध नहीं" — WebRTC बंद है या किसी एक्सटेंशन ने हटा दिया है; यह सुरक्षित नतीजा है।
- "टेस्ट कोई WebRTC candidate नहीं जुटा सका" — कनेक्शन तैयार करना फ़ेल हुआ या समय पर पूरा नहीं हुआ, इसलिए टेस्ट ने किसी भी ओर कुछ नहीं देखा; यह इस बात का सबूत नहीं कि कुछ लीक नहीं होता। टेस्ट दोबारा चलाएँ, और बार-बार फ़ेल हो तो ब्राउज़र में कुछ WebRTC में दख़ल दे रहा है।
- "आपका सार्वजनिक IP लोड नहीं हो सका" — तुलना छूट जाती है पर candidates फिर भी दिखते हैं; बाद में बटन फिर दबाएँ।
- हर रन में नतीजा बदलता है — नेटवर्क बदलने के बाद ब्राउज़र दूसरा interface चुन सकता है; VPN फिर से जोड़ें और टेस्ट दोबारा चलाएँ।
WebRTC लीक टेस्ट के बारे में अक्सर पूछे जाने वाले सवाल
WebRTC लीक क्या होता है?
WebRTC वेब पेजों को सीधे ऑडियो, वीडियो और डेटा कनेक्शन बनाने देता है। इसके लिए ब्राउज़र अपने नेटवर्क एड्रेस ("ICE candidates") जुटाता है, और पेज उन्हें बिना पूछे पढ़ सकता है। VPN चालू होने पर लीक तब है जब इन candidates में आपका असली सार्वजनिक एड्रेस हो, या कोई लोकल एड्रेस जिसे VPN को छिपाना था।
टेस्ट के दौरान मेरा ब्राउज़र किस सर्वर से जुड़ता है?
Cloudflare के पब्लिक STUN सर्वर stun:stun.cloudflare.com:3478 से, एक बार; वह जवाब में वह सार्वजनिक एड्रेस देता है जिससे उसे आपका ब्राउज़र आता दिखता है। तुलना के लिए Mutqan सर्वर से अलग से पूछा जाता है कि आपका वेब ट्रैफ़िक किस एड्रेस से जाता है। इसके अलावा किसी से संपर्क नहीं होता, और कोई TURN रिले इस्तेमाल नहीं होता।
VPN लगाकर Google Meet या WhatsApp Web इस्तेमाल करता हूँ — क्या वे मेरा असली IP देख सकते हैं?
WebRTC इस्तेमाल करने वाला हर पेज — ब्राउज़र में चलने वाले कॉल ऐप भी — वही candidates पाता है जो यह टेस्ट दिखाता है। अगर टेस्ट VPN से अलग सार्वजनिक एड्रेस दिखाए, तो वे पेज भी उसे देख सकते हैं; अगर वही एड्रेस या सिर्फ़ .local नाम दिखें, तो इस रास्ते से लीक नहीं। ध्यान रहे, जिस पेज को आप कैमरा या माइक्रोफ़ोन की अनुमति देते हैं वह ज़्यादा लोकल एड्रेस पा सकता है।
".local" एड्रेस का क्या मतलब है?
यह एक रैंडम नाम (mDNS) है जो ब्राउज़र आपके असली लोकल एड्रेस की जगह दिखाता है, ताकि पेज उसे न जान सकें। लोकल candidates में सिर्फ़ .local नाम दिखें तो यह सुरक्षा काम कर रही है।
STUN वाला एड्रेस मेरे सार्वजनिक IP से अलग है — क्या यह हमेशा लीक है?
VPN या प्रॉक्सी चालू हो तो हाँ: STUN का जवाब वह रास्ता दिखाता है जिससे WebRTC ट्रैफ़िक जाता है, और वह टनल को बायपास करता है। इनके बिना सामान्य कारण भी हो सकते हैं — जैसे dual-stack कनेक्शन जो एक के लिए IPv6 और दूसरे के लिए IPv4 इस्तेमाल करता है, या सिर्फ़ ब्राउज़र में सेट प्रॉक्सी।
टेस्ट को कोई candidate क्यों नहीं मिलता?
अगर ब्राउज़र ने candidates जुटाना पूरा किया और कुछ नहीं दिया, तो आपके ब्राउज़र में WebRTC किसी सेटिंग, एक्सटेंशन या पॉलिसी से बंद या सीमित है और वह कोई एड्रेस नहीं दिखा सकता — यह सही और सुरक्षित नतीजा है। अगर टेस्ट कहे कि वह candidates नहीं जुटा सका, तो कनेक्शन तैयार करना फ़ेल हुआ या समय पर पूरा नहीं हुआ: इससे किसी भी ओर कुछ साबित नहीं होता, टेस्ट दोबारा चलाएँ।
तकनीकी नोट्स
Candidates RTCPeerConnection (W3C WebRTC) से Interactive Connectivity Establishment (ICE, RFC 8445) के ज़रिए जुटाए जाते हैं। host candidates डिवाइस के अपने एड्रेस हैं; server-reflexive (srflx) candidates वह सार्वजनिक एड्रेस है जिससे STUN सर्वर (RFC 8489) को रिक्वेस्ट आती दिखी।
ब्राउज़र RFC 8828 के अनुसार सीमित करते हैं कि WebRTC क्या दिखाए: डिफ़ॉल्ट रूप से candidates सिर्फ़ default route वाले नेटवर्क interface के। इससे अलग, कैमरा या माइक्रोफ़ोन अनुमति के बिना पेज को आम तौर पर लोकल एड्रेस की जगह .local पर ख़त्म होने वाले रैंडम mDNS नाम मिलते हैं — यह तरीक़ा एक IETF ड्राफ़्ट में लिखा गया था जो 2022 में RFC बने बिना expire हो गया, पर आज के ब्राउज़र इसे लागू करते हैं।
STUN रिक्वेस्ट UDP पर जाती है और पेज की Content Security Policy (connect-src) उस पर लागू नहीं होती, इसलिए यह पेज अपने STUN सर्वर का नाम साफ़ लिखता है। ब्राउज़र के gathering पूरा बताने पर या कुछ सेकंड बाद जुटाना रुक जाता है।
सीमाएँ और कार्यप्रणाली
टेस्ट वही देखता है जो यह पेज देखता है। कैमरा या माइक्रोफ़ोन अनुमति वाला पेज सीधे लोकल एड्रेस पा सकता है, भले यह टेस्ट .local नाम दिखाए।
यह UDP पर एक ही STUN सर्वर इस्तेमाल करता है; जो लीक सिर्फ़ TCP पर, किसी दूसरे STUN या TURN सर्वर से, या असली कॉल के दौरान ही दिखे, वह यहाँ नहीं दोहराया जाता।
अलग सार्वजनिक एड्रेस लीक है या नहीं, यह आपके सेटअप पर निर्भर है: VPN के बिना dual-stack IPv4/IPv6 कनेक्शन या सिर्फ़ ब्राउज़र वाला प्रॉक्सी इसकी वजह हो सकता है।
सुरक्षा और गोपनीयता
WebRTC वाला हिस्सा सिर्फ़ आपके ब्राउज़र में चलता है। आपका ब्राउज़र Cloudflare के पब्लिक STUN सर्वर stun:stun.cloudflare.com:3478 से एक बार जुड़ता है; वह सर्वर आपका सार्वजनिक एड्रेस वैसे ही देखता है जैसे कोई भी वेबसाइट। तुलना के लिए पेज Mutqan सर्वर से आपके वेब ट्रैफ़िक का एड्रेस भी पूछता है। जुटाए candidates सिर्फ़ आपको दिखते हैं, न Mutqan सर्वर को भेजे जाते हैं न कहीं और; कुछ भी स्टोर नहीं होता।
संदर्भ
- WebRTC: Real-Time Communication in BrowsersRTCPeerConnection API जिससे पेज ICE candidates जुटाते और peer कनेक्शन खोलते हैं, जिसमें वह icecandidate इवेंट भी है जिसे यह टेस्ट सुनता है; यह mDNS candidates का भी ज़िक्र करता है — वे .local नाम जिनसे ब्राउज़र लोकल एड्रेस छिपाते हैं।
- RFC 8828: WebRTC IP Address Handling Requirementsब्राउज़र WebRTC के ज़रिए पेज को कौन-से एड्रेस दिखा सकता है: चार हैंडलिंग मोड, और वह डिफ़ॉल्ट मोड जो candidates को default route वाले नेटवर्क interface तक सीमित रखता है।
- RFC 8489: Session Traversal Utilities for NAT (STUN)STUN binding रिक्वेस्ट और जवाब: क्लाइंट कैसे जानता है कि सर्वर को वह किस सार्वजनिक एड्रेस और पोर्ट से आता दिखता है।