نشت WebRTC چیست؟ تست و رفع نمایش IP واقعی در مرورگر

نشت WebRTC چیست؟ تست و رفع نمایش IP واقعی در مرورگر

• ۱۳ مهر ۱۴۰۵ • • ۵ دقیقه مطالعه

نشت WebRTC زمانی مهم است که مرورگر، هم‌زمان با روشن‌بودن VPN، IP عمومی اتصال مستقیم شما را به‌عنوان ICE candidate در اختیار صفحه بگذارد. دیدن 192.168.x.x، 10.x.x.x یا یک نام تصادفی .local به‌تنهایی ثابت نمی‌کند IP عمومی واقعی نشت کرده است.

این تفاوت مهم است، چون بسیاری از تست‌ها هر candidate را با رنگ هشدار نشان می‌دهند و کاربر آدرس محلی را با نشت عمومی اشتباه می‌گیرد.

WebRTC چرا IP جمع‌آوری می‌کند؟

WebRTC برای تماس صوتی و تصویری مستقیم باید مسیرهای ممکن بین دو دستگاه را پیدا کند. مرورگر با فرایند ICE candidate آدرس‌های محلی، عمومی یا relay را بررسی می‌کند. راهنمای اتصال WebRTC در MDN نقش ICE، STUN و TURN را توضیح می‌دهد.

مرورگرهای جدید برای کاهش افشای آدرس محلی ممکن است به‌جای IP شبکه، نام mDNS با پسوند .local نمایش دهند. ویژگی address در مستندات RTCIceCandidate نیز به این رفتار حریم خصوصی اشاره می‌کند.

تست درست قبل و بعد از VPN

  1. همهٔ proxyها و VPNهای اضافی را خاموش کنید.
  2. IP عمومی مستقیم را با یک ابزار نمایش IP یادداشت کنید.
  3. VPN را روشن و IP خروجی جدید را ثبت کنید.
  4. تست WebRTC را در همان مرورگر اجرا کنید.
  5. candidateها را با دو IP ثبت‌شده مقایسه کنید.

نتیجه‌ها:

چیزی که تست نشان می‌دهد تفسیر
فقط IP عمومی VPN مسیر مورد انتظار است
IP عمومی مستقیم کنار IP VPN نشت یا split route محتمل است
192.168.*، 10.* یا 172.16–31.* آدرس خصوصی شبکهٔ محلی است
نام تصادفی با .local mDNS؛ IP محلی پنهان شده است
فقط IP relay/TURN تماس از relay عبور می‌کند

برای مقایسهٔ کامل IP، DNS و WebRTC از هاب ابزارهای تست VPN استفاده کنید. آن صفحه ابزارها را معرفی می‌کند؛ این مقاله فقط تفسیر و رفع WebRTC را پوشش می‌دهد.

اگر IP عمومی واقعی دیده شد

ابتدا مطمئن شوید VPN در حالت سراسری/TUN است، نه فقط proxy مرورگر یا چند برنامهٔ انتخابی. اگر split tunneling فعال است، مرورگر باید در فهرست برنامه‌های داخل تونل باشد.

سپس این ترتیب را اجرا کنید:

  1. افزونه‌های VPN یا proxy اضافی را خاموش کنید.
  2. مرورگر را کامل ببندید و پس از اتصال VPN دوباره باز کنید.
  3. یک پنجرهٔ Private بدون افزونه‌های غیرضروری آزمایش کنید.
  4. Kill Switch یا گزینهٔ جلوگیری از bypass را در client بررسی کنید.
  5. تست قبل/بعد را دوباره با همان ابزار انجام دهید.

اگر فقط یک مرورگر نشت دارد و دیگری نه، تنظیم یا افزونهٔ همان مرورگر محتمل است. اگر همهٔ مرورگرها IP مستقیم را نشان می‌دهند، routing سیستم یا client را بررسی کنید.

Chrome و Edge

ابتدا افزونه‌های شبکه، تماس و privacy را موقتاً غیرفعال کنید و در Guest/Profile تازه تست بگیرید. flagهای قدیمی اینترنت ممکن است حذف شده یا رفتارشان تغییر کرده باشد؛ یک flag ناشناخته را راه‌حل دائمی فرض نکنید.

اگر سازمان یا client شما policy رسمی برای محدودکردن WebRTC به interface پیش‌فرض دارد، همان policy پشتیبانی‌شده را به‌کار ببرید. خاموش‌کردن کامل WebRTC می‌تواند تماس ویدیویی، اشتراک صفحه و ابزارهای جلسه را خراب کند.

Firefox

در Troubleshoot Mode یا پروفایل تازه تست کنید تا اثر extensionها مشخص شود. تغییر media.peerconnection.enabled به false WebRTC را به‌طور کامل خاموش می‌کند و تماس مرورگری را می‌شکند؛ این گزینه فقط برای آزمون تشخیصی یا زمانی مناسب است که اصلاً WebRTC نیاز ندارید.

اگر با خاموش‌کردن WebRTC هشدار ناپدید شد، هنوز باید علت route بیرون تونل را در VPN یا split tunneling پیدا کنید؛ پنهان‌کردن علامت جای اصلاح مسیر را نمی‌گیرد.

Safari و مرورگر موبایل

در iPhone و iPad کنترل شبکه بیشتر در اختیار iOS و client VPN است. از خاموش‌کردن permission دوربین یا میکروفون انتظار اصلاح route IP نداشته باشید؛ permission رسانه و مسیر شبکه دو موضوع متفاوت‌اند.

VPN را پیش از باز کردن مرورگر وصل کنید، Safari را ببندید و دوباره تست بگیرید. در Android نیز client باید مرورگر را در تونل پوشش دهد؛ اگر per-app VPN فعال است، نام مرورگر را بررسی کنید.

آیا باید WebRTC را کامل خاموش کنیم؟

معمولاً نه. WebRTC برای Google Meet، تماس وب، اشتراک صفحه و بسیاری از ابزارهای پشتیبانی لازم است. هدف درست این است که candidate عمومی از مسیر VPN یا relay بیاید، نه اینکه قابلیت را بدون نیاز حذف کنیم.

خاموش‌کردن کامل فقط یک تست تشخیصی است. بعد از اصلاح routing، تماس آزمایشی برقرار کنید تا صدا، تصویر و screen share سالم باشند.

تفاوت WebRTC leak و DNS leak

WebRTC candidateهای ارتباط بلادرنگ را بررسی می‌کند؛ DNS leak یعنی درخواست تبدیل نام دامنه بیرون تونل رفته است. یکی ممکن است وجود داشته باشد و دیگری نه. صفحهٔ Kill Switch و DNS Leak Protection تفاوت DNS و قطع تونل را توضیح می‌دهد.

پس از هر تغییر، سه تست مستقل بگیرید: IP عمومی، DNS resolver و WebRTC. اتصال دارای مسیر سراسری و تست اولیه را پیش از استفادهٔ طولانی روی همان دستگاه بسنجید؛ ادعای «leak protection» بدون تست نتیجه کافی نیست.

سؤالات متداول

دیدن 192.168.1.10 یعنی IP واقعی من لو رفته؟

این یک آدرس خصوصی شبکهٔ محلی است و از اینترنت route نمی‌شود. آن را با IP عمومی مستقیم خود مقایسه کنید.

نام عجیب با پسوند local چیست؟

مرورگر ممکن است با mDNS آدرس محلی را پشت نام .local پنهان کند. این به‌تنهایی نشت IP عمومی نیست.

بستن permission دوربین WebRTC leak را رفع می‌کند؟

نه لزوماً. permission رسانه با جمع‌آوری candidate شبکه یک موضوع واحد نیست. routing VPN را جدا بررسی کنید.

چرا فقط یک مرورگر IP مستقیم را نشان می‌دهد؟

افزونه، profile، policy یا تنظیم همان مرورگر محتمل است. Guest/Private و مرورگر دوم را برای مقایسه آزمایش کنید.

راه‌حل‌های بالا را انجام دادید و هنوز مشکل باقی است؟

اول با یک کانفیگ سالم رایگان مقایسه کنید؛ اگر مشکل حل شد، بعد پلن مناسب را بخرید

آماده‌ای؟ همین حالا VPN خودت رو بگیر

تست رایگان ۱۰۰ مگابایت — بدون نیاز به کارت اعتباری

به این مقاله امتیاز دهید

هنوز رأی کافی ثبت نشده؛ نظر شما اولین‌ها را می‌سازد.

★ ★ ★ ★ ★

اشتراک‌گذاری این مقاله

آیا این مقاله مفید بود؟

نظرات (۰)

اولین نفری باشید که نظر می‌دهید

نظر شما

بیشتر از تیم ما

مقالات مرتبط

📘 رفع ارور EOF و io: read/write در v2rayNG؛ علت و بررسی
📘 آموزش Karing در اندروید، آیفون و ویندوز؛ نصب تا اتصال
📘 آموزش NPV Tunnel در اندروید و آیفون؛ افزودن اشتراک
✏️ پیشنهاد ویرایش یا گزارش مشکل (تلگرام)
← بازگشت به بلاگ

تست رایگان ۲۴ ساعته v2route

بدون نیاز به پرداخت — مستقیم تو تلگرام دریافت کن

🎁 دریافت تست رایگان از ربات تلگرام
خانه ورود بلاگ