نشت WebRTC چیست: مرورگر شما چگونه میتواند IP واقعیتان را آشکار کند
WebRTC در مرورگر شما چگونه میتواند با وجود VPN آدرس IP واقعیتان را فاش کند، چگونه با آزمون نشت WebRTC در Colitu بررسی کنید و چگونه این شکاف را با امنیت ببندید.

VPN را روشن کردهاید، یک سایت کشور سرور را نشان میدهد و همهچیز درست به نظر میرسد. با این حال یک قابلیت مرورگر هنوز میتواند آدرس IP واقعی شما را به یک وبسایت بدهد: WebRTC. این مشکل همهٔ پیکربندیها را تحت تأثیر قرار نمیدهد، بررسی آن آسان است و وقتی بفهمید چگونه کار میکند، رفع آن هم آسان است.
WebRTC چیست
WebRTC فناوری پشت تماسهای تصویری، اشتراکگذاری صفحه و انتقال فایل است که مستقیماً در مرورگر و بدون افزونه اجرا میشود. برای اتصال دو نفر بهصورت هرچه مستقیمتر، مرورگر مسیرهای شبکهٔ ممکن را جمعآوری میکند که ICE candidate نام دارند:
- candidateهای host: آدرسهای محلی خود دستگاه؛
- candidateهای server-reflexive: آدرس عمومی شما آنطور که از اینترنت دیده میشود، که با پرسیدن از یک سرور STUN به دست میآید؛
- candidateهای relay: آدرسی روی یک سرور رلهٔ TURN که وقتی هیچ مسیر مستقیمی کار نکند استفاده میشود.
یک صفحهٔ وب میتواند این فرایند را با چند خط JavaScript شروع کند و برای کانال دادهٔ پایه، مرورگر اجازه نمیخواهد.
نشت چگونه رخ میدهد
درخواست STUN یک بستهٔ کوچک UDP است. اینکه از VPN عبور کند یا نه به نحوهٔ اتصال VPN به سیستم شما بستگی دارد:
- VPN در سطح کل دستگاه (TUN یا سرویس VPN سیستم). همهٔ ترافیک، از جمله UDP، وارد تونل میشود. سرور STUN آدرس سرور VPN را میبیند و صفحه همان را یاد میگیرد. نشتی وجود ندارد.
- فقط پروکسی. مرورگر صفحههای وب را از پروکسی میفرستد، اما درخواست UDP مربوط به WebRTC میتواند مستقیم خارج شود. در این صورت سرور STUN آدرس عمومی واقعی شما را میبیند و صفحه میتواند آن را بخواند.
بنابراین این نشت یک باگ WebRTC نیست: مرورگر صادقانه مسیری را که ترافیک UDP آن طی میکند گزارش میدهد.
چه چیزی نشت نیست
مرورگرهای مدرن آدرس شبکهٔ محلی شما را پشت یک نام تصادفی که به .local ختم میشود (یک نام mDNS) پنهان میکنند. اگر آزمون چنین نامی را نشان دهد، این مورد انتظار و بیضرر است. آدرسهای خصوصی مانند 192.168.x.x هم هویت عمومی شما نیستند، هرچند مرورگرهای حریمخصوصیمحور سعی میکنند آنها را هم پنهان کنند.
با Colitu آزمایش کنید
آزمون نشت WebRTC ما از مرورگر شما میخواهد با استفاده از سرور STUN عمومی Cloudflare (stun.cloudflare.com) candidateها را جمعآوری کند و آدرسهایی را که پیدا میکند با آدرسی که سایتها میبینند مقایسه میکند. نتیجه فقط در مرورگر شما ارزیابی میشود.
- VPN را خاموش کنید و آزمون را اجرا کنید. آدرس عمومی را یادداشت کنید: این آدرس واقعی شماست.
- VPN را روشن کنید، منتظر «متصل» بمانید و صفحهٔ آزمون را دوباره بارگذاری کنید.
- مقایسه کنید. هر آدرس عمومی که WebRTC اکنون پیدا میکند باید آدرس سرور باشد، همان که سایتها میبینند.
- اگر آدرس واقعی شما از گام 1 هنوز ظاهر میشود، WebRTC نشت دارد.
برای بررسی همزمان IP، DNS و WebRTC از آزمون اتصال VPN استفاده کنید. برای DNS بهتنهایی، نشت DNS چیست را ببینید.
چگونه رفعش کنیم
Windows: حالت TUN را روشن کنید. Colitu برای Windows در حالت پروکسی سیستم شروع میشود. در حالت TUN همهٔ ترافیک، از جمله UDP، از تونل عبور میکند، بنابراین WebRTC آدرس سرور را میبیند. آن را در تنظیمات برنامه روشن کنید و آزمون را دوباره اجرا کنید.
اندروید و iOS. Colitu در آنجا بهصورت VPN کل دستگاه اجرا میشود (سرویس VPN اندروید، packet tunnel در iOS)، بنابراین ترافیک WebRTC هم از تونل عبور میکند.
Linux (بتا). مانند Windows از حالت TUN استفاده کنید؛ sudo میخواهد.
گزینههای مرورگر اگر لایهٔ اضافی میخواهید یا نمیتوانید از حالت TUN استفاده کنید:
- Firefox: با تایپ
about:configو تنظیمmedia.peerconnection.enabledروی false، WebRTC کاملاً خاموش میشود. - مرورگرهای مبتنی بر Chromium: کلید داخلی سادهای وجود ندارد؛ افزونههایی که استفادهٔ WebRTC از شبکه را محدود میکنند میتوانند آدرسهای افشاشده را محدود کنند.
به یاد داشته باشید که خاموش کردن WebRTC تماسهای تصویری در مرورگر، مانند نسخههای وب سرویسهای جلسه، را از کار میاندازد. با حالت TUN معمولاً لازم نیست چیزی را کنار بگذارید.
دو پرسش رایج
آیا نشت یعنی ترافیک من رمزگذاری نشده است؟ خیر. مرور شما همچنان از تونل عبور میکند. نشت WebRTC آدرس IP شما را برای صفحهای که میپرسد آشکار میکند، که اگر از VPN برای جلوگیری از مکانیابی توسط سایتها استفاده میکنید اهمیت دارد.
آیا برنامهها هم اینگونه نشت میدهند؟ آزمون مرورگر شما را بررسی میکند. برنامههای دسکتاپ برای تماس از شبکهسازی خودشان استفاده میکنند؛ در حالت پروکسی سیستم در Windows ممکن است برخی از آنها VPN را کاملاً دور بزنند، که حالت TUN آن را هم حل میکند.
آزمون را به عادت تبدیل کنید
نشتها وقتی چیزی تغییر کند معمولاً برمیگردند. آزمون را دوباره اجرا کنید وقتی:
- در Windows Colitu را بین پروکسی سیستم و حالت TUN جابهجا میکنید؛
- مرورگر جدید یا افزونهٔ حریم خصوصی یا «VPN» نصب میکنید؛
- VPN دیگر، قابلیت «اتصال امن» آنتیویروس یا تقویتکنندهٔ بازی نصب میکنید؛
- سیستمعامل را بهروز میکنید یا به رایانهٔ جدید میروید.
مرجع سریع
| آزمون با VPN روشن چه نشان میدهد | معنا | اقدام |
|---|---|---|
| فقط آدرس سرور | نشتی وجود ندارد | کاری لازم نیست |
| یک نام .local | آدرس محلی پنهانشده | کاری لازم نیست |
| آدرس عمومی واقعی شما | نشت WebRTC | حالت TUN در Windows یا Linux |
| آدرس واقعی شما روی گوشی | غیرعادی | دوباره وصل شوید، برنامههای VPN دیگر را ببندید، با پشتیبانی تماس بگیرید |
اطلاعات بیشتر در مرکز راهنما: آزمونهای اتصال و راهنمای Windows.