ماسح الشبكة المحلية
واجهة مستخدم رسومية بلغة Tkinter تقوم بمسح شبكة IPv4 المحلية (ARP + فحص nmap)، وتظهر الأجهزة، وتتيح إجراء فحص شامل للمنافذ، وتصدير النتائج.
نظرة سريعة
- مسح ARP لاكتشاف الأجهزة على الشبكة المحلية.
- تحسين فحوصات nmap للحصول على اسم المضيف، البائع، المنافذ المفتوحة، تخمين نظام التشغيل، وزمن الاستجابة.
- زر الفحص الكامل للمنافذ لتشغيل فحص nmap مكثف لجهاز محدد.
- تقدير ذكي للمخاطر (منخفض / متوسط / عالي / حرج) بناءً على المنافذ المفتوحة المكتشفة.
- إحصائيات لوحة القيادة في الوقت الفعلي (إجمالي الأجهزة، المضيفين ذوي المنافذ المفتوحة، المضيفين عاليي الخطورة، متوسط زمن الاستجابة).
- تصفية/بحث فوري وأعمدة جدول قابلة للفرز لتسريع الفرز.
- إعادة فحص الجهاز المحدد، نسخ IP، ومعلومات الشبكة (IP المحلي/العام + تفاصيل المنصة).
- تصدير النتائج إلى CSV أو JSON.
المتطلبات
- Windows 10/11 (مُختبر)
- Python 3.9+ (يُوصى بـ 3.10+)
- Nmap مثبت ومضاف إلى PATH (تنزيل من https://nmap.org/)
- Npcap مثبت (مطلوب بواسطة scapy على Windows) — اختر "وضع التوافق مع WinPcap" إذا عُرض
- تشغيل السكريبت بصلاحيات المسؤول لضمان كامل الوظائف (ARP، المقابس الخام، بعض ميزات nmap)
حزم Python (تثبيت عبر requirements.txt):
- scapy
- python-nmap
- tqdm
- requests
التثبيت
- افتح PowerShell (يُوصى بتشغيله كمسؤول للراحة)
- أنشئ وفعّل بيئة افتراضية (اختياري لكن يُوصى به)
- python -m venv .venv
- ..venv\Scripts\Activate.ps1
- ثبّت الحزم
- pip install -r requirements.txt
تأكد من تثبيت nmap.exe وتوفره على المسار PATH (شغّل nmap --version للتحقق).
تشغيل الواجهة الرسومية
يُوصى به (Windows):
- انقر بزر الماوس الأيمن على Visual Studio Code واختر "تشغيل كمسؤول"، افتح المشروع، اضغط F5 لتصحيح الأخطاء أو التشغيل.
- أو افتح PowerShell كمسؤول وشغّل:
ملاحظات:
- سيطلب البرنامج رفع الصلاحيات عند بدء التشغيل (ShellExecute). إذا كنت تشغّل من VS Code، ابدأ VS Code كمسؤول ليتيح للمُصحح المدمج الانطلاق بشكل صحيح مع الصلاحيات.
- إذا لم تظهر الواجهة الرسومية بعد قبول مربع UAC، شغّل السكريبت مباشرة من PowerShell مرفوع الصلاحيات للتحقق.
إعداد VS Code
إذا كنت ترغب في إعداد تصحيح أخطاء، أضف .vscode/launch.json (مثال):
{
"version": "0.2.0",
"configurations": [
{
"name": "Network Scanner (Admin)",
"type": "debugpy",
"request": "launch",
"program": "${workspaceFolder}/app.py",
"console": "integratedTerminal",
"args": []
}
]
}
هام: على Windows، من الأسهل تشغيل VS Code نفسه كمسؤول (انقر بزر الماوس الأيمن ← تشغيل كمسؤول) قبل إطلاق إعداد التصحيح.
استخدام الواجهة الرسومية
- حقل إدخال نطاق IP يقبل:
- CIDR:
192.168.1.0/24
- IP واحد:
192.168.1.10
- نطاقات بالواصلة:
192.168.1.1-254 أو 192.168.1.10-192.168.1.20
- بطاقة بدل:
192.168.1.*
- قائمة مفصولة بفواصل:
192.168.1.1,192.168.1.5,192.168.1.100
- الأزرار:
- بدء المسح — اكتشاف ARP + فحوصات خفيفة
- فحص كامل للمنافذ — حدد صفًا، انقر لتشغيل فحص nmap مكثف على ذلك IP
- إعادة فحص المحدد — يُحدّث تفاصيل المضيف المحدد فقط
- نسخ IP — ينسخ IP المضيف المحدد إلى الحافظة
- معلومات الشبكة — يطبع بيانات الشبكة المحلية/العامة في لوحة السجل
- إيقاف — طلب إيقاف المسح
- تصدير CSV / حفظ JSON — حفظ معلومات الأجهزة المُجمّعة
- خروج — إغلاق التطبيق
- تصفية الأجهزة في الوقت الفعلي (بحث بالـ IP، اسم المضيف، البائع، نظام التشغيل، أو المخاطر) وإظهار المضيفين ذوي المنافذ المفتوحة فقط اختياريًا.
- انقر على رؤوس الأعمدة لفرز الصفوف.
- انقر على صف جهاز لعرض ملخص سهل الاستخدام بالإضافة إلى البيانات المنظمة الخام في اللوحة السفلية. يمكنك النقر على سطور السجل لاختيار الأجهزة تلقائيًا إذا كان هناك IP.
السلوك والقيود
- مسح ARP يعمل فقط على قطاع Ethernet/LAN المحلي.
- فحوصات المنافذ الكاملة واكتشاف نظام التشغيل قد تتطلب صلاحيات مسؤول وقد تستغرق عدة دقائق لكل مضيف.
- توسيع النطاق بالواصلة/بطاقة البدل يتضمن حدودًا لتجنب المسوحات الضخمة غير المقصودة (دفاعية).
- Nmap يجب تثبيته بشكل منفصل — python-nmap هو مجرد غلاف.
استكشاف الأخطاء وإصلاحها
- إذا ظهر مربع حوار "قبول المسؤول" UAC لكن لم تظهر الواجهة الرسومية:
- تأكد من تشغيل VS Code كمسؤول (المفضل) أو شغّل السكريبت في PowerShell كمسؤول.
- تحقق من أن
nmap --version يعمل من نفس البيئة.
- إذا كنت تستخدم المُصحح، شغّل جلسة التصحيح من نسخة VS Code مرفوعة الصلاحيات.
- إذا فشل scapy على Windows: تحقق من تثبيت Npcap وأن البيئة الافتراضية تستخدم نفس مُفسّر Python.
الأمان والقانونية
قم بمسح الشبكات والأجهزة التي تمتلكها أو لديك إذن صريح باختبارها فقط. المسح غير المصرح به قد يكون غير قانوني ومزعج.
خريطة الطريق
تحسينات الماسح
الواجهة
ميزات الأمان
دعم المنصات