شرح الـ Hub و Switch و Router

المقدمة

تخيل إنك عايز توصل مجموعة أجهزة ببعضها. في 3 أجهزة رئيسية ممكن تستخدمهم: Hub و Switch و Router.

كل واحد فيهم بيعمل شغلانة مختلفة، ولو فهمت الفرق بينهم، هتفهم كيف الشبكات بتشتغل وكمان هتعرف نقاط الضعف في كل واحد.

تعالى نبدأ من الأبسط للأعقد.


Hub (المحور)

يعني إيه Hub؟

الـ Hub هو أبسط جهاز لتوصيل الأجهزة ببعضها. فكر فيه زي “مشترك كهربا” - كل حاجة بتدخل من منفذ بتخرج من كل المنافذ التانية.

كيف بيشتغل؟

جهاز A يبعت رسالة لجهاز B
الـ Hub ياخد الرسالة
يبعتها لكل الأجهزة المتصلة
جهاز B ياخدها، والباقي يتجاهلوها

مثال عملي

عندك 4 أجهزة متوصلة بـ Hub:

     جهاز A (192.168.1.10)
          |
     جهاز B (192.168.1.11)
          |
        [HUB]
          |
     جهاز C (192.168.1.12)
          |
     جهاز D (192.168.1.13)

لو جهاز A عايز يبعت رسالة لجهاز B:

  1. A بيبعت الرسالة للـ Hub
  2. الـ Hub بيبعتها لـ B و C و D كلهم
  3. بس B اللي ياخدها، C و D يتجاهلوها

خصائص الـ Hub

الخاصية الوصف
الطبقة Physical Layer (Layer 1)
الذكاء صفر - مفيش ذكاء خالص
الأمان سيئ جداً - كل الأجهزة تشوف كل حاجة
السرعة بطيء - مشاركة Bandwidth
التكلفة رخيص جداً
الاستخدام الحالي شبه منقرض - مبيستخدمش دلوقتي

من ناحية السيكيورتي - كارثة أمنية!

الـ Hub كارثة أمنية لأن كل جهاز بيشوف بيانات كل الأجهزة.

هجوم Passive Sniffing

لو أنت متصل بـ Hub، تقدر بكل بساطة تستخدم أداة زي Wireshark وتشوف كل البيانات اللي عدية على الشبكة:

# شغل Wireshark على جهازك
sudo wireshark

# اختار الـ interface بتاعك
# هتشوف كل الـ packets حتى اللي مش موجهة ليك!

مثال حي

تخيل موظف A بيبعت باسورد لموظف B عبر الشبكة. لو متوصلين بـ Hub، موظف C يقدر يشوف الباسورد بكل سهولة.

A → Hub: "username: admin, password: 123456"
    B شافها ✓
    C شافها ✓ (المفروض مش المفروض يشوفها!)
    D شافها ✓

Switch (المحول)

يعني إيه Switch؟

الـ Switch هو النسخة الذكية من الـ Hub. بدل ما يبعت البيانات لكل الأجهزة، بيبعتها للجهاز المطلوب بس.

كيف بيشتغل؟

الـ Switch عنده MAC Address Table (جدول العناوين)، بيتعلم فيه مين متصل على أنهي منفذ.

جهاز A يبعت رسالة لجهاز B
الـ Switch يشوف في الجدول: B على المنفذ رقم 3
يبعت الرسالة للمنفذ 3 بس
جهاز B بس اللي ياخدها

مثال عملي

نفس الـ 4 أجهزة، بس دلوقتي متوصلين بـ Switch:

Port 1: جهاز A (MAC: AA:AA:AA:AA:AA:AA)
Port 2: جهاز B (MAC: BB:BB:BB:BB:BB:BB)
Port 3: جهاز C (MAC: CC:CC:CC:CC:CC:CC)
Port 4: جهاز D (MAC: DD:DD:DD:DD:DD:DD)

الـ Switch بيعمل جدول زي ده:

╔═══════╦═══════════════════════╗
║ Port   ║    MAC Address            ║
╠═══════╬═══════════════════════╣
║   1    ║ AA:AA:AA:AA:AA:AA         ║
║   2    ║ BB:BB:BB:BB:BB:BB         ║
║   3    ║ CC:CC:CC:CC:CC:CC         ║
║   4    ║ DD:DD:DD:DD:DD:DD         ║
╚═══════╩═══════════════════════╝

لو A عايز يبعت لـ B:

  1. A بيبعت Frame فيه MAC بتاع B
  2. الـ Switch يشوف الجدول: B على Port 2
  3. يبعت الـ Frame للـ Port 2 بس
  4. C و D مش هيشوفوا أي حاجة

خصائص الـ Switch

الخاصية الوصف
الطبقة Data Link Layer (Layer 2)
الذكاء ذكي - بيتعلم من MAC Addresses
الأمان أفضل من Hub - كل جهاز يشوف بياناته بس
السرعة سريع - كل جهاز له Bandwidth كامل
التكلفة معقول
الاستخدام الحالي الأكثر استخداماً في LANs

أنواع الـ Switches

1. Unmanaged Switch

  • بسيط جداً - شغله وانساه
  • مفيش إعدادات
  • رخيص
  • مناسب للبيوت والمكاتب الصغيرة

2. Managed Switch

  • قابل للتخصيص
  • إعدادات أمان متقدمة
  • VLANs support
  • Port mirroring
  • غالي
  • مناسب للشركات

من ناحية السيكيورتي

الـ Switch أفضل من Hub، لكن مش آمن 100%. في هجمات ممكن تخترقه:

1. MAC Flooding Attack

الفكرة: تغرق الـ Switch بـ MAC addresses وهمية لحد ما الجدول يمتلئ ويبدأ يشتغل زي Hub!

# استخدام أداة macof
sudo macof -i eth0

# هتبدأ تبعت آلاف الـ fake MAC addresses
# الـ Switch table هيمتلئ
# الـ Switch هيبدأ يبعت كل حاجة لكل حد (زي Hub)

الدفاع: Port Security - تحديد عدد أقصى للـ MAC addresses لكل منفذ.

2. ARP Spoofing (عبر Switch)

حتى مع وجود Switch، ممكن تعمل Man-in-the-Middle باستخدام ARP Poisoning:

# استخدام arpspoof للوقوف بين جهازين
sudo arpspoof -i eth0 -t 192.168.1.10 192.168.1.1
sudo arpspoof -i eth0 -t 192.168.1.1 192.168.1.10

# دلوقتي كل البيانات بين الجهازين هتعدي عليك

الدفاع: Dynamic ARP Inspection (DAI).

3. VLAN Hopping

لو الـ Switch مش متكونفج صح، ممكن تقفز بين VLANs مختلفة:

# استخدام Yersinia
sudo yersinia -G

# ومنها تقدر تعمل DTP attack أو double tagging

الدفاع: تعطيل DTP، تكوين VLANs بشكل صحيح.

تجربة عملية - شوف MAC Table

على Cisco Switch:

Switch> enable
Switch# show mac address-table

Mac Address Table
-------------------------------------------
Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    aaaa.aaaa.aaaa    DYNAMIC     Fa0/1
   1    bbbb.bbbb.bbbb    DYNAMIC     Fa0/2
   1    cccc.cccc.cccc    DYNAMIC     Fa0/3

Router

يعني إيه Router؟

الـ Router هو الجهاز الأذكى - بيوصل شبكات مختلفة ببعضها. بيشتغل على IP Addresses مش MAC.

الوظيفة الأساسية

LAN 1 (192.168.1.0/24)
      [Router]
LAN 2 (192.168.2.0/24)
      [Router]
    Internet

الـ Router بياخد قرارات: “الـ packet ده رايح فين؟ أبعته منين؟”

كيف بيشتغل؟

الـ Router عنده Routing Table (جدول التوجيه) فيه كل الشبكات اللي يعرفها وازاي يوصلها.

مثال عملي

عندك شبكتين:

  • LAN 1: 192.168.1.0/24 (البيت)
  • Internet: أي مكان تاني

الـ Router بيعمل جدول زي ده:

Destination Gateway Interface
192.168.1.0/24 0.0.0.0 eth0 الشبكة المحلية
0.0.0.0/0 10.5.5.1 eth1 كل حاجة تانية

الترجمة:

  • أي packet لـ 192.168.1.x: ابعته على eth0 (الشبكة المحلية)
  • أي حاجة تانية: ابعته لـ 10.5.5.1 (الـ ISP)

خصائص الـ Router

الخاصية الوصف
الطبقة Network Layer (Layer 3)
الذكاء ذكي جداً - بيوجه بين شبكات
الوظيفة Routing + NAT + Firewall + DHCP
السرعة أبطأ من Switch (معالجة أكتر)
التكلفة أغلى من Switch
الاستخدام توصيل الشبكات ببعضها

وظائف إضافية للـ Router

1. NAT (Network Address Translation)

بيحول الـ IP الداخلي لـ IP عام:

جهازك: 192.168.1.5:54321 → Router → الإنترنت: 41.x.x.x:12345
                    (NAT يحفظ الترجمة)
الرد من الإنترنت: 41.x.x.x:12345 → Router → جهازك: 192.168.1.5:54321

2. DHCP Server

بيوزع IP addresses على الأجهزة تلقائياً.

3. Firewall

بيفلتر البيانات الداخلة والخارجة.

4. DNS Forwarding

بيوجه طلبات DNS للـ DNS Server.

من ناحية السيكيورتي

الـ Router هو خط الدفاع الأول بتاعك.

1. Default Credentials

أكبر مشكلة: ناس كتير بتسيب Username/Password الافتراضي:

Username: admin
Password: admin

الهجوم:

# جرب Default credentials
hydra -L users.txt -P pass.txt 192.168.1.1 http-get /

الدفاع: غير الباسورد فوراً!

2. Outdated Firmware

Routers قديمة فيها ثغرات معروفة.

# مثال: استغلال ثغرة في Router معين
searchsploit router model

الدفاع: تحديث الـ Firmware باستمرار.

3. Open Ports

منافذ مفتوحة من غير داعي:

# فحص Router من الإنترنت
nmap -sS -p- YOUR_PUBLIC_IP

الدفاع: قفل كل المنافذ غير الضرورية.

4. Weak WiFi Password

# كسر باسورد WiFi ضعيف
aircrack-ng -w wordlist.txt capture.cap

الدفاع: باسورد قوي + WPA3 لو متاح.

تجربة عملية - الدخول للـ Router

# معرفة IP الراوتر (عادة الـ Gateway)
ip route | grep default

# النتيجة:
default via 192.168.1.1 dev eth0

# افتح المتصفح وادخل على:
http://192.168.1.1

# هيطلب Username & Password

شوف Routing Table

على Linux:

route -n

# النتيجة:
Destination     Gateway         Genmask         Flags Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     eth0

على Router نفسه (مثلاً Cisco):

Router> enable
Router# show ip route

Gateway of last resort is 10.5.5.1 to network 0.0.0.0

C    192.168.1.0/24 is directly connected, FastEthernet0/0
S*   0.0.0.0/0 [1/0] via 10.5.5.1

المقارنة الشاملة

Feature Hub Switch Router
OSI Layer Layer 1 Layer 2 Layer 3
Works With Signals MAC Address IP Address
Intelligence None Medium High
Broadcast All ports Same VLAN Controlled
Security Very Weak Better Best
Speed Slowest Fast Medium
Usage Obsolete LAN WAN / LAN

سيناريو عملي كامل

الشبكة

        [Internet]
            |
        [Router]    ← Layer 3 (IP: 192.168.1.1)
            |
        [Switch]    ← Layer 2 (MAC: learns all)
       /    |    \
      /     |     \
   PC-A   PC-B   PC-C  ← Layer 1 (physical connection)

السيناريو: PC-A عايز يفتح Google

الخطوة 1: DNS Query

PC-A: محتاج IP بتاع google.com
Switch: شوف الطلب رايح للراوتر (MAC Address)
Router: ده DNS query، ابعته لـ 8.8.8.8
الرد: google.com = 142.250.185.46
Router → Switch → PC-A

الخطوة 2: HTTP Request

PC-A: عايز أتصل بـ 142.250.185.46:443
Switch: الطلب رايح للراوتر
Router: 
  - ده IP خارجي
  - NAT: حول 192.168.1.10:54321 → 41.x.x.x:12345
  - ابعته للإنترنت
Google Server يرد
Router: 
  - الرد لـ 41.x.x.x:12345
  - NAT: حوله لـ 192.168.1.10:54321
Switch: شوف MAC بتاع PC-A، ابعتله
PC-A: استلم الرد

هجوم عملي: Man-in-the-Middle

البيئة

  • Attacker: 192.168.1.50
  • Victim: 192.168.1.10
  • Router: 192.168.1.1
  • كلهم على نفس الـ Switch

الخطوات

# 1. Enable IP Forwarding (عشان تبقى Router)
echo 1 > /proc/sys/net/ipv4/ip_forward

# 2. ARP Spoofing - كدب على Victim
arpspoof -i eth0 -t 192.168.1.10 192.168.1.1

# 3. ARP Spoofing - كدب على Router
arpspoof -i eth0 -t 192.168.1.1 192.168.1.10

# 4. Capture Traffic
tcpdump -i eth0 -w capture.pcap

# دلوقتي كل بيانات Victim عدية عليك!

النتيجة

Normal:   Victim ←→ Router ←→ Internet
Attack:   Victim ←→ Attacker ←→ Router ←→ Internet
                  (شايف كل حاجة)

خلاصة

Hub

  • الأبسط: بيبعت لكل حد
  • الأبطأ: مشاركة السرعة
  • الأخطر: كل حد يشوف كل حاجة
  • منقرض: مبيستخدمش دلوقتي

Switch

  • ذكي: بيبعت للجهاز المطلوب بس
  • سريع: كل جهاز له سرعته
  • أفضل أماناً: لكن مش 100%
  • الأكثر استخداماً: في كل LAN

Router

  • الأذكى: بيوصل شبكات ببعضها
  • متعدد الوظائف: Routing + NAT + Firewall
  • خط الدفاع الأول: ضروري للأمان
  • الأهم: بوابتك للإنترنت

من ناحية السيكيورتي

  • Hub: ابعد عنه تماماً
  • Switch: آمن نسبياً، لكن ممكن يتهاجم (MAC Flooding, ARP Spoofing)
  • Router: لازم تأمنه كويس (غير الباسورد، قفل المنافذ، تحديث Firmware)

في المقالات الجاية هنتعمق في البروتوكولات والهجمات المتعلقة بكل جهاز.