تست نشت WebRTC
اجرای تست نشتی...
IPv4 (HTTP) در حال بررسی...
IPv6 (HTTP) در حال بررسی...
نامزدهای ICE جمع آوری شدند
هیچ کاندیدای ICE جمع آوری نشد.
موقعیت تقریبی
در حال پیدا کردن شبکه شما…

نشانگر مرکز تقریبی منطقه‌ای را نشان می‌دهد که ارائه‌دهنده شما خدمات می‌دهد - نه خانه، خیابان یا دستگاه شما. فاصله ده ها کیلومتری طبیعی است.

نحوه جلوگیری از نشت WebRTC
Chrome / Edge — یک برنامه افزودنی مسدودکننده WebRTC را نصب کنید (مثلاً «WebRTC Leak Prevent»)، یا از یک کلاینت VPN استفاده کنید که به صراحت ترافیک WebRTC را مسدود می‌کند — Chrome مدرن دیگر یک ضامن داخلی برای این کار ارسال نمی‌کند.
Firefox — about:config را باز کنید، media.peerconnection.enabled را جستجو کنید و آن را روی false قرار دهید تا WebRTC به طور کامل غیرفعال شود.
Safari — WebRTC را نمی توان به صورت جهانی تغییر داد. دسترسی به دوربین/میکروفون در هر سایت را در زیر Safari > Settings > Websites غیرفعال کنید یا به VPN که WebRTC را در سطح شبکه مسدود می کند، تکیه کنید.
Brave — پانل Shields را باز کنید و محدود کننده شبکه WebRTC را روی حالت سختگیرانه/"Proxied" تنظیم کنید تا از نشت IP محلی جلوگیری کنید.
درباره تست نشت WebRTC

WebRTC یک فناوری مرورگر است که برای تماس‌های ویدیویی بلادرنگ و انتقال فایل‌های همتا به همتا ساخته شده است. برای اتصال مستقیم دو رایانه، باید هر آدرس شبکه ای را که می توان به هر طرف دسترسی داشت، کشف کرد، بنابراین از یک سرور STUN عمومی می پرسد "این اتصال از بیرون چه IP دارد؟" و پاسخ را به عنوان کاندیدای ICE جمع آوری می کند. این مبادله نامزدها معمولاً به صورت نامرئی بین دو همتا در یک تماس اتفاق می‌افتد - اما هر وب‌سایتی می‌تواند آن را بی‌صدا در پس‌زمینه فعال کند، نامزدها را بخواند و آدرس‌های شما را از آنها استخراج کند.

این به طور خاص برای کاربران VPN به یک مشکل حفظ حریم خصوصی تبدیل می شود. یک VPN ترافیک HTTP معمولی شما را از طریق تونل خود تغییر مسیر می دهد، بنابراین وب سایت ها آدرس IP VPN را به جای آدرس شما می بینند. با این حال، WebRTC از طریق اتصال خود با سرور STUN صحبت می کند، و در برخی تنظیمات، این اتصال به طور کامل تونل VPN را دور می زند - IP اینترنتی واقعی شما را نشت می کند، حتی اگر نوار آدرس نشان دهد که شما "محافظت شده" هستید. مرورگرهای مدرن همچنین سعی می‌کنند آدرس شبکه محلی شما را با جایگزین کردن آن با نام میزبان تصادفی و یکبار مصرف mDNS که به .local ختم می‌شود، به جای IP خام مانند 192.168.1.5، مخفی کنند. که جایگزینی یک بهبود واقعی حریم خصوصی است، نه نشانه ای از شکسته شدن چیزی.

این ابزار دقیقاً همان فرآیند جمع‌آوری ICE را اجرا می‌کند که یک صفحه مخرب می‌تواند اجرا کند، با استفاده از دو سرور STUN مستقل برای قابلیت اطمینان، و هر نامزد عمومی را که جمع‌آوری می‌کند با آدرس IP واقعی HTTP شما مقایسه می‌کند. اگر مطابقت داشته باشند، WebRTC هیچ نمایه اضافی فراتر از آنچه هر وب سایت قبلاً می بیند اضافه نمی کند. اگر زمانی که فکر می‌کنید از VPN استفاده می‌کنید، تفاوت دارند، این عدم تطابق به نشت است – و راه‌حل‌های بالا نحوه بستن آن را برای مرورگر خاص خود توضیح می‌دهند.

این آزمایش فقط آنچه را که مرورگر شما از طریق WebRTC ICE در معرض دید قرار می دهد، نشان می دهد. نمی تواند نشت های رخ داده در سطح سیستم عامل یا روتر را تشخیص دهد.

تست نشت WebRTC: آیا VPN شما آدرس IP واقعی را فاش می‌کند؟

این ابزار تست نشت WebRTC دقیقاً از همان مکانیزم اتصال همتا به همتا (peer-to-peer) استفاده می‌کند که اسکریپت‌های ردیابی به کار می‌گیرند، تا مشخص کند آیا آدرس‌های جمع‌آوری شده شامل IP واقعی است که VPN شما باید آن را مخفی می‌کرد یا خیر. این تست یک RTCPeerConnection با کانال داده خالی باز می‌کند — بدون نیاز به دوربین، میکروفون یا تأیید دسترسی —، از دو سرور STUN عمومی وضعیت اتصال را از بیرون جویا می‌شود و آن را با IP درخواست‌های معمول HTTPS شما مقایسه می‌کند.

نحوه خواندن کاندیداهای ICE نمایش داده شده در این تست

پروتکل WebRTC باید تمامی مسیرهای شبکه‌ای را که طرف مقابل می‌تواند با شما ارتباط برقرار کند کشف کند؛ بنابراین فهرستی از کاندیداهای ICE تولید می‌کند. این صفحه لیست خام را همراه با نوع و پروتکل انتقال نمایش می‌دهد و پس از پنج ثانیه اسکن را متوقف می‌کند.

در بخش بالایی، آدرس‌های IPv4 و IPv6 معمولی شما که از طریق HTTP مشاهده شده‌اند قرار دارند — مقادیری مشابه آنچه در صفحه آی پی من چیست گزارش می‌شود. این ارقام مبنای مقایسه قرار می‌گیرند و حکم نهایی بر اساس تطبیق مستقیم این دو منبع صادر می‌شود.

host، srflx و relay — مفهوم برچسب‌ها

  • محلی (host) — آدرسی متعلق به کارت شبکه خود شما: یک IP شبکه داخلی مانند 192.168.1.14 یا نام تصادفی .local.
  • عمومی (از طریق STUN) — کاندیدای srflx، یعنی آدرس عمومی که سرور STUN پکت را از آن دریافت کرده است. مهم‌ترین معیار هنگام استفاده از VPN.
  • رله (TURN) — ترافیکی که از سرور واسط عبور داده شده است؛ این تست فقط از STUN استفاده می‌کند، بنابراین ردیف relay بسیار نادر است.

مفهوم هر نتیجه بررسی

  • نشت شناسایی شد — کاندیدای عمومی STUN با IP پروتکل HTTP مغایرت دارد؛ در حالت VPN یعنی پکت WebRTC از خارج تونل امن عبور کرده است.
  • عدم نشت — هر دو آدرس کاملاً با یکدیگر مطابقت دارند.
  • IP محلی فاش شده — یک آدرس خام شبکه LAN به جای نام مبهم mDNS نمایش داده شده است.
  • محافظت شده — آدرس محلی شما در پشت یک نام هاست تصادفی .local پنهان شده است.
  • بدون IP عمومی / WebRTC مسدود است — سرورهای STUN در دسترس نبودند یا WebRTC در مرورگر خاموش است.

چرا WebRTC آدرسی را که VPN مخفی می‌کند لو می‌دهد

پروتکل WebRTC برای برقراری تماس تصویری، صوتی و انتقال مستقیم فایل میان مرورگرها ایجاد شد. اتصال دو سیستم در پشت روترهای مستقل نیازمند عبور از NAT است، و این به پاسخی از بیرون نیاز دارد: این اتصال از چه آدرسی آغاز شده است؟ سرور STUN این پاسخ را می‌دهد و هر وب‌سایتی می‌تواند این فرایند را بدون جلب توجه از طریق جاوااسکریپت اجرا کند.

این ویژگی زمانی به آسیب‌پذیری تبدیل می‌شود که بخواهید IP واقعی را پنهان کنید. VPN ترافیک وب معمولی HTTP را از تونل رمزنگاری شده رد می‌کند، اما WebRTC پکت‌های UDP اختصاصی به STUN می‌فرستد که در صورت وجود تونل تفکیک‌شده (split-tunneling)، از مسیر عادی اینترنت شما عبور می‌کنند. اکستنشن‌های VPN مرورگر نمونه بارز آن هستند: آنها فقط درخواست‌های وب را پروکسی می‌کنند و پکت‌های UDP سیستم را پوشش نمی‌دهند — بنابراین نتیجه آن ممکن است با یک تست VPN در بستر HTTP مغایرت داشته باشد.

نام هاست تصادفی .local نشانه نشت اطلاعات نیست

اگر در ردیف host نامی شبیه به 7b3f9c21-4d0a-48e7.local به جای 192.168.1.14 مشاهده می‌کنید، سیستم امنیتی کاملاً سالم است. این قابلیت پنهان‌سازی mDNS نام دارد: مرورگر یک نام موقت چندپخشی DNS برای کارت شبکه می‌سازد و آن را به جای IP داخلی ارسال می‌کند. مرورگرهای کروم، اج، بریو، فایرفاکس و سافاری این ویژگی را به صورت پیش‌فرض فعال دارند — افزونه uBlock Origin نیز از نسخه v1.38 گزینه WebRTC خود را حذف کرد زیرا خود مرورگرها این کار را بر عهده گرفتند. دو نکته مهم: این قابلیت فقط از IP شبکه محلی محافظت می‌کند (مانع نشت IP عمومی VPN نمی‌شود)، و سایتی که دسترسی به دوربین یا میکروفون داشته باشد باز هم به IP واقعی LAN دسترسی خواهد داشت.

نحوه رفع نشت WebRTC در کروم و مایکروسافت اج

هیچ‌کدام از این دو مرورگر کلید ساده‌ای در منوی تنظیمات ندارند و گزینه‌های chrome://flags یا edge://flags نیز دیگر WebRTC را خاموش نمی‌کنند. سه روش کاربردی برای مقابله وجود دارد:

  • از نرم‌افزار VPN کامل سیستمی (Full-Tunnel) استفاده کنید، نه افزونه‌های مرورگر. اگر همه بسته‌های UDP از تونل رد شوند، STUN فقط آدرس سرور VPN را می‌بیند.
  • تنظیم خط‌مشی مدیریت IP از طریق افزونه. ابزارهایی مانند WebRTC Leak Prevent گزینه chrome.privacy.network.webRTCIPHandlingPolicy را روی default_public_interface_only یا disable_non_proxied_udp تنظیم می‌کنند تا جلوی انتشار IP محلی را بگیرند.
  • اعمال پالیسی‌های سیستم‌عامل (GPO/Registry). در ویندوز پالیسی WebRtcIPHandling برای کروم یا WebRtcLocalhostIpHandling در مسیر SOFTWARE\Policies\Microsoft\Edge را برابر AllowPublicInterfaceOnly یا DisableNonProxiedUdp قرار دهید. مرورگر را بازنشانی کرده و در edge://policy چک کنید.

نحوه غیرفعال‌سازی کامل WebRTC در فایرفاکس

فایرفاکس تنها مرورگر مطرح دسکتاپ است که کلید قطع کامل دارد. در نوار آدرس about:config را وارد کرده، هشدار را تایید کنید، media.peerconnection.enabled را جستجو کرده و با دوبار کلیک آن را روی false بگذارید. پروتکل WebRTC برای تمامی سایت‌ها بدون نیاز به راه‌اندازی مجدد خاموش می‌شود و این تست آن را مسدود گزارش می‌کند.

این یک راهکار اساسی است: تماس‌های تحت وب مثل Meet، Teams، Discord و Zoom تا زمان برگشت این تنظیم کار نخواهند کرد. اگر می‌خواهید تماس‌ها برقرار بمانند، آن گزینه را فعال نگه دارید و به جای آن media.peerconnection.ice.default_address_only را برابر true قرار دهید — فایرفاکس تنها آدرس مسیر پیش‌فرض (یعنی اتصال VPN) را ارائه خواهد داد.

نحوه توقف نشت WebRTC در مرورگر Brave

مرورگر بریو کنترل‌هایی را که کروم مخفی می‌کند در اختیار شما می‌گذارد. به brave://settings/privacy رفته و بخش WebRTC IP handling policy را پیدا کنید. در زمان استفاده از VPN یا پروکسی دو حالت ایده‌آل است:

  • Default — ممکن است همه آداپتورها را پیمایش کرده و IP محلی را فاش کند.
  • Default Public and Private Interfaces — از مسیر پیش‌فرض استفاده می‌کند ولی آدرس خصوصی را بازتاب می‌دهد.
  • Default Public Interface Only — فقط مسیر پیش‌فرض بدون آدرس محلی؛ تماس‌ها به خوبی کار می‌کنند. بهترین گزینه برای مصارف روزانه.
  • Disable Non-Proxied UDP — اجبار به TCP از طریق پروکسی مگر آنکه پروکسی از UDP پشتیبانی کند. سخت‌گیرانه‌ترین حالت (پیش‌فرض تب‌های Tor)، اما ممکن است تماس P2P را قطع کند.

نکات مهم برای سافاری، آیفون و دستگاه‌های اندروید

در دستگاه‌های موبایل و موتور WebKit توصیه‌های متداول رایانه‌های شخصی معمولاً کارایی ندارند.

سافاری در سیستم‌عامل macOS

نسخه‌های جدید سافاری فاقد کلید خاموش‌سازی کلی پایدار هستند. گزینه‌های منوی توسعه‌دهنده با بستن مرورگر ریست می‌شوند. از آنجا که سافاری به صورت پیش‌فرض IP محلی را پشت mDNS پنهان می‌کند، بهترین روش مدیریت مجوزها در Safari > Settings > Websites و فعال‌سازی VPN سیستمی است.

دستگاه‌های iPhone و iPad (iOS)

تمامی مرورگرها در iOS موظف به استفاده از موتور WebKit هستند. کروم یا فایرفاکس در آیفون صفحه about:config یا اکستنشن ندارند؛ افزونه‌های بلاکر محتوا نیز امکان مسدودسازی WebRTC را ندارند. برای جلوگیری از نشت، از پروفایل VPN در Settings > VPN که ترافیک UDP را هدایت می‌کند استفاده کرده و تست را در سافاری تکرار کنید.

سیستم‌عامل اندروید

کروم اندروید قابلیت یا افزونه‌ای برای WebRTC ندارد. بریو در اندروید همین لیست سیاست‌های مدیریت IP را در منوی حریم خصوصی قرار داده است. در فایرفاکس اندروید دسترسی به about:config فقط در نسخه‌های Beta و Nightly ممکن است. راهکار کلی فعال‌سازی Always-on VPN و گزینه Block connections without VPN در تنظیمات گوشی است.

مواردی که این تست نشت قادر به تشخیص آنها نیست

این صفحه تنها اطلاعاتی را بررسی می‌کند که مرورگر شما در اختیار اسکریپت‌های اجرا شده در این وب‌سایت قرار می‌دهد. این ابزار قادر به کشف نشت‌های زیر لایه مرورگر — نظیر خطاهای مسیریابی سیستم‌عامل یا ترافیک IPv6 پوشش داده نشده توسط VPN — نیست و نشت‌های پرس‌وجوی DNS را ارزیابی نمی‌کند. اگر فایروال STUN را مسدود کند وضعیت „بدون IP عمومی“ نمایش می‌یابد که صرفاً به معنای بی‌پاسخ ماندن است. به علاوه، IP تنها یکی از شناسه‌هاست: مشخصات مانیتور، فونت‌ها و هدرهای فهرست‌شده در صفحه مرورگر من چیست حتی با یک IP امن VPN می‌توانند دستگاه شما را تشخیص دهند.

پرسش‌های متداول (FAQ)

آیا ممکن است حتی در صورت اتصال به VPN، پروتکل WebRTC آدرس واقعی را لو دهد؟

بله، این اتفاق بسیار رایج است. پروتکل WebRTC بسته‌های UDP خود را مستقیماً به سرورهای STUN ارسال می‌کند. هنگام استفاده از اکستنشن‌های مرورگر یا تقسیم تونل، این بسته‌ها خارج از تونل از اتصال اینترنت عادی عبور می‌کنند. سرور STUN آدرس واقعی اینترنت شما را می‌بیند و وب‌سایت‌ها با یک کد JS آن را می‌خوانند. استفاده از نرم‌افزار کامل VPN سیستم این مشکل را کاملاً رفع می‌کند.

آیا راهی برای خاموش کردن کامل WebRTC در مایکروسافت اج وجود دارد؟

از طریق منوی تنظیمات عادی خیر: اج کلید خاموش ندارد و فلگ قدیمی در about:flags نیز برداشته شده است. در ویندوز می‌توانید با تعریف پالیسی WebRtcLocalhostIpHandling برابر با AllowPublicInterfaceOnly یا DisableNonProxiedUdp در رجیستری زیر شاخه SOFTWARE\Policies\Microsoft\Edge این مورد را مدیریت کنید. مرورگر را ببندید و در edge://policy چک کنید.

از کجا می‌توان WebRTC و PeerConnection را در فایرفاکس خاموش کرد؟

در نوار آدرس about:config را باز کنید: گزینه media.peerconnection.enabled را پیدا کرده و با دوبار کلیک آن را روی false قرار دهید. با این کار WebRTC بدون نیاز به ریست فایرفاکس مسدود می‌شود، ولی تماس‌های ویدیویی تحت وب قطع خواهند شد. برای فعال ماندن تماس‌ها، آن را true نگه دارید و media.peerconnection.ice.default_address_only را true کنید.

چگونه می‌توان WebRTC را در مرورگر Safari به طور دائمی غیرفعال کرد؟

در نسخه‌های جدید سافاری امکان غیرفعال‌سازی دائمی وجود ندارد. منوی آزمایشی قدیمی حذف شده و گزینه‌های منوی Develop با خروج از برنامه ریست می‌شوند. از آنجا که سافاری IPهای داخلی را با mDNS می‌پوشاند، بهترین اقدام محدود کردن دسترسی سایت‌ها در Safari > Settings > Websites و اجرای یک VPN سراسری روی سیستم است.

بهترین تنظیمات در مرورگر Brave برای جلوگیری از نشت WebRTC چیست؟

به brave://settings/privacy رفته و هنگام استفاده از VPN یا پروکسی گزینه WebRTC IP handling policy را روی «Disable Non-Proxied UDP» بگذارید. بدین صورت ارتباطات WebRTC از طریق TCP پروکسی انجام شده و STUN هرگز آدرس اصلی را نخواهد دید. گزینه «Default Public Interface Only» راه‌حل منعطفی است که تماس‌های صوتی را حفظ می‌کند.

کدام خط‌مشی مدیریت IP در WebRTC را باید انتخاب کنم؟

گزینه «Default Public Interface Only» برای عموم افراد مناسب است: رابط‌های محلی را پنهان کرده، تبادل UDP را حفظ می‌کند و به جلسات ویدیویی اجازه فعالیت می‌دهد. گزینه «Disable Non-Proxied UDP» را تنها در شرایطی انتخاب کنید که نیاز به ناشناسی مطلق در بستر پروکسی یا VPN دارید. گزینه‌های پیش‌فرض همچنان آدرس‌های محلی را افشا می‌کنند.

چرا آدرس IP خصوصی من از طریق WebRTC در اینترنت فاش می‌شود؟

در مرورگرهای مدرن این مسئله دیگر به شکل باز رخ نمی‌دهد. کروم، اج، بریو، فایرفاکس و سافاری آدرس شبکه محلی را با یک نام میزبان تصادفی یک‌بارمصرف mDNS با پسوند .local جایگزین می‌کنند. وب‌سایت‌ها به جای 192.168.1.14 فقط آن نام را می‌بینند. اگر در تست یک آدرس LAN مستقیم می‌بینید، این حفاظت غیرفعال است.