תונכת קרפ - cyberport ו ip ףוריצ ידי לע רדגומ socket ןנוג קרב 5...

18
פרק2 - תכנותsocket ים1 ברק גונן מבוסס על ספר הלימוד" רשתות מחשבים" מאת עומר רוזנבוים

Upload: others

Post on 17-Oct-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

יםsocketתכנות -2פרק

1

ברק גונןמאת " רשתות מחשבים"מבוסס על ספר הלימוד

עומר רוזנבוים

Page 2: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

לקוח–מהי תקשורת שרת

מהוsocket

נכתוב שרת ולקוח בשפתpython , בעזרתsocket

השרת והלקוח יתקשרו ביניהם:שליחת הודעות◦

העברת קבצים◦

תמונות◦

'וכו◦

ברק גונן 2

Page 3: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

שרת–server , לקוח-client

צורת התקשורת הנפוצה ביותר באינטרנט

ה-serverמספק שירות כלשהו

ה-clientפונה ל-serverכדי להשתמש בשירות

התקשורת בין השרת והלקוח מתבצעת על ידיsocket

ברק גונן 3

Page 4: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

Socketהוא נקודת קצה של חיבור בין שני רכיבים

צריך לקשר ביניהם, אם רוצים להעביר מידע בין מחשבים◦

גם העברת מידע בין תוכנות שרצות על אותו מחשב מצריכה קישור◦

socketנקודות הכניסה והיציאה של המידע מכונות ◦

אפשר להמשילsocketלצינור:

זרם של בתים-זורם מידעsocket-ב◦

זרימת המידע היא דו כיוונית◦

נקודות התחלה וסיוםsocket-יש ל◦

ברק גונן4

Page 5: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

כדי ש-socketצריך להגדיר , יוכל לשמש להעברת מידע

את נקודות הקצה שלו

י שני מזהים"הגדרת נקודת קצה מתבצעת ע:?עם איזה מחשב מתקיימת התקשורת-מזהה הרכיב◦

על המחשב שאיתו מתקיימת התקשורת רצות -מזהה התהליך◦

?עם איזו תוכנה מתקיימת התקשורת. מספר תוכנות

◦Socket שרת ולקוח-נקודות קצה2הוא צירוף של

כתובת : מזהה הרכיבIP

מספר פורט : מזהה התהליךPort

0-65535מספר בטווח ◦

Socket מוגדר על ידי צירוףIPו-Port

ברק גונן 5

Page 6: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

שרת שכתובת ה-IP מאחסן דפי אינטרנט שונים1.2.3.4שלו היאHTTPSאו מאובטחת HTTPהשרת תומך בהעברת דפים רגילה ◦

שרת שכתובת ה-IP מספק מספר שירותים5.6.7.8שלו היאויודע IPיודע לקשר בין כתובות דומיין לכתובות , השרת תומך בהעברת קבצים◦

לטפל באימיילים

לאיזה צירוף שלIPו-Port צריך לפנות לקוח שרוצה לבצע תשאולDNS ?גלישה מאובטחת לאתר אינטרנט?

ברק גונן 6

:תהליכים20פורט –FTPהעברת קבצים 1.

53פורט -DNSמענה לבקשות 2.

–SMTPשליחה וקבל אימיילים 3.

25פורט

:תהליכים–HTTPגלישה לדפי אינטרנט 1.

80פורט

גלישה לדפי אינטרנט מאובטחים 2.HTTPS– 443פורט

1.2.3.4שרת 5.6.7.8שרת

Page 7: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

1.2.3.4על השרת שכתובתותלמיד רוצה . הותקן דפדפן

לגלוש מהשרת אל אתר שמאוחסן על אותו , אינטרנט

?צריך לפנותIPלאיזה . השרת

ה: רמז-IP 1.2.3.4אינו

משמעות . 127.0.0.1: תשובהIP כתובת הבית"זה הינה" ,

-התוכנה מולה נפתח ה, כלומרsocket נמצאת באותוהמחשב

ברק גונן 7

Page 8: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

הלקוח מנסה להתחבר לשרת–Port, IP

נוצר קשר חדש דו כיווני, ל"אם השרת מאזין בפורט הנ

ברק גונן 8

AF_INET:Internet

protocol (IP)

SOCK_STREAM:Connection type (TCP)

Page 9: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

הורידו את השרת מהכתובת https://data.cyber.org.il/networks/echo_server.pyc

שימרו את הקובץ למיקום

C:\networks\work\echo_server.pyc

מה-command lineהריצו את הפקודה:python C:\networks\work\echo_server.pyc

לקוח שכיתבוכעת:(8820פורט )מתחבר אל השרת ◦

שולח הודעה אל השרת◦

מקבל את תשובת השרת ומדפיס אותה על המסך◦

ברק גונן 9

Page 10: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

שרת כיתבו

שמקבל את

פניית הלקוח

ועונה לו Hello

ברק גונן 10

Page 11: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

שרת כיתבו

שמקבל את

פניית הלקוח

ועונה לו Hello

ברק גונן 11

0.0.0.0:Listen to all IP’s on this computer

Page 12: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

שרת כיתבו

שמקבל את

פניית הלקוח

ועונה לו Hello

ברק גונן 12

Wait for client connection

Page 13: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

שרת כיתבו

שמקבל את

פניית הלקוח

ועונה לו Hello

ברק גונן 13

Page 14: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

הריצו את השרת והלקוח ב-Pycharmמומלץ כשרוצים לדבג◦

שני חלונות פיתחוcommand lineserver.pyבראשון הריצו את ◦client.pyבשני הריצו את ◦

ברק גונן 14

Page 15: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

פרוטוקולProtocol הוא אוסף של חוקים שמאפשר

לשתי ישויות או יותר להעביר ביניהן מידע

דוגמה:

ברק גונן

סליחה אדוני

?כן

מה השעה

?בבקשה

שבע וחצי

תודה רבה

מבקש להקים קשר

מאשר הקמת קשר

מבקש מידע

שולח מידע

מנתק קשר

Page 16: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

השרת מבצע פקודות שהלקוח שולח ומחזיר תשובה

רשימת הפקודות:◦Time, Name, Rand, Exit(פירוט בספר)

טיפים לביצוע התרגיל:socket.send(4)-שולח כמות בתים קבועההלקוח ◦

השרת מחזיר כמות בתים משתנה◦

הוסיפו שדה אורךתשובת השרת בתחילת

חייב להיות באורך קבוע מראשהאורךשדה

חשולשהלקוחדברכלעםולהתמודדיציבלהיותחייבהשרת◦

ברק גונן 16

Page 17: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

לקוח של תוכנה שמאפשרת -בתרגיל זה תכתבו שרת

:לטכנאי לבצע פעולות שונות על מחשב מרוחקקבלת צילום מסך◦

הפעלת תוכנות שונות◦

העתקה של קובץ מהשרת◦

מחיקת קבצים, הצגת תוכן תיקיה◦

הדרכה נמצאת בספר הלימוד ובסרטונים הבאים:2.7הנחיות לתרגיל ◦

דוגמת הרצה2.7תרגיל ◦

בשקף הבא-טיפים לעבודה

ברק גונן 17

Page 18: תונכת קרפ - CyberPort ו IP ףוריצ ידי לע רדגומ Socket ןנוג קרב 5 םינוש טנרטניא יפד ןסחאמ איה ולש IP ה תבותכש תרש HTTPS

לקוח–מודל עבודה שרת

כתיבתsocket

פיתוח שרת ולקוח ב-python

תכנון פרוטוקול תקשורת

ברק גונן 18