פרויקט זה עוסק בניתוח מעמיק של פרוטוקולי תקשורת, סימולציית אריזת נתונים (Encapsulation) ופיתוח מערכת צ'אט מלאה ב‑TCP/IP.
הפרויקט מחולק לשני חלקים עיקריים:
- חלק 1: אריזה ולכידת מנות (Packet Analysis & Wireshark)
- חלק 2: פיתוח מערכת צ'אט (Client‑Server Chat System)
בחלק זה ביצענו סימולציה של תעבורת רשת משכבת היישום ועד לשכבה הפיזית, כולל לכידה וניתוח ב‑Wireshark.
group212252217_http_input.csv– קובץ קלט עם הודעות מדומות בשכבת היישום.raw_tcp_ip_notebook_fallback_annotated-v1.ipynb– מחברת Jupyter המדמה תהליך Encapsulation.capture.pcap– קובץ לכידה מ‑Wireshark.
- יצירת נתונים – יצירת קובץ CSV עם תרחישי HTTP/SMTP.
- עיבוד במחברת Jupyter
- טעינת הנתונים.
- הוספת כותרות TCP/IP/Ethernet.
- שידור מנות בלולאה מקומית (Loopback).
- לכידה וניתוח
- לכידה באמצעות Wireshark.
- אימות הופעת תוכן ההודעות ב‑Payload.
מערכת צ'אט מרובת משתמשים המבוססת על Sockets ו‑Threading.
המערכת תומכת בלפחות 5 לקוחות במקביל, ניתוב הודעות פרטיות וממשק משתמש גרפי מתקדם (בעיצוב Y2K Pink).
- ארכיטקטורת שרת‑לקוח.
- Multi‑threading לטיפול במספר לקוחות במקביל.
- פרוטוקול הודעות:
TargetName:Message. - ממשק GUI מעוצב (Pink Theme) וממשק CLI.
- טיפול בניתוקים, רשימת משתמשים מחוברים בזמן אמת וחסימת הודעות לא תקינות.
- Python 3.6+
- ספריית
tkinter(מגיעה מובנית עם התקנת Python סטנדרטית).
אין צורך בהתקנת ספריות חיצוניות נוספות.
שרת
python server_gui.py
הזן IP ופורט (או השתמש בברירת המחדל) ולחץ על START SERVER.
לקוח
python client_gui.py
הזן כינוי (Nickname), כתובת שרת ופורט והתחבר.
- שרת:
python server.py - לקוח:
python client.py
| קובץ | חלק | תיאור |
|---|---|---|
| group_61305-2_http_input.csv | חלק 1 | קובץ נתונים אפליקטיביים |
| raw_tcp_ip_notebook_fallback_annotated-v1.ipynb | חלק 1 | סימולציית Encapsulation |
| csv_communications_capture.pcap | חלק 1 | לכידת Wireshark |
| server.py | חלק 2 | שרת CLI (לוגיקה מרכזית) |
| server_gui.py | חלק 2 | שרת GUI (מעטפת גרפית) |
| client.py | חלק 2 | לקוח CLI (לוגיקה מרכזית) |
| client_gui.py | חלק 2 | לקוח GUI (מעטפת גרפית) |
| Project_Report.docx | כללי | דוח מסכם |
מגישים: שי כהן, שחר סידון, איסבל דייצ׳ב