أساسيات الشبكات للأمن السيبراني
TCP/IP، OSI، البروتوكولات، تدفق الحزم
لماذا الشبكات قبل أي recon
كل هجوم يحتاج فهم الشبكات. بدون فهم TCP/IP و DNS و HTTP، Wireshark = هيروغليفية، nmap = أوامر تحفظها بدون فهم. هذا الدرس يبني الجسر.
نموذج OSI — 7 طبقات
الطبقة 7 Application HTTP, DNS, SSH, FTP, SMTP
الطبقة 6 Presentation TLS, تشفير، تنسيق
الطبقة 5 Session إدارة الجلسات
الطبقة 4 Transport TCP, UDP ← منافذ (ports)
الطبقة 3 Network IP, ICMP, routing ← عناوين IP
الطبقة 2 Data Link Ethernet, ARP ← MAC addresses
الطبقة 1 Physical كابل، WiFiالقاعدة: كل طبقة تحزّم بيانات الطبقة الأعلى وتضيف header خاصاً بها. كحزمة بريد داخل ظرف داخل صندوق.
في الأمن: hackers يهاجمون كل طبقة. Layer 2 = ARP poisoning. Layer 3 = IP spoofing. Layer 4 = SYN flood. Layer 7 = SQLi/XSS.
TCP/IP — النموذج العملي
OSI نظري. الإنترنت يستخدم نموذج TCP/IP بـ 4 طبقات:
Application HTTP, DNS, SSH, … (= OSI 5-7)
Transport TCP, UDP (= OSI 4)
Internet IP, ICMP (= OSI 3)
Link Ethernet, WiFi (= OSI 1-2)عناوين IP — الجوهر
كل جهاز على شبكة له عنوان IP فريد. IPv4 = 4 أرقام (0-255): 192.168.1.5.
- Public IPs — قابلة للوصول من الإنترنت.
- Private IPs (RFC 1918) — للشبكات الداخلية: 10.0.0.0/8، 172.16.0.0/12، 192.168.0.0/16.
- Loopback: 127.0.0.1 = الجهاز نفسه.
- Subnet mask يحدد ما هو "شبكتي". /24 = 255 جهاز.
192.168.1.0/24
│ │
│ └── prefix length — أول 24 bit للشبكة
└────── شبكة = 192.168.1.0
نطاق المضيفين = 192.168.1.1 - 192.168.1.254
bcast = 192.168.1.255TCP vs UDP
- Three-way handshake (SYN → SYN-ACK → ACK).
- يضمن الترتيب وعدم الفقد.
- يعيد الإرسال لو ضاع شيء.
- يستخدم في: HTTP, HTTPS, SSH, SMB, RDP.
- أرسل وانس (fire-and-forget).
- لا handshake.
- قد يضيع، قد يصل بالعكس.
- يستخدم في: DNS, NTP, VoIP, VPN.
المنافذ المهمة (Well-known)
20/21 FTP (نقل ملفات — قديم، نص واضح)
22 SSH (أهم بروتوكول إدارة)
23 Telnet (نص واضح — يجب أن يُمنع)
25 SMTP (إرسال بريد)
53 DNS (UDP عادة، TCP أحياناً)
80 HTTP
110 POP3
135 RPC (Windows)
139, 445 SMB (Windows file share — هدف ثمين)
143 IMAP
389 LDAP (AD directory)
443 HTTPS
445 SMB
465/587 SMTP+TLS
587 SMTP submission
636 LDAPS
993 IMAPS
995 POP3S
1433 MSSQL
3306 MySQL
3389 RDP (Remote Desktop)
5985/5986 WinRM (PowerShell remote)
8080 HTTP-alt (proxy)
8443 HTTPS-altحفظ هذه القائمة = نصف معركة nmap. منفذ 445 مفتوح = SMB = ربما EternalBlue.
DNS — كيف يصبح اسم IP
الجهاز يسأل: "ما IP لـ example.com؟".
يفحص /etc/hosts (أو C:\\Windows\\System32\\drivers\\etc\\hosts)، ثم cache.
عادة الـ ISP أو 8.8.8.8 (Google) أو 1.1.1.1 (Cloudflare).
Root → TLD (.com) → authoritative for example.com → الجواب: 93.184.216.34.
HTTP — لغة الويب
كل صفحة ويب = طلب HTTP + رد. الطلب:
GET /index.html HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Accept: text/html
Cookie: session=abc123
الرد:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1256
Set-Cookie: session=xyz789
Server: nginx/1.24
<html>...</html>- أكواد الحالة: 2xx نجح، 3xx إعادة توجيه، 4xx خطأ عميل (404, 401, 403)، 5xx خطأ خادم (500, 502).
- Methods: GET (قراءة)، POST (إرسال)، PUT/PATCH (تحديث)، DELETE.
- Headers مهمة في الأمن: Cookie, Authorization, X-Forwarded-For, Host, Origin, Referer, Content-Security-Policy.
ARP — كيف تتحدث الأجهزة فيزيائياً
على شبكة محلية، الأجهزة تتكلم عبر MAC addresses لا IPs. ARP يربط بينهما.
Wireshark — قراءة الحزم
Wireshark = أداة التقاط وتحليل الـ packets. إن لم تتقنها لن تكون مدافعاً جاداً ولا مهاجماً قارئاً.
فلاتر مفيدة:
ip.addr == 10.10.10.5 الحزم من/إلى IP
tcp.port == 443 منفذ محدد
http HTTP فقط
http.request.method == "POST" POST requests
dns DNS
tcp.flags.syn == 1 && tcp.flags.ack == 0 SYN فقط (port scan)
tls.handshake.type == 1 TLS Client Hello (يكشف SNI)NAT و Firewalls — بسرعة
- NAT: راوتر بيتك يحوّل عنوان داخلي (192.168.1.10) إلى عنوان عام (203.x.x.x). كل أجهزة بيتك يبدون كـIP واحد على الإنترنت.
- Firewall: قواعد "اسمح / امنع" على المنافذ والـ IPs والبروتوكولات.
- Stateful firewall: يتذكر الجلسات. لو فتحت اتصال خارجاً، يسمح بالرد.
- Egress filtering: تحديد ما يخرج من شبكتك. كثير من المؤسسات تنسى — لذا C2 يعمل بسهولة عبر port 443.
ممارسة
- افتح Wireshark على Kali، التقط 30 ثانية، افهم ما تراه.
- افتح موقع HTTP بسيط، التقط، تابع TCP stream، اقرأ الـ raw HTTP.
- افعل dig على 5 نطاقات مختلفة، انظر اختلاف الـ records.
- افهم subnet bash:
ipcalc 192.168.1.0/24
# Network: 192.168.1.0
# Hosts: 192.168.1.1 - 192.168.1.254
# Broadcast: 192.168.1.255