Kodax

أمن الشبكات اللاسلكية — أمن الشبكات

أمن WiFi

بروتوكولات التشفير

WEP ❌

- Wired Equivalent Privacy

- مكسور تماماً! يُخترق في دقائق

- لا تستخدمه أبداً

WPA ⚠️

- WiFi Protected Access

- أفضل من WEP لكن له ثغرات

- تجنبه إن أمكن

WPA2 ✅

- الأكثر شيوعاً حالياً

- AES encryption

- آمن مع كلمة مرور قوية

WPA3 ✅✅

- الأحدث والأكثر أماناً

- حماية من Brute Force

- تشفير فردي لكل جهاز

هجمات WiFi الشائعة

1. Evil Twin

- نقطة وصول مزيفة بنفس الاسم

- الضحية يتصل بها ظناً أنها حقيقية

2. Deauthentication Attack

- إجبار الأجهزة على قطع الاتصال

- ثم التقاط Handshake

3. WPS Attack

- PIN مكون من 8 أرقام فقط

- يُكسر في ساعات

4. Dictionary Attack

- تجربة كلمات مرور شائعة

- على Handshake المُلتقط

حماية شبكتك

الإعدادات الأساسية ✅

- استخدم WPA3 أو WPA2

- كلمة مرور قوية (12+ حرف)

- عطّل WPS

- غيّر اسم الشبكة الافتراضي

- غيّر كلمة مرور الراوتر

الإعدادات المتقدمة

- MAC Filtering (محدود الفائدة)

- إخفاء SSID (محدود الفائدة)

- شبكة ضيوف منفصلة

- تحديث Firmware

# أدوات فحص WiFi (للتعليم)
import subprocess
import re

class WiFiSecurityChecker:
    """
    فحص أمان WiFi للتعليم
    ⚠️ للاستخدام على شبكاتك فقط!
    """
    
    @staticmethod
    def explain_wifi_security():
        """شرح مستويات أمان WiFi"""
        print("\n🔐 مستويات أمان WiFi")
        print("=" * 50)
        
        protocols = [
            {
                "name": "Open (بدون كلمة مرور)",
                "security": "❌❌❌❌❌",
                "note": "أي شخص يمكنه الاتصال والتجسس!"
            },
            {
                "name": "WEP",
                "security": "❌❌❌❌",
                "note": "يُكسر في دقائق! لا تستخدمه"
            },
            {
                "name": "WPA",
                "security": "⚠️⚠️",
                "note": "ثغرات معروفة، تجنبه"
            },
            {
                "name": "WPA2-PSK (Personal)",
                "security": "✅✅✅",
                "note": "جيد مع كلمة مرور قوية"
            },
            {
                "name": "WPA2-Enterprise",
                "security": "✅✅✅✅",
                "note": "للشركات، يحتاج RADIUS server"
            },
            {
                "name": "WPA3",
                "security": "✅✅✅✅✅",
                "note": "الأفضل! استخدمه إن توفر"
            }
        ]
        
        for p in protocols:
            print(f"\n{p['name']}")
            print(f"  الأمان: {p['security']}")
            print(f"  ملاحظة: {p['note']}")
    
    @staticmethod
    def password_strength_wifi(password):
        """تقييم قوة كلمة مرور WiFi"""
        print(f"\n🔑 تقييم كلمة مرور WiFi")
        print("=" * 50)
        
        score = 0
        issues = []
        
        # الطول
        if len(password) >= 20:
            score += 30
        elif len(password) >= 12:
            score += 20
        elif len(password) >= 8:
            score += 10
        else:
            issues.append("❌ قصيرة جداً (< 8)")
        
        # التنوع
        if re.search(r'[a-z]', password):
            score += 10
        else:
            issues.append("❌ أضف أحرف صغيرة")
            
        if re.search(r'[A-Z]', password):
            score += 10
        else:
            issues.append("❌ أضف أحرف كبيرة")
            
        if re.search(r'[0-9]', password):
            score += 10
        else:
            issues.append("❌ أضف أرقام")
            
        if re.search(r'[!@#$%^&*(),.?":{}|<>]', password):
            score += 15
        else:
            issues.append("⚠️ أضف رموز")
        
        # كلمات شائعة
        common = ['password', 'wifi', '12345678', 'qwerty', 'internet']
        if password.lower() in common:
            score = 0
            issues.append("🔴 كلمة مرور شائعة جداً!")
        
        # التقييم
        if score >= 60:
            strength = "🟢 قوية"
        elif score >= 40:
            strength = "🟡 متوسطة"
        else:
            strength = "🔴 ضعيفة"
        
        print(f"  كلمة المرور: {'*' * len(password)}")
        print(f"  القوة: {strength} ({score}/75)")
        
        if issues:
            print("  المشاكل:")
            for issue in issues:
                print(f"    {issue}")
        
        return score
    
    @staticmethod
    def security_checklist():
        """قائمة فحص أمان WiFi"""
        print("\n📋 قائمة فحص أمان WiFi")
        print("=" * 50)
        
        checklist = [
            ("استخدام WPA3 أو WPA2", "تحقق من إعدادات الراوتر"),
            ("كلمة مرور قوية (12+ حرف)", "غيّرها إن كانت ضعيفة"),
            ("تعطيل WPS", "WPS → Disable"),
            ("تغيير كلمة مرور الراوتر", "لا تترك admin/admin!"),
            ("تحديث Firmware", "تحقق من تحديثات الراوتر"),
            ("تغيير SSID الافتراضي", "لا يكشف نوع الراوتر"),
            ("شبكة ضيوف منفصلة", "للزوار بدون وصول للشبكة الرئيسية"),
            ("تعطيل Remote Management", "إلا إذا كنت تحتاجه"),
        ]
        
        print("\n  [ ] قائمة المهام:")
        for task, note in checklist:
            print(f"  [ ] {task}")
            print(f"      💡 {note}")
    
    @staticmethod
    def detect_evil_twin_signs():
        """علامات Evil Twin Attack"""
        print("\n🚨 علامات هجوم Evil Twin")
        print("=" * 50)
        
        signs = [
            "شبكتان بنفس الاسم (SSID)",
            "طلب إعادة إدخال كلمة المرور فجأة",
            "انقطاع متكرر للاتصال",
            "صفحة تسجيل دخول غير مألوفة",
            "تحذيرات الشهادة في المتصفح",
            "سرعة إنترنت أبطأ من المعتاد",
        ]
        
        print("\n  انتبه لهذه العلامات:")
        for sign in signs:
            print(f"  ⚠️ {sign}")
        
        print("\n  🛡️ الحماية:")
        print("  - استخدم VPN على WiFi العام")
        print("  - تحقق من BSSID (MAC) للشبكة")
        print("  - تجنب إدخال بيانات حساسة")


# تشغيل
checker = WiFiSecurityChecker()
checker.explain_wifi_security()
checker.password_strength_wifi("MyW1F1P@ss!")
checker.security_checklist()
checker.detect_evil_twin_signs()
اختبر فهمك