אתה מקליד google.com ולוחץ Enter. בתוך פחות משנייה, עמוד אינטרנט מופיע. בפועל, מתרחשות עשרות פעולות מדויקות — פרוטוקולים, כתובות, חבילות נתונים, הצפנה. שיעור זה מלמד את הבסיס.
✓נושאי השיעור
מודל Client-Server — יוזם ומגיב
כתובות IPv4 ו-Subnetting (CIDR)
DNS — ספר הטלפונים של האינטרנט
מודל TCP/IP — 4 שכבות, Encapsulation
TCP לעומת UDP — אמינות מול מהירות
Ports ופרוטוקולים: HTTP, HTTPS, SSH
CIA Triad, Firewall, VPN, הצפנה
MAC Address ו-ARP Spoofing
מבחן הפרוטוקול המומצא בגאמא בוחן יכולת לנתח פרוטוקול חדש. מי שמבין TCP לעומק — יזהה דפוסים ויפתור מהר. כל שאלה ברשת מומצאת מבוססת על מה שנלמד כאן.
// פרק 1
מודל Client-Server
Client יוזם את הבקשה. Server ממתין לבקשות ועונה עליהן. זהו הבסיס של כל תקשורת רשת מודרנית — HTTP, DNS, SSH, FTP.
💡 אנלוגיה: מסעדה
אתה (Client) נכנס ויושב. המלצר (Server) ממתין לבקשות. אתה מבקש 'פיצה'. המלצר מביא. בקשה = Request. תשובה = Response. השרת לא יוזם — הוא רק מגיב.
מה קורה כשמקלידים google.com?
1. DNS Resolution → מה כתובת ה-IP של google.com?
2. TCP Handshake → לחיצת יד משולשת עם שרת Google (Port 443)
3. TLS Handshake → הצפנה, אימות Certificate
4. HTTP Request → GET / HTTP/1.1
5. Server Processing → Google מעבד ומכין תשובה
6. HTTP Response → HTML, CSS, JavaScript
7. Browser Rendering → בונה DOM ומציג
✏תרגול עצמי2 שאלות
שאלה א׳.1
מה הם Client ו-Server? מה ההבדל בתפקיד שלהם?
✓ תשובה: א) — Client יוזם (Browser, App, nslookup), Server מגיב (Apache, Nginx, DNS Server). כולם — HTTP, DNS, SSH — עובדים כך.
שאלה ב׳.7 [בינוני]
פקטת TCP. Flags=0x02. איזה Flag דלוק?
✓ תשובה: ב) SYN — TCP Flags: SYN=0x02(bit1), ACK=0x10(bit4), FIN=0x01(bit0), RST=0x04(bit2). 0x02 = SYN בלבד.
// פרק 2
כתובות IP: הכתובת הדואר של האינטרנט
כתובת IPv4 היא מספר 32 ביט, מוצג כ-4 מספרים מופרדים בנקודות. כל אוקטט = בייט אחד (0–255).
📝 דוגמה: 192.168.1.100
4 octets × 8 bits = 32 bits סה"כ. 2³² = כ-4.3 מיליארד כתובות אפשריות — כבר נגמרו! לכן IPv6.
DNS = Domain Name System — מערכת מבוזרת המתרגמת Domain Names לכתובות IP. בני אדם זוכרים שמות, מחשבים עובדים עם IP.
הרחבה תהליך DNS Resolution שלב אחרי שלב ›
כשהדפדפן צריך את ה-IP של google.com:
בדיקת DNS Cache מקומי — אולי כבר יודע?
שאילת Resolver (שרת DNS של ספק האינטרנט או 8.8.8.8)
Resolver שואל Root DNS Server: 'מי אחראי על .com?'
Root מפנה ל-TLD Server ל-.com
.com TLD: 'google.com מנוהל על ידי שרתי DNS של Google'
Resolver שואל שרתי Google: 'מה ה-IP של google.com?'
תשובה: 142.250.185.14 — נשמרת ב-Cache לזמן TTL
סוגי DNS Records חשובים
Record
תפקיד
דוגמה
A
Domain → IPv4
google.com → 142.250.185.14
AAAA
Domain → IPv6
google.com → 2607:f8b0:...
CNAME
Alias — שם → שם אחר
www.google.com → google.com
MX
Mail server לDomain
gmail.com → aspmx.l.google.com
NS
שרתי DNS אחראיים
google.com → ns1.google.com
PTR
IP → Domain (Reverse)
Reverse DNS lookup
! DNS Spoofing / Cache Poisoning ›
תוקף 'מרעיל' את DNS Cache עם תשובה שגויה → הקורבן מגיע לאתר מזויף (Phishing).
DNSSEC פותר: כל DNS Record חתום ב-Digital Signature. מרעיל Cache = חתימה לא תתאים.
✏תרגול עצמי3 שאלות
שאלה ב׳.4 [קל]
איזה פרוטוקול DNS משתמש בעיקרון?
✓ תשובה: ב) UDP port 53 — DNS = UDP port 53 לרוב (בקשה + תשובה קצרות). TCP port 53 = Zone Transfers ותשובות גדולות.
שאלה ב׳.8 [בינוני]
מה CNAME Record ב-DNS?
✓ תשובה: ד) CNAME = Canonical Name — www.example.com CNAME → example.com. ה-Resolver ממשיך לחפש עד A Record.
שאלה ב׳.10 [בינוני]
מה ה-TTL ב-DNS Record?
✓ תשובה: ג) Time To Live — TTL (שניות) = כמה זמן Resolver יכול לשמור ב-Cache. TTL=300 = 5 דקות. TTL=0 = אסור לCache!
🎯 דגש למבחן
DNS רץ מעל UDP — פרוטוקול חסר State: אין Handshake ואין אימות של הצד המשיב. לכן תוקף שמצליח לשלוח תשובה מזויפת עם ה-Transaction ID והפורט הנכונים לפני שרת ה-DNS האמיתי — "מרעיל" את המטמון (DNS Cache Poisoning), וכל הגולשים מופנים לשרת שלו. זו הסיבה שהוגרלו פורטי מקור אקראיים ופותח DNSSEC.
// פרק 4
TCP לעומת UDP: אמינות מול מהירות
TCP מבטיח שכל הנתונים יגיעו בסדר הנכון. UDP שולח ומשכח — מה שנאבד, נאבד. מתי בוחרים כל אחד?
Three-Way Handshake — לחיצת יד משולשת
Client Server
│ │
│ ─── SYN (Seq=100) ──────► │ שלב 1: 'אני רוצה לתקשר'
│ │
│ ◄── SYN-ACK (Seq=300, ── │ שלב 2: 'בסדר, אני מוכן'
│ Ack=101) │
│ │
│ ─── ACK (Ack=301) ──────► │ שלב 3: 'מובן, מתחילים'
│ │
│ ─── HTTP Request ────────► │ עכשיו שולחים נתונים!
TCP Flags — 6 הדגלים
Flag
שם
משמעות
מתי
SYN
Synchronize
פתיחת Connection
Handshake שלב 1 ו-2
ACK
Acknowledge
אישור קבלה
כמעט כל Segment לאחר Handshake
FIN
Finish
סגירה מסודרת
כשצד אחד מסיים
RST
Reset
סגירה פתאומית
Connection לא תקין, שגיאה
PSH
Push
שלח מיד לApplication
נתון שלא ממתין לBuffer
URG
Urgent
נתון דחוף
נדיר בפועל
! SYN Flood Attack ›
תוקף שולח אלפי SYN packets ולא מסיים את ה-Handshake. השרת שומר State לכל SYN — נגמרים המשאבים → DoS.
Mitigation: SYN Cookies — שרת לא שומר State עד לACK.
מתי UDP עדיף?
מצב
למה UDP מנצח
דוגמאות
Real-Time Video/Voice
איבוד פקט אחד < עיכוב Retransmission
Zoom, YouTube Live, VoIP
DNS
בקשה קצרה + תשובה = 1 Datagram
nslookup
Gaming
Latency קריטי יותר מאמינות
CS:GO, Valorant
✏תרגול עצמי4 שאלות
שאלה א׳.5
מה ההבדל המרכזי בין TCP ל-UDP? מתי בוחרים כל אחד?
✓ תשובה: ב) — TCP: אמינות + סדר + Handshake. UDP: מהיר, בלי התחייבויות. ב-Zoom, עיכוב של 200ms גרוע מframe פגום — UDP מנצח.
שאלה ב׳.3 [קל]
מה ה-TCP Flag שנשלח ב-SYN Flood Attack?
✓ תשובה: ב) SYN — SYN Flood = שטיפת SYN packets ללא השלמת Handshake. ממלא את ה-Half-Open Connection Table.
שאלה ב׳.11 [בינוני]
UDP Header כולל:
✓ תשובה: ג) — UDP Header = 8 bytes. TCP Header = 20+ bytes. הפשטות של UDP היא מקור המהירות.
שאלה ב׳.16 [קשה]
Wireshark מציג TCP Segment: Seq=1000, Ack=5001, Len=200. מה ה-Ack הצפוי בתשובת השרת?
✓ תשובה: א) 403 Forbidden — 401=Unauthorized (צריך Login), 403=Forbidden (מזוהה אבל חסום), 404=Not Found. ההבדל קריטי!
שאלה ב׳.12 [בינוני]
HTTPS מגן מפני:
✓ תשובה: ג) — HTTPS מצפין התעבורה. Router בדרך לא יכול לקרוא. עם Certificate תקין — גם לא ניתן להתחזות לשרת.
שאלה ב׳.20 [קשה]
HTTP Request: POST /login עם body username=admin&password=admin. מה הבעיה ב-HTTP (לא HTTPS)?
✓ תשובה: ג) — HTTP = Plain Text. POST body קריא לכל מי שיירט. זו הסיבה שLogin חייב HTTPS — ב-HTTPS הbody מוצפן.
// פרק 6
אבטחת מידע בסיסית: CIA Triad
לפני שמדברים על התקפות — צריך מסגרת מחשבתית. ה-CIA Triad היא המסגרת הנפוצה ביותר בתחום.
עיקרון
שם
משמעות
דוגמה להפרה
הגנה
C
Confidentiality (סודיות)
מידע זמין רק למורשים
Password Sniffing, Data Leak
הצפנה, Access Control
I
Integrity (שלמות)
מידע לא שונה ללא אישור
MITM שמשנה נתונים
Digital Signatures, Hash
A
Availability (זמינות)
שירות זמין כשנדרש
DDoS Attack
Redundancy, CDN
Firewall
Firewall מסנן תעבורת רשת לפי כללים. בודק כל Packet ומחליט: Allow או Block.
סוג
שכבה
מה בודק
Packet Filter
Network (L3)
IP src/dst, Port, Protocol
Stateful Firewall
Transport (L4)
State של Connection (SYN/ACK)
WAF
Application (L7)
תוכן HTTP, SQL Injection, XSS
הרחבה הצפנה: Symmetric, Asymmetric, Hash ›
סוג
כיצד עובד
מפתח
דוגמה
Symmetric
אותו מפתח להצפנה ופענוח
1 מפתח סודי
AES
Asymmetric
Public להצפנה, Private לפענוח
זוג מפתחות
RSA, ECC
Hash
פונקציה חד-כיוונית
ללא מפתח
SHA-256, MD5
✏תרגול עצמי3 שאלות
שאלה ב׳.14 [בינוני]
Confidentiality מופרת כאשר:
✓ תשובה: א) — CIA: C=Confidentiality(סודיות), I=Integrity(שלמות), A=Availability(זמינות). Data Breach = C הופרה. שרת קורס = A הופרה.
שאלה ב׳.15 [בינוני]
מה TLS מספק בנוסף להצפנה?
✓ תשובה: ב) — TLS: Encryption + Authentication + Integrity. Certificate מאמת שהשרת הוא מי שהוא טוען להיות. HMAC מבטיח שלמות.
שאלה ב׳.17 [קשה]
nmap מציג: 80/tcp open, 443/tcp open, 22/tcp open. מה ניתן להסיק?
✓ תשובה: ב) — 80+443 = Web Server. 22 = SSH. Linux server. נחשוב: איזה גרסה? האם SSH מאובטח? אין root login?
// פרק 7
MAC Address ו-ARP Spoofing
MAC Address = כתובת חומרה ייחודית לכל כרטיס רשת — 48 ביט, 6 בייטים הקס. ARP מוצא MAC Address לפי IP.
ARP Request (Broadcast לכולם):
'מי יש לו IP 192.168.1.5?' → שלוח ל-FF:FF:FF:FF:FF:FF
ARP Reply (Unicast):
'192.168.1.5 כאן! MAC שלי: AA:BB:CC:11:22:33'
ARP Table (Cache):
המחשב שומר: 192.168.1.5 → AA:BB:CC:11:22:33
! ARP Spoofing = Man-in-the-Middle ›
תוקף שולח ARP Reply מזויף: 'אני 192.168.1.1 (ה-Router), ה-MAC שלי הוא XX:XX:XX'. הקורבן שומר ב-ARP Table. עכשיו כל תעבורה לRouter עוברת דרך התוקף.
HTTP — תוקף קורא הכל. HTTPS — מוצפן, תוקף רואה Domain בלבד.
SSLStrip: תוקף ב-MITM מוריד HTTPS ל-HTTP. Mitigation: HSTS — הדפדפן יודע מראש שsite תמיד HTTPS.
✏תרגול עצמי2 שאלות
שאלה ב׳.9 [בינוני]
ARP Spoofing מאפשר:
✓ תשובה: ד) MITM ברמת LAN — תוקף שולח ARP Reply מזויף → הקורבן שולח תעבורה לMAC של התוקף במקום לRouter. Man-in-the-Middle!
שאלה ז׳.8 [גאמא-סגנון]
ARP Table של מחשב מראה שתי רשומות שונות לאותו IP 192.168.1.1. מה חשוד?
✓ תשובה: ד) ARP Poisoning — ARP Table תקין: כל IP → MAC אחד. שתי רשומות לאותה IP = מישהו מזריק ARP Replies מזויפים. MITM!
// אתגר מעשי
אתגר מעשי — רשתות: כתובות IP
שיא השיעור: לא לזהות תשובה — לבנות ולתקן. פתרו את משימת החובה, ואז את האתגר שמעליה. הגשה נבדקת אוטומטית מול מקרי-קצה נסתרים.
T1 · מתחיל100 נק'~10 דק'algorithmic
IPv4 → מספר 32-סיביות (עם ולידציה)
נתונה כתובת IPv4 כמחרוזת בפורמט dotted-quad. אם תקינה — החזר את ערכה כמספר שלם 32-סיביות (האוקטט השמאלי הוא הבייט המשמעותי ביותר). אם לא תקינה — החזר None. כתובת תקינה: בדיוק 4 אוקטטים, כל אחד ספרות עשרוניות בטווח 0–255, ללא אפסים מובילים (פרט ל-"0"), ללא רווחים או תווים זרים.
דוגמאות
ip_to_int('1.2.3.4')→16909060
ip_to_int('255.255.255.255')→4294967295
ip_to_int('256.0.0.1')→None
הפתרון נשמר מקומית ומשותף עם עמוד „כתיבת קוד”.
פתרון-ייחוס IPv4 → מספר 32-סיביות (עם ולידציה) ›
def ip_to_int(ip: str) -> int | None:
parts = ip.split('.')
if len(parts) != 4:
return None
val = 0
for p in parts:
if not p.isdigit(): # תווים זרים / רווחים
return None
if len(p) > 1 and p[0] == '0': # אפסים מובילים
return None
n = int(p)
if n > 255:
return None
val = (val << 8) | n
return val
T2 · בסיסי200 נק'~18 דק'algorithmic
כתובת רשת ו-Broadcast מ-CIDR
נתונה נוטציית CIDR כמחרוזת "a.b.c.d/prefix" (למשל "192.168.1.10/24"). חשב והחזר צמד (network, broadcast) — כתובת הרשת וכתובת ה-broadcast, שתיהן כמחרוזות dotted-quad. ה-prefix בטווח 0–32. אם ה-CIDR פסול (IP לא תקין, prefix מחוץ לטווח, פורמט שגוי) — החזר None. רמז: mask = 32 סיביות שה-prefix העליונות בהן דלוקות; network = ip AND mask; broadcast = network OR (NOT mask).
HTTP: Methods (GET/POST), Status Codes (200/301/404/500)
HTTPS/TLS: הצפנה + אימות + Integrity
CIA Triad: Confidentiality + Integrity + Availability
ARP Spoofing = MITM ברמת LAN
🎯 חיבור לפרוטוקול המומצא בגאמא
פרוטוקול חדש שיינתן יכיל: Header עם Fields, Flags, Sequence Numbers, Acknowledgments. מי שמבין TCP — יזהה דפוסים מיד. SYN/ACK/FIN = Connection Management. Flags = bitwise AND לבדיקה. Checksum = בדוק חוקיות.
🎯 השיעור הבא
שיעור 4 — שפות תכנות: מ-Assembly ועד Python
✏תרגול סיום3 שאלות
שאלה ב׳.19 [קשה]
תוקף שולח חבילות עם Source IP=ה-IP של הקורבן לאתר גדול. מה הוא מנסה?
✓ תשובה: ג) IP Spoofing + Amplification — שלח UDP/DNS לשרת גדול עם src=Victim IP. שרת שולח תשובה גדולה לקורבן. תוקף שולח קטן, קורבן קולט גדול = DDoS Amplification.
שאלה ב׳.18 [קשה]
DNS Query לdomain עם TTL=0 משמעותו:
✓ תשובה: א) No Cache — TTL=0 = כל בקשה תגיע לDNS Server. שימוש: Geo-Load Balancing (תמיד IP עדכני לפי מיקום) או Security.
שאלה ז׳.9 [גאמא-סגנון]
Firewall Rule: DENY tcp 0.0.0.0/0 → 10.0.0.5:3389. מה כלל זה עושה?
✓ תשובה: א) — 3389 = RDP. DENY tcp ANY → 10.0.0.5:3389 = אסר RDP לשרת זה. הגנה מפני Brute Force על Remote Desktop.
שאלות תרגול ותשובות (7)
שאלה 1 · מה ההבדל בתפקיד בין Client לבין Server?
א. הלקוח יוזם את הבקשה והשרת מגיב
ב. השרת יוזם והלקוח מגיב
ג. שניהם יוזמים בו-זמנית
ד. הלקוח חזק יותר מבחינת מעבד
תשובה: א
Client יוזם (דפדפן, nslookup), Server ממתין ומגיב (Nginx, שרת DNS). כך פועלים HTTP, DNS ו-SSH.
שאלה 2 · מה עושה שרת DNS?
א. מצפין את התעבורה
ב. מתרגם שם דומיין לכתובת IP
ג. מחלק כתובות IP ברשת המקומית
ד. מנתב חבילות בין רשתות
תשובה: ב
DNS הוא "ספר הטלפונים" של האינטרנט וממיר שם כמו example.com לכתובת IP. חלוקת כתובות היא DHCP וניתוב הוא תפקיד הראוטר.
שאלה 3 · מדוע DNS פגיע ל-Cache Poisoning?
א. משום שהוא מוצפן ב-TLS
ב. משום שהוא רץ מעל UDP חסר State וללא אימות המשיב
ג. משום שהוא משתמש בפורט 443
ד. משום שהוא עובד רק ברשת מקומית
תשובה: ב
UDP אינו מקיים Handshake ואינו מאמת את הצד המשיב, ולכן תשובה מזויפת שמגיעה ראשונה עם ה-Transaction ID והפורט הנכונים נשמרת במטמון ומפנה גולשים לשרת של התוקף.
שאלה 4 · מהם שלושת שלבי ה-Three-Way Handshake ב-TCP?
א. SYN → SYN-ACK → ACK
ב. ACK → SYN → FIN
ג. SYN → FIN → RST
ד. PSH → ACK → URG
תשובה: א
הלקוח שולח SYN, השרת מחזיר SYN-ACK והלקוח מאשר ב-ACK. רק אז נפתח חיבור אמין. FIN ו-RST משמשים לסגירה.
שאלה 5 · כיצד בודקים בקוד אם דגל ה-ACK דלוק בבייט הדגלים של TCP?
א. flags == 0x10
ב. flags & 0x10
ג. flags | 0x10
ד. flags << 0x10
תשובה: ב
הדגלים הם ביטים בודדים באותו בייט, ולכן בודקים עם AND ביטווייז. השוואה ב-== תיכשל כשדגלים נוספים דלוקים, ו-OR דווקא מדליק את הביט.
שאלה 6 · מהם שלושת מרכיבי ה-CIA Triad?
א. Confidentiality, Integrity, Availability
ב. Control, Identity, Access
ג. Cipher, Integrity, Authentication
ד. Confidentiality, Isolation, Authorization
תשובה: א
סודיות (מי רשאי לראות), שלמות (שהמידע לא שונה) וזמינות (שהשירות פועל). מתקפת DDoS פוגעת בזמינות, דליפת מידע בסודיות.
שאלה 7 · מה תפקיד פרוטוקול ARP?
א. לתרגם שם דומיין ל-IP
ב. לתרגם כתובת IP לכתובת MAC ברשת המקומית
ג. להצפין תעבורת HTTP
ד. להקצות פורטים לתהליכים
תשובה: ב
ברשת המקומית המסירה נעשית לפי כתובת MAC, ולכן ARP מברר איזו כתובת פיזית מתאימה ל-IP. היעדר אימות ב-ARP מאפשר מתקפות ARP Spoofing.