STACKDUST
EN
واجهة نظام Scanopy للتوثيق الآلي للشبكات ورسم المخططات الهيكلية توضح الروابط الفيزيائية والشبكات الفرعية وحاويات العمل

مشروع Scanopy: التوثيق الآلي ورسم المخططات الهيكلية الحية للشبكات المحلية


مشروع Scanopy: التوثيق الآلي للشبكات ورسم المخططات الهيكلية الحية للخوادم والمختبرات المنزلية

يعد توثيق البنية التحتية للشبكات من أكثر المهام التقنية إهمالا في بيئات هندسة النظم. يمضي المهندسون ساعات طويلة في رسم المخططات يدويا عبر أدوات مثل draw.io أو Microsoft Visio، لتفقد تلك المخططات دقتها فور إطلاق خادم افتراضي جديد أو نقل موزع شبكي لموقع آخر. كما تعبر شفرات البنية التحتية كرمز (IaC) عن النوايا البرمجية لا الواقع الفعلي، وتفشل غالبا في رصد الانحرافات التشغيلية والتعديلات اليدوية الطارئة أو الأجهزة الدخيلة على الشبكات الفرعية.

يعالج مشروع Scanopy، المنشور تحت رخصة البرمجيات الحرة AGPL-3.0 بأكثر من 5,700 نجمة على GitHub، هذه المعضلة التشغيلية. فمع إطلاق الإصدار v0.17.15 في 15 سبتمبر 2026، يقدم Scanopy محرك مسح آلي يحول قياسات الشبكة النشطة إلى خرائط معمارية تفاعلية تتحدث ذاتيا.

ما هو نظام Scanopy

منصة مستضافة ذاتيا لاكتشاف الشبكات وتوثيق مخططاتها الهيكلية تلقائيا. تعتمد المنصة على عميل مسح مجدول يولد أربع طبقات تشغيلية مترابطة من خلال عملية فحص واحدة: الروابط الفيزيائية للموزعات في الطبقة الثانية (L2)، والشبكات الفرعية في الطبقة الثالثة (L3)، وأحمال الخوادم، واعتماديات الخدمات البرمجية والتطبيقات.

بدلا من إنتاج صور نقطية ثابتة تتقادم بمرور الوقت، يولد Scanopy خرائط ويب تفاعلية تتيح فحص منافذ الموزعات بدقة، والتحقق من حدود شبكات VLAN، وتتبع الحاويات البرمجية المشغلة على خوادم المحاكاة الافتراضية Proxmox VE، مع تصدير المخططات الحية بصيغ Mermaid وSVG وربطها بالتوثيق المؤسسي.

لماذا لم تسمع عنه من قبل

انقسمت أدوات مسح ورسم الشبكات تاريخيا بين اتجاهين: منصات مؤسسية عملاقة لإدارة تكوينات الشبكات (NCCM) باهظة التكلفة، أو أدوات مسح عبر الطرفية مثل Nmap وأدوات تتبع الأجهزة السلبية مثل NetAlertX التي تكتفي بسرد عناوين IP في جداول مصمتة دون تكوين مخطط بصري مترابط.

يسد Scanopy هذه الفجوة بالتركيز المباشر على مخرجات التوثيق البصري. فبدلا من عرض قوائم عناوين MAC المعقدة، يعتمد Scanopy على بروتوكولات الاكتشاف النشطة مثل LLDP وCDP وSNMP وARP ومقابس دوكر لتوضيح كيفية ترابط الأصول الفيزيائية والمنطقية. وقد شهد المشروع إقبالا واسعا في مجتمعات المختبرات المنزلية وإدارة النظم خلال عام 2026 كبديل عصري للرسم اليدوي المرهق.

كيف يعمل النظام برمجيا

يقسم Scanopy المسؤوليات التشغيلية بين عميل فحص محلي ذي صلاحيات متقدمة، وقاعدة بيانات PostgreSQL لتسجيل التغييرات الزمنية، وخادم ويب تفاعلي:

مسار الاكتشاف والتوثيق الآلي في نظام Scanopy
1. الاستكشاف الدوري عبر البروتوكولات عميل المسح

يفحص عميل Scanopy الواجهات المحلية، وجداول LLDP وCDP، وسجلات التوجيه عبر SNMP، ومقبس دوكر المضيف.

2. معالجة البيانات ومطابقة الطوبولوجيا محرك PostgreSQL

ترسل البيانات للخادم المركزي لمطابقة عناوين MAC بالمنافذ الفيزيائية ورصد الانحرافات وتسجيل التغييرات الطارئة.

3. بناء المخططات الهيكلية متعددة الطبقات 4 مناظير مخصصة

يربط محرك الرسوم البيانية بين منافذ الموزعات (L2)، والشبكات الفرعية (L3)، وخوادم المحاكاة، وحاويات التطبيقات.

4. العرض التفاعلي وتصدير التوثيق المنفذ 60072

يستعرض المهندسون المخططات الحية لحظيا، مع إمكانية تصدير شفرات Mermaid وصور SVG أو تضمين الخرائط في الويكي الداخلي.

الطبقات الأربع للبنية التحتية

ينظم Scanopy بيانات الشبكة المعقدة في أربعة مناظير متخصصة لمنع تشويش المخططات:

  1. الطبقة الفيزيائية (L2): تعرض الموزعات المدارة، والمنافذ الفيزيائية، ومنافذ التجميع Trunk، والأسلاك المتصلة. وعبر استعلام قواعد Bridge MIB وبروتوكول LLDP، يوضح النظام المنفذ الدقيق الذي يتصل به كل جهاز.
  2. الطبقة المنطقية (L3): توضح حدود الشبكات الفرعية، والبوابات الافتراضية، ونطاقات DHCP، وتوزيعات VLAN، مبرزة مسارات التوجيه بين الشبكات.
  3. طبقة أحمال الخوادم (Workloads): تربط البنية التحتية الفيزيائية بموارد الحوسبة، جامعة الخوادم الفعلية، والأجهزة الافتراضية، وحاويات دوكر بحسب الخادم المشغل لها.
  4. طبقة التطبيقات (Applications): تحدد اعتماديات الخدمات البرمجية، والمنافذ المفتوحة، ومسارات تدفق البيانات بين واجهات الويب وقواعد البيانات الخلفية.

الرصد الآلي لانحرافات الشبكة

عند انتقال جهاز من منفذ لآخر أو انضمام عتاد غير مصرح به لشبكة VLAN خاصة، تفقد المستندات اليدوية قيمتها فورا. يقوم Scanopy بمسح مستمر وفق جداول زمنية مرنة (مثل الفحص كل ساعة أو يوميا)، ليسجل أي اختلاف في سجل التدقيق فور حدوثه.

ولدعم مسارات التوثيق البرمجي، يتيح Scanopy تحويل المخططات الحية تلقائيا إلى شفرات بصيغة Mermaid، مما يمكن فرق العمليات من تضمين مخططات الشبكة المحدثة ذاتيا داخل مستودعات Git جنبا إلى جنب مع شفرات المشاريع.

جدول المقارنة التقنية

مقارنة أنظمة توثيق ومسح الشبكات

وجه المقارنةScanopyNetBoxdraw.io وVisioNetAlertX
نموذج التوثيقاكتشاف ورسم آلي محدث باستمرارمصدر حقيقة يدوي (DCIM وIPAM)رسم يدوي جامد وثابتقائمة أجهزة في جداول
رسم روابط الطبقة الثانية L2آلي عبر LLDP وSNMPتوثيق يدوي لكل كيبل ومنفذرسم يدوي للأشكالتتبع ARP وMAC فقط
تتبع الحاويات والأحمالربط مدمج بمقبس دوكر المضيفيتطلب إضافات وضبط يدويأشكال ثابتة غير تفاعليةفحص عناوين IP فقط
خيارات التصديرويب تفاعلي، SVG، وMermaidواجهات REST API وWebhooksملفات XML وPNG وPDFتصدير CSV وAPI
كشف الانحرافات والتغييراترصد بصري آلي للتغييراتمطابقة وتدقيق يدويغير متاح (تتقادم سريعا)تنبيهات انضمام الأجهزة
تعقيد التثبيت والتشغيلدوكر كومبوز (خادم، عميل، قاعدة)بيئة متعددة (Django وRedis)تطبيق مكتبي أو متصفححاوية دوكر واحدة

التشغيل والتثبيت

يعتمد تشغيل Scanopy على ملف Docker Compose متعدد الخدمات يشمل خادم الويب، وقاعدة بيانات PostgreSQL، وعميل المسح المحلي ذو الصلاحيات الموسعة:

docker-compose.yml
services:
  daemon:
    image: ghcr.io/scanopy/scanopy/daemon:latest
    container_name: scanopy-daemon
    network_mode: host
    privileged: true
    restart: unless-stopped
    environment:
      - SCANOPY_LOG_LEVEL=info
      - SCANOPY_SERVER_URL=http://127.0.0.1:60072
    volumes:
      - daemon-config:/root/.config/scanopy/daemon
      - /var/run/docker.sock:/var/run/docker.sock:ro

  postgres:
    image: postgres:17-alpine
    container_name: scanopy-postgres
    restart: unless-stopped
    environment:
      - POSTGRES_DB=scanopy
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=replace_with_a_secure_database_password
    volumes:
      - postgres_data:/var/lib/postgresql/data

  server:
    image: ghcr.io/scanopy/scanopy/server:latest
    container_name: scanopy-server
    restart: unless-stopped
    ports:
      - "60072:60072"
    environment:
      - SCANOPY_LOG_LEVEL=info
      - SCANOPY_DATABASE_URL=postgresql://postgres:replace_with_a_secure_database_password@postgres:5432/scanopy
      - SCANOPY_PUBLIC_URL=http://localhost:60072
    volumes:
      - ./data:/data
    depends_on:
      - postgres
      - daemon

volumes:
  postgres_data:
  daemon-config:

عقب بدء الحاويات، افتح بوابة الويب عبر الرابط http://<server-ip>:60072 لإنشاء الحساب الإداري. سيبدأ العميل تلقائيا دورة الفحص الأولى لاكتشاف الأجهزة والروابط عبر الشبكات المتصلة.

ما الذي يحل محله النظام

يحل Scanopy محل المخططات الهيكلية الجامدة المرسومة يدويا عبر أدوات مثل draw.io وVisio وLucidchart التي تفقد مصداقيتها بعد أسابيع من إعدادها. وفي حين تقدم أدوات المسح مثل LAN-Orangutan فحصا أوليا للمنافذ، يضع Scanopy تلك الأجهزة في سياقها الشبكي المترابط. كما يتكامل بفاعلية مع منصات إدارة مراكز البيانات NetBox للتحقق من مطابقة الواقع الميداني لما هو مسجل في السجلات الإدارية.

القيود والمآخذ التقنية

  1. قصور الموزعات غير المدارة (Unmanaged Switches): يعتمد Scanopy على بروتوكولات الإدارة القياسية مثل SNMP وLLDP لتحديد منافذ الموزعات بدقة. والموزعات الرخيصة غير المدارة التي لا تدعم هذه البروتوكولات تظهر كقطاعات شبكية مجمعة دون تحديد دقيق للمنافذ.
  2. متطلبات الصلاحيات الموسعة للعميل: لتوليد حزم ARP وفحص الواجهات المنطقية ومقبس دوكر، يتطلب عميل المسح صلاحيات privileged: true ووضع الشبكة المباشر network_mode: host.
  3. النطاق في الشبكات المؤسسية العملاقة: تتطلب تغطية الشبكات المؤسسية الواسعة المقسمة إلى مئات جداول التوجيه VRF المستقلة نشر عدة عملاء فحص موزعين عبر كل نطاق أمني معزول.

الفئات المستفيدة

يعد Scanopy منصة مثالية لمهندسي الشبكات، ومديري المختبرات المنزلية، وفرق DevOps الذين يحتاجون إلى توثيق هيكلي دقيق ومحدث باستمرار لعمليات التدقيق والتخطيط دون إهدار ساعات العمل في رسم المربعات والأسهم يدويا.

التقييم النهائي

يردم Scanopy الهوة بين أدوات فحص عناوين IP البسيطة وبرامج الرسم اليدوي للمخططات عبر تحويل بيانات الموزعات والشبكات الفرعية ومنافذ الحاويات دوريا إلى خرائط طوبولوجية تفاعلية. وتتيح إمكانية تصدير تلك المخططات بصيغ SVG وMermaid لفرق هندسة النظم حفظ وتتبع وثائق البنية التحتية بالتزامن مع مستودعات الشفرات البرمجية.

المصادر


→المقال التاليواجهة برمجة رسائل أنثروبيك تضيف ضغط المحادثات عند الطلب: تحكم برمجي في سياق الوكلاءالمقال السابق←نظام Beszel: منصة خفيفة ومستضافة ذاتيا لمراقبة أداء الخوادم وحاويات دوكر