هل تحظرك المواقع فقط عند تشغيل VPN؟ هذا ما تراه
الحجب عادةً هو عنوان الخروج، لا تسريب. تحقّق من الشبكة التي يظهر منها مرورك، ومن المُحلِّل الذي يمكن لموقع أن يسجّله، وما تعرفه شيفرة الصفحة.
يعمل المتجر بسلاسة في المنزل ويعرض جدارًا من «حركة غير معتادة» في اللحظة التي يبدأ فيها النفق. يرفض منتدى تسجيل دخولك، وتصرّ صفحة بث على أنك في بلد لم تزره قط. لا شيء من ذلك يحتاج إلى برامج تجسس. يرى الموقع العنوان الذي تصل منه حزمك، ومع VPN ينتمي ذلك العنوان إلى مركز بيانات بدلًا من خط منزلي. معظم ما يُسمى كشف VPN يبدأ وينتهي بهذه الحقيقة الواحدة، والبقية استنتاج بمعدل خطأ متوقّع.
الحجب يبدأ من المكان الذي تبدو حزمك قادمة منه
كل طلب يحمل عنوان مصدر، ويمكن للخادم المتلقّي البحث عنه في بيانات عامة: أي شبكة تعلنه، وهل تلك الشبكة مزوّد استضافة، وهل ظهر في قوائم الإساءة، وأي بلد يخصّصه السجل. لا شيء من ذلك يعرّف بهويتك، وكل ذلك كافٍ لفرزك في خانة.
انظر إلى مرورك كما ينظر إليه غريب. يكفي أمران لتغطية معظم السطح، والثاني هو ما ينساه الناس:
curl -sS https://ipinfo.io/json
dig +short TXT o-o.myaddr.l.google.com @ns1.google.com
يعيد الأول عنوان الخروج ومؤسسته وبلده. يعيد الثاني عنوان المُحلِّل الذي وصل إلى خادم أسماء Google، وهو غالبًا شبكة مختلفة عن خروجك، وهو العنوان الذي يراه الموقع إذا سجّل بيانات جانب المُحلِّل. عندما ينتمي هذان إلى بلدين مختلفين، تعتبر بعض المواقع هذا التعارض مشبوهًا حتى مع عدم وجود خطأ في إعدادك.
عندما يبدأ الرفض فقط بعد ارتفاع النفق، اشتبه في عنوان الخروج قبل أي شيء آخر. بدّل الخوادم وأعد المحاولة قبل أن تلمس المتصفح. الحجب الذي يتبعك عبر ثلاثة مخارج من المزوّد نفسه يتعلّق بنطاقات المزوّد؛ والحجب الذي يختفي على خادم آخر يتعلّق بذلك العنوان الواحد.
المنطقة الزمنية واللغة والساعة لا تتوافق مع العنوان
يمكن لشيفرة الصفحة قراءة منطقتك الزمنية وتفضيلات لغتك وإعدادات شاشتك من دون أي مطالبة بإذن. المتصفح الذي يبلّغ عن توقيت أوروبا الوسطى بينما يصل الاتصال من مركز بيانات في سنغافورة إشارة أقوى من العنوان وحده، وهو نوع التعارض الذي بُني تقييم الاحتيال لملاحظته.
Intl.DateTimeFormat().resolvedOptions().timeZone
navigator.language
Intl.DateTimeFormat().resolvedOptions().locale
تخبرك تلك الأسطر الثلاثة في وحدة تحكم المطوّر بما يتطوّع به متصفحك. يمكن لعميل VPN تغيير مسارك ولا شيء آخر، فيبقى الملف الشخصي الذي تحمله محليًا بينما خروجك ليس كذلك. الاتساق هو المهم هنا: الحاسوب المحمول المضبوط على المنطقة نفسها التي عليها الخروج يبدو عاديًا، والحاسوب الذي يناقض نفسه لا يبدو كذلك.
ولهذا أيضًا يكون الفشل متقطعًا. كثير من المواقع لا تهتم، وقليل منها يقيّمه، وموقع عضوية واحد يقرّر أنك محتال. العميل يعمل بشكل صحيح في الحالات الثلاث، ولهذا فإن جواب الدعم المعتاد، «لا بد أنه متصفحك»، مزعج وصحيح جزئيًا في الوقت نفسه.
ما تعرفه شيفرة الصفحة فعليًا عن جهازك
لا يملك JavaScript أي واجهة برمجية تسرد واجهات الشبكة. لا يمكن للصفحة أن تسأل عن العناوين التي يحملها حاسوبك المحمول، لذا فإن الادعاء القديم بأن نصًا يقرأ عنوان LAN الخاص بك هو في الغالب ذكرى من عصر الملحقات، حين كانت عناصر ActiveX وتطبيقات Java والشيفرة الأصلية الأخرى قادرة على ذلك بالضبط.
| Signal | What it reveals | Status today |
|---|---|---|
| Source address of the request | Exit network, country, hosting status | Always visible; the main signal |
| Time zone and language | Where the profile claims to be | Readable without permission |
| WebRTC candidates | Local addresses, historically | Host candidates are mDNS-obfuscated by default |
| Interface list | All local addresses | Not available to ordinary JavaScript |
WebRTC هو الاستثناء الصادق لقاعدة «لا تسريب للعناوين المحلية». كان جمع المرشّحات فيه يعرّض العناوين المحلية لأي صفحة تسأل، وكان الإصلاح استبدال مرشّحات المضيف بأسماء mDNS عشوائية. يسري هذا الافتراضي في المتصفحات الحالية، لكنه قرار متصفح لا ضمان بروتوكول، لذا قد يسرّب بناء قديم أو إعداد مشدّد يعيد تمكين المرشّحات المحلية. تحديث المتصفح يفيدك هنا أكثر من أي إضافة.
مزوّدك يرى الأسماء، لا المحتويات
يحمي HTTPS محتوى الصفحة من طرف إلى طرف، ولا يمكن لمشغّل النفق الذي يمرّر تلك البايتات قراءته. لا يزال بإمكان المشغّل رؤية العنوان الذي اتصلت به، وفي معظم عمليات النشر اسم الخادم في المصافحة، لأن الاسم يجب أن يكون مقروءًا لتوجيه الاتصال إلى الموقع الصحيح. يوجد Encrypted Client Hello تحديدًا لإخفاء ذلك الحقل، ولا يفيد إلا عندما يدعمه كل من العميل والموقع.
تحليل الأسماء هو النصف الآخر. إذا كان مزوّدك يوفّر المُحلِّل أيضًا، فسيرى كل اسم تبحث عنه قبل وجود أي اتصال. إذا كان جهازك يستخدم مُحلِّلًا عامًا عبر HTTPS، فسيرى المزوّد اتصالًا بذلك المُحلِّل ولا شيء غير ذلك، بينما يرى المُحلِّل نفسه القائمة.
طلب HTTP غير المشفّر مقروء للمشغّل للسبب نفسه الذي يجعله مقروءًا لشبكة الفندق: لا شيء داخله مشفّر. لم يدّعِ النفق غير ذلك يومًا، وهو لا يصلح اختيار التطبيق.
افصل بين «هذا VPN» و«هذا أنا»
الكشف رخيص واحتمالي وخاطئ في كثير من الأحيان. تُعلَّم عناوين الخروج المشتركة لأن شخصًا آخر أساء استخدامها، وتُصنَّف نطاقات الشركات كاستضافة، وتنتج شركات الاتصالات المتنقلة نتائج جغرافية تفاجئ الجميع. التحديد مشكلة مختلفة: يحتاج إلى صلة دائمة مثل حساب سجّلت الدخول إليه، أو ملف تعريف ارتباط، أو تفصيل دفع، أو مراقبَين يقارنان ملاحظاتهما.
قرّر أي المعركتين تخوض فعلًا. إذا كان الهدف قراءة صفحة، فـ HTTPS يؤدي ذلك العمل بالفعل ولا يغيّر النفق الكثير. إذا كان الهدف منع الموقع من معرفة المدينة التي أنت فيها، فعنوان الخروج والمُحلِّل هما ما يهم. إذا كان الهدف كسر الصلة بهويتك الحقيقية، فالحساب هو نقطة الضعف، وتغيير الخوادم لا يفعل شيئًا بشأن تسجيل الدخول الذي استخدمته للتو.
لا يسجّل خروج جديد خروجك من أي شيء، ولا يمكنه محو ما خزّنه موقع بالفعل عن الحساب الذي استخدمته. لذا فإن التسلسل العملي غير مبهر: اختر خروجًا تبدو شبكته عادية، وأبقِ ملف المتصفح متسقًا معه، وحدّث المتصفح كي تستخدم الميزات المعرّضة للتسريب افتراضياتها الحديثة، واقبل أن عددًا صغيرًا من المواقع سيظل يخطئ في حقك.