
مشروع 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 الواجهات المحلية، وجداول LLDP وCDP، وسجلات التوجيه عبر SNMP، ومقبس دوكر المضيف.
ترسل البيانات للخادم المركزي لمطابقة عناوين MAC بالمنافذ الفيزيائية ورصد الانحرافات وتسجيل التغييرات الطارئة.
يربط محرك الرسوم البيانية بين منافذ الموزعات (L2)، والشبكات الفرعية (L3)، وخوادم المحاكاة، وحاويات التطبيقات.
يستعرض المهندسون المخططات الحية لحظيا، مع إمكانية تصدير شفرات Mermaid وصور SVG أو تضمين الخرائط في الويكي الداخلي.
الطبقات الأربع للبنية التحتية
ينظم Scanopy بيانات الشبكة المعقدة في أربعة مناظير متخصصة لمنع تشويش المخططات:
- الطبقة الفيزيائية (L2): تعرض الموزعات المدارة، والمنافذ الفيزيائية، ومنافذ التجميع Trunk، والأسلاك المتصلة. وعبر استعلام قواعد Bridge MIB وبروتوكول LLDP، يوضح النظام المنفذ الدقيق الذي يتصل به كل جهاز.
- الطبقة المنطقية (L3): توضح حدود الشبكات الفرعية، والبوابات الافتراضية، ونطاقات DHCP، وتوزيعات VLAN، مبرزة مسارات التوجيه بين الشبكات.
- طبقة أحمال الخوادم (Workloads): تربط البنية التحتية الفيزيائية بموارد الحوسبة، جامعة الخوادم الفعلية، والأجهزة الافتراضية، وحاويات دوكر بحسب الخادم المشغل لها.
- طبقة التطبيقات (Applications): تحدد اعتماديات الخدمات البرمجية، والمنافذ المفتوحة، ومسارات تدفق البيانات بين واجهات الويب وقواعد البيانات الخلفية.
الرصد الآلي لانحرافات الشبكة
عند انتقال جهاز من منفذ لآخر أو انضمام عتاد غير مصرح به لشبكة VLAN خاصة، تفقد المستندات اليدوية قيمتها فورا. يقوم Scanopy بمسح مستمر وفق جداول زمنية مرنة (مثل الفحص كل ساعة أو يوميا)، ليسجل أي اختلاف في سجل التدقيق فور حدوثه.
ولدعم مسارات التوثيق البرمجي، يتيح Scanopy تحويل المخططات الحية تلقائيا إلى شفرات بصيغة Mermaid، مما يمكن فرق العمليات من تضمين مخططات الشبكة المحدثة ذاتيا داخل مستودعات Git جنبا إلى جنب مع شفرات المشاريع.
جدول المقارنة التقنية
مقارنة أنظمة توثيق ومسح الشبكات
| وجه المقارنة | Scanopy | NetBox | draw.io وVisio | NetAlertX |
|---|---|---|---|---|
| نموذج التوثيق | اكتشاف ورسم آلي محدث باستمرار | مصدر حقيقة يدوي (DCIM وIPAM) | رسم يدوي جامد وثابت | قائمة أجهزة في جداول |
| رسم روابط الطبقة الثانية L2 | آلي عبر LLDP وSNMP | توثيق يدوي لكل كيبل ومنفذ | رسم يدوي للأشكال | تتبع ARP وMAC فقط |
| تتبع الحاويات والأحمال | ربط مدمج بمقبس دوكر المضيف | يتطلب إضافات وضبط يدوي | أشكال ثابتة غير تفاعلية | فحص عناوين IP فقط |
| خيارات التصدير | ويب تفاعلي، SVG، وMermaid | واجهات REST API وWebhooks | ملفات XML وPNG وPDF | تصدير CSV وAPI |
| كشف الانحرافات والتغييرات | رصد بصري آلي للتغييرات | مطابقة وتدقيق يدوي | غير متاح (تتقادم سريعا) | تنبيهات انضمام الأجهزة |
| تعقيد التثبيت والتشغيل | دوكر كومبوز (خادم، عميل، قاعدة) | بيئة متعددة (Django وRedis) | تطبيق مكتبي أو متصفح | حاوية دوكر واحدة |
التشغيل والتثبيت
يعتمد تشغيل Scanopy على ملف Docker Compose متعدد الخدمات يشمل خادم الويب، وقاعدة بيانات PostgreSQL، وعميل المسح المحلي ذو الصلاحيات الموسعة:
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 للتحقق من مطابقة الواقع الميداني لما هو مسجل في السجلات الإدارية.
القيود والمآخذ التقنية
- قصور الموزعات غير المدارة (Unmanaged Switches): يعتمد Scanopy على بروتوكولات الإدارة القياسية مثل SNMP وLLDP لتحديد منافذ الموزعات بدقة. والموزعات الرخيصة غير المدارة التي لا تدعم هذه البروتوكولات تظهر كقطاعات شبكية مجمعة دون تحديد دقيق للمنافذ.
- متطلبات الصلاحيات الموسعة للعميل: لتوليد حزم ARP وفحص الواجهات المنطقية ومقبس دوكر، يتطلب عميل المسح صلاحيات
privileged: trueووضع الشبكة المباشرnetwork_mode: host. - النطاق في الشبكات المؤسسية العملاقة: تتطلب تغطية الشبكات المؤسسية الواسعة المقسمة إلى مئات جداول التوجيه VRF المستقلة نشر عدة عملاء فحص موزعين عبر كل نطاق أمني معزول.
الفئات المستفيدة
يعد Scanopy منصة مثالية لمهندسي الشبكات، ومديري المختبرات المنزلية، وفرق DevOps الذين يحتاجون إلى توثيق هيكلي دقيق ومحدث باستمرار لعمليات التدقيق والتخطيط دون إهدار ساعات العمل في رسم المربعات والأسهم يدويا.
التقييم النهائي
يردم Scanopy الهوة بين أدوات فحص عناوين IP البسيطة وبرامج الرسم اليدوي للمخططات عبر تحويل بيانات الموزعات والشبكات الفرعية ومنافذ الحاويات دوريا إلى خرائط طوبولوجية تفاعلية. وتتيح إمكانية تصدير تلك المخططات بصيغ SVG وMermaid لفرق هندسة النظم حفظ وتتبع وثائق البنية التحتية بالتزامن مع مستودعات الشفرات البرمجية.