كيف تعرف بماذا بُني موقع ويب؟
تترك برمجيات الموقع علامات يمكن رصدها في ما يرسله: ترويستا الاستجابة Server وX-Powered-By، وأسماء ملفات تعريف ارتباط الجلسة مثل PHPSESSID أو JSESSIONID، ومسارات السكربتات، ووسم meta من نوع generator، وشيفرة مميزة. والبصمة التقنية مطابقة هذه العلامات مع بصمات معروفة؛ وهي تُظهر ما تكشفه الصفحة عن نفسها لا ما هو مثبّت يقيناً، لأن العلامات قد تُحذف أو تُزيَّف أو لا تُضاف إلا بعد تشغيل JavaScript.
ملاحظة أمنية: أرقام الإصدارات في ترويسات الاستجابة تسهّل ربط الموقع بالثغرات المنشورة. احذف قيم Server وX-Powered-By أو اختصرها، وأبقِ البرمجيات محدَّثة بغض النظر عما تقوله الترويسات.
كيفية استخدام كاشف تقنيات المواقع
- أدخل عنوان صفحة عامة، كالصفحة الرئيسية للموقع.
- أبقِ ملف الجلب الافتراضي، أو اختر User-Agent متصفح جوال أو Googlebot لترى هل يقدّم الموقع لهذين العميلين صفحة مختلفة.
- اضغط «اكشف التقنيات» واقرأ الجدول: يذكر كل صف التقنية وفئتها وإصدارها إن ظهر وقوة الإشارة والدليل.
- افحص دليل الصفوف التي ستعتمد عليها، واقرأ قسم «ماذا تقول الإشارات» لمعرفة الإصدارات المكشوفة وحدود الفحص الذي يقرأ صفحة واحدة.
مزايا كاشف تقنيات المواقع
- يجلب صفحة واحدة عبر خادم متقن بمجموعة ترويسات ثابتة (فاحص متقن، أو متصفح جوال، أو User-Agent الخاص بـ Googlebot) ويتبع حتى خمس عمليات إعادة توجيه
- يطابق ترويسات الاستجابة وأسماء ملفات تعريف الارتباط وعناوين السكربتات ووسوم generator ومقاطع HTML مع أكثر من 200 بصمة مكتوبة يدوياً في 15 فئة، من أنظمة إدارة المحتوى والمتاجر الإلكترونية إلى شبكات CDN وأدوات التحليلات ومديري الوسوم
- يعرض الدليل وراء كل صف — الترويسة أو ملف تعريف الارتباط أو السكربت أو الشيفرة التي طابقت — لتتحقق من كل نتيجة بنفسك بدلاً من أن تثق بها
- يصنّف كل صف إلى قوية أو متوسطة أو ضعيفة أو مستنتَجة بحسب دقة العلامات وعدد المستقل منها، ويذكر الإصدار حين تحمله إحدى العلامات
- يسرد ترويسات الاستجابة التي تسمّي البرمجيات (Server وX-Powered-By وX-AspNet-Version وX-Generator وVia) وينبّه إلى ما يكشف منها رقم إصدار
- يصرّح حين تعذّرت قراءة الصفحة كاملة: رمز حالة يدل على خطأ، أو استجابة ليست HTML، أو محتوى قُطع عند 512 كيلوبايت، أو أكثر من 5,000 وسم
- ينزّل جدول التقنيات بصيغة CSV لجرد الأصول أو لمراجعة أمنية
المدخلات والمخرجات
المدخلات
- عنوان الموقع — أي صفحة عامة تبدأ بـ http:// أو https://؛ ويُضاف https:// إلى اسم المضيف المجرد.
- الجلب بصفة — ملف الطلب: User-Agent فاحص متقن، أو User-Agent لمتصفح Chrome حديث على الجوال، أو User-Agent الخاص بـ Googlebot (معلَن ذاتياً، وليس طلباً حقيقياً من Google).
المخرجات
- الملخص — عدد التقنيات التي ظهرت إشاراتها، والإشارات القوية (درجة 90 فأكثر)، والفئات، ورمز حالة HTTP، والسكربتات المفحوصة، وملفات تعريف الارتباط المرصودة.
- تقنيات ظهرت إشاراتها — الاسم والفئة والإصدار إن ظهر وقوة الإشارة والدرجة والدليل الذي طابق؛ ويمكن تنزيله بصيغة CSV.
- حسب الفئة — التقنيات نفسها مجمّعة في فئاتها.
- ماذا تقول الإشارات — معنى النتيجة، والإصدارات المكشوفة، وملاحظات عن Cloudflare والصفوف المستنتَجة.
- الترويسات التي تسمّي البرمجيات، وتفاصيل الجلب، وسلسلة إعادة التوجيه إن وُجدت.
مثال على كاشف تقنيات المواقع
متجر WooCommerce خلف Cloudflare
الإدخال:
عنوان الموقع: https://shop.example.com/ · الجلب بصفة: فاحص متقن (الافتراضي)النتيجة:
Technologies 5 · Strong signals 3 · Categories 5 · HTTP status 200 · Scripts scanned 1 · Cookies seen 1
Cloudflare — CDN / edge network — Strong (100): Header cf-ray: 8d2f1a2b3c4d5e6f-FRA · Header server: cloudflare
WordPress 6.6.2 — CMS / site builder — Strong (100): Script /wp-includes/js/jquery/jquery.min.js?ver=3.7.1 · Meta tag generator: WordPress 6.6.2 · HTML: /wp-content/plugins/ · HTML: /wp-includes/ · Implied by WooCommerce
WooCommerce — E-commerce — Strong (95): Cookie wp_woocommerce_session_abc · HTML: /wp-content/plugins/woocommerce/
jQuery 3.7.1 — JavaScript library — Moderate (85): Script /wp-includes/js/jquery/jquery.min.js?ver=3.7.1
PHP 8.2.24 — Programming language — Moderate (85): Header x-powered-by: PHP/8.2.24 · Implied by WordPress
The x-powered-by header discloses a software version (PHP/8.2.24).كيف تقرأ نتائج كاشف تقنيات المواقع
القوية تعني درجة 90 فأكثر: علامة شديدة التحديد (وسم generator أو ترويسة خاصة بمنتج) أو عدة علامات مستقلة متفقة. والمتوسطة (70–89) غالباً علامة واحدة جيدة، والضعيفة (أقل من 70) علامة عامة واحدة تستحق التحقق اليدوي.
الصفوف المستنتَجة لم تُرَ مباشرة، بل تلزم من تقنية أخرى ظهرت، مثل PHP خلف WordPress. وإذا ظهر المنتج واستُنتج معاً، فعلاماته هو التي تحدد درجته.
الدرجة ترتّب قوة الدليل ولا تعبّر عن احتمال. فقد يتضمن الموقع مكتبة لا يستخدمها، أو يُبقي وسم generator قديماً بعد الانتقال، أو يرسل ترويسة Server مضلِّلة.
القائمة الفارغة أو القصيرة لا تعني أن الموقع لا يستخدم شيئاً. فتطبيقات الصفحة الواحدة، والسكربتات التي يحمّلها مدير الوسوم، والخوادم التي تحذف الترويسات تترك علامات قليلة في HTML الذي يرسله الخادم.
متى تستخدم كاشف تقنيات المواقع
- قبل تقييم أمني أو اختبار اختراق، اجرد البرمجيات الظاهرة لموقع ضمن النطاق، وسجّل أرقام الإصدارات التي تكشفها ترويساته.
- تأكد من اكتمال الانتقال: بعد الانتقال إلى نظام إدارة محتوى أو CDN أو أداة تحليلات جديدة، تحقق من اختفاء العلامات القديمة وظهور الجديدة.
- اعرف بماذا بُني موقع منافس أو عميل قبل تقدير مشروع إعادة تصميم أو تكامل أو خطة اختبار.
- تحقق من اكتمال مراجعة الخصوصية: اعرف أدوات التحليلات ومديري الوسوم وبكسلات التسويق التي تحمّلها الصفحة مباشرة.
استكشاف الأخطاء وإصلاحها
- لا يظهر إلا Cloudflare (أو شبكة CDN أخرى): تستبدل الشبكة ترويسة Server وتخفي الخادم الأصلي. قد يظهر نظام إدارة المحتوى والأطر في ملفات تعريف الارتباط وHTML، أما إن كانت الصفحة هيكلاً فارغاً يملؤه JavaScript فلن يظهر إلا القليل.
- أعادت الصفحة 403 أو 503 مع صفحة تحقّق: بعض المواقع تحظر العملاء الآليين أو تعرض لهم اختباراً للتحقق من البشر. عندها تصف الصفوف صفحة التحقق لا الموقع؛ جرّب ملف الجوال أو صفحة أخرى من الموقع.
- الاستجابة JSON أو ملف وليست HTML: وجّه الأداة إلى صفحة HTML كالصفحة الرئيسية، وإلا فلن تُفحص إلا الترويسات وملفات تعريف الارتباط.
- رفض برسالة مثل «This address cannot be reached from the Mutqan server»: يُحل المضيف إلى عنوان خاص أو محجوز، أو يستخدم منفذاً لا يتصل به الخادم. لا تُفحص إلا المواقع العامة.
الأسئلة الشائعة حول كاشف تقنيات المواقع
كيف تعرف الأداة التقنيات التي يستخدمها الموقع؟
تبحث عن علامات يتركها كل منتج في الصفحة: ترويسة Server أو X-Powered-By، أو اسم ملف تعريف ارتباط مثل PHPSESSID أو wordpress_logged_in، أو مسار سكربت مثل /wp-includes/js/، أو وسم meta من نوع generator، أو مقطع من الشيفرة. ويسرد كل صف العلامات التي طابقت، فتستطيع التحقق من الدليل بنفسك بدلاً من الاكتفاء بالتسمية.
ماذا تعني قوة الإشارة والدرجة؟
تبدأ الدرجة من مدى دقة العلامة الأولى (وسم generator يسمّي WordPress أقوى من مسار سكربت عام)، وتزيد عشر نقاط مع كل علامة مستقلة إضافية حتى 100. أما الصفوف المستنتَجة (كـ PHP المستنتَجة من WordPress) فتنقص عشر نقاط عن التقنية التي استُنتجت منها. الدرجة ترتّب قوة الدليل، وليست احتمالاً لاستخدام الموقع هذا المنتج.
لماذا لا تظهر تقنية أعرف أن الموقع يستخدمها؟
تُقرأ صفحة واحدة كما يرسلها الخادم، دون تشغيل JavaScript. فالمكتبات التي يحقنها مدير وسوم، والأطر التي لا تترك علامة في HTML المولَّد على الخادم، والبرمجيات خلف وكيل يعيد كتابة الترويسات، والأدوات المستخدمة في صفحات أخرى فقط — كلها لا تظهر. غياب الإشارة ليس دليلاً على غياب التقنية.
هل يمكن للموقع تزييف هذه الإشارات أو إخفاؤها؟
نعم. يمكن حذف الترويسات أو تعديلها، وقد تتضمن الصفحة مكتبة لا تستخدمها، وبعض المواقع ترسل قيم Server مضلِّلة عمداً. تعامل مع النتائج على أنها ما تقوله الصفحة عن نفسها، وتحقق من أي أمر مهم مع مالك الموقع.
لماذا تظهر Cloudflare في نتائج مواقع كثيرة جداً؟
كثير من المواقع تعمل خلف Cloudflare، التي تضيف ترويستَي cf-ray وserver: cloudflare إلى كل استجابة. هذه شبكة CDN الواقفة أمام الموقع، والخادم الأصلي خلفها يكون مخفياً عادةً، لذلك قد يغيب صف خادم الويب أو يحمل اسم الشبكة.
ملاحظات تقنية
تُطلب الصفحة عبر POST /api/v1/internet/http/fetch: يحلّ خادم متقن اسم المضيف عبر DNS over HTTPS، ويرفض العناوين الخاصة والمحجوزة، ويرسل واحدة من أربع مجموعات ترويسات ثابتة، ويتبع خمس عمليات إعادة توجيه على الأكثر مع التحقق من كل واحدة. ويعيد رمز الحالة والترويسات (مع ضم قيم Set-Cookie المتعددة) وأول 512 كيلوبايت من المحتوى، ثم تجري المطابقة في متصفحك.
الاكتشاف هنا مطابقة بصمات لا استنتاج. تسرد البصمة أنماطاً للترويسات وأسماء ملفات تعريف الارتباط وعناوين السكربتات ووسوم meta وشيفرة HTML وعنوان الصفحة، كُتبت من توثيق كل منتج أو من الشيفرة التي يطلب تضمينها. والدرجة هي قيمة البصمة الأساسية للعلامة الأولى مضافاً إليها عشر نقاط لكل علامة مستقلة أخرى بحد أقصى 100، والمنتج المستنتَج من غيره (WooCommerce تستلزم WordPress، وWordPress يستلزم PHP) يأخذ عشر نقاط أقل. وحقلا الترويسة Server وVia معرّفان في RFC 9110 (القسمان 10.2.4 و7.6.3).
تُفحص شيفرة HTML مرة واحدة كنص، حتى 2 ميغابايت و5,000 وسم، بأنماط محدودة التكرار حتى لا تبطئ الصفحة الكبيرة أو العدائية الفحص. ولا يُنفَّذ شيء منها، فالإطار الذي لا يظهر إلا بعد تشغيل JavaScript لا يُرى هنا.
الحدود ومنهجية القياس
تُقرأ صفحة واحدة مرة واحدة، من خادم متقن على شبكة Cloudflare، دون تشغيل JavaScript. فالبرمجيات المستخدمة في صفحات أخرى فقط، أو التي تحمّلها السكربتات لاحقاً، أو التي تُرسَم في المتصفح لا تُرى.
قائمة البصمات مكتوبة يدوياً وتغطي المنتجات الواسعة الانتشار؛ أما التقنية النادرة أو المخصصة فليست لها بصمة ولا يمكن تسميتها. ويستطيع الموقع حذف الترويسات وملفات تعريف الارتباط والشيفرة أو تزييفها.
لا يُقرأ أكثر من 512 كيلوبايت من HTML؛ فالعلامات الواقعة أسفل صفحة كبيرة جداً تفوت الفحص، وتذكر النتيجة ذلك.
الأمان والخصوصية
لا يُرسل إلى خادم متقن إلا العنوان الذي تدخله، فيطلب الخادم تلك الصفحة مرة واحدة بمجموعة ترويسات ثابتة دون أي من ملفات تعريف الارتباط الخاصة بك، ويعيد الإجابة دون الاحتفاظ بها. وتجري المطابقة في متصفحك، ولا تُعرض شيفرة HTML المجلوبة أبداً.
المراجع
- OWASP Web Security Testing Guide (WSTG)المنهجية المرجعية لاختبار تطبيقات الويب وواجهات API بحثاً عن نقاط الضعف الأمنية، اختباراً تلو الآخر.
- Server header — MDNترويسة الاستجابة Server تسمّي البرمجية التي أنتجت الاستجابة، وتحذّر MDN من أن تفاصيل الإصدار الدقيقة فيها قد تسهّل العثور على الثغرات المعروفة.
- RFC 9110: HTTP Semanticsمعاني أساليب HTTP وحقول الترويسات ورموز الحالة والتفاوض على المحتوى، بغضّ النظر عن إصدار البروتوكول.