ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
אורח · ·
 

הודעה פורסם: 04/01/2016 - 10:34
נושא ההודעה: מנסה להבין -sockets

מצאתי את הפסקה הזו:
קוד:

Only one process may bind to a specific IP address and port combination using the same transport protocol. Common application failures, sometimes called port conflicts, occur when multiple programs attempt to bind to the same port numbers on the same IP address using the same protocol.

בדף הזה:
קוד:
https://en.wikipedia.org/wiki/Port_(computer_networking)

ומה שהבנתי זה שאני לא יכול להשתמש בשני אפליקציות שמשתמשות א. באותו פרוטוקול תעבורה (TCP וכדו') ב. אותו פורט ג. אותה כתובת IP.

אז למה אני יכול היום להפעיל נניח את firefox ו-chrome יחד? הרי הם משתמשים באותו פורט IP ופרוטוקול?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 04/01/2016 - 10:43
נושא ההודעה:

לכל שיחה יש שני צדדים. כשאתה משתמש בדפדפן אינטרנט הוא פותח שיחה מהמחשב שלך בפורט אקראי (אחד פנוי שנבחר על ידי מערכת ההפעלה), אל השרת בפורט 80.
כל "שיחה" כזאת מתרחשת בפורט שונה במחשב שלך, אבל במקרה של דפדפן אינטרנט באמת תגיע תמיד לפורט 80 (או 443 אם מדובר ב-SSL) בשרת.

שים לב שבמחשב השרת יהיו הרבה שיחות כאלו שיגיעו אליו לפורט 80, אבל כולן יטופלו על ידי אותו תהליך / תכנה.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 04/01/2016 - 11:19
נושא ההודעה: הבנתי, והשרת

והשרת ששולח לי בחזרה את המידע, ישלח לי לפורט האקראי שהתקבל ממערכת ההפעלה שלי?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 04/01/2016 - 11:27
נושא ההודעה:

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

הודעה פורסם: 04/01/2016 - 13:59
נושא ההודעה:

האדם לפני ענה לך מצוין. אני רק אוסיף שהנושא ללמידה פה הוא לא פורטים אלא TCP (או UDP, אבל זה פחות מה שאתה מדבר עליו).
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 04/01/2016 - 14:14
נושא ההודעה: מנצל"ש

מישהו יכול להמליץ על תוסף לדפדפן המציג את הפורט הנוכחי שבשימוש?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 04/01/2016 - 14:48
נושא ההודעה:

תוסף לדפדפן לא יעזור לך כי אין לך גישה לתוכנה עצמה שרצה.

אתה יכול לבדוק אילו פורטים פתוחים ע"י איזה תוכנה עם פקודה כמו netstat:

קוד:

sudo netstat -nput | grep firefox
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 04/01/2016 - 17:06
נושא ההודעה:

Anonymous :
תוסף לדפדפן לא יעזור לך כי אין לך גישה לתוכנה עצמה שרצה.

אתה יכול לבדוק אילו פורטים פתוחים ע"י איזה תוכנה עם פקודה כמו netstat:

קוד:

sudo netstat -nput | grep firefox


netstat זה עתיק, היום משתמשים ב-ss Razz

קוד:
 ss --tcp -np  | grep firefox
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 05/01/2016 - 13:37
נושא ההודעה: מה התכוונת במשפט "כי אין לך גישה לתוכנה עצמה שרצה."

Anonymous :
תוסף לדפדפן לא יעזור לך

אתה יכול לבדוק אילו פורטים פתוחים ע"י איזה תוכנה עם פקודה כמו netstat:

קוד:

sudo netstat -nput | grep firefox

למערכת ההפעלה שמקצה את הפורטים??
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 06/01/2016 - 07:55
נושא ההודעה:

אתה שאלת על הרחבה לדפדפן, מה שהתכוונתי זה שאם אתה כותב תוכנה שניגשת לרשת אתה יכול לדעת איזה פורט המערכת הקצתה לסוקט שלך אבל לא מתוך הרחבה לדפדפן.
מ- javascript (שזה מה שהדפדפן שלך מריץ בתור הרחבות) אין לך גישה לקריאות מערכת.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 06/01/2016 - 08:49
נושא ההודעה:

אולי זה לא הניסוח הכי טוב בעולם. אתה לא באמת מריץ קוד על המערכת אלא הדפדפן שלך מריץ קוד שיש לו מגבלות. ל- firefox למשל יש גישה לקריאות מערכת. אבל זה לא באמת מעניין מה הפורט שהמערכת מקצה ל- client.




http://man7.org/linux/man-pages/man2/getsockname.2.html
קוד:

getsockname() returns the current address to which the socket sockfd
       is bound, in the buffer pointed to by addr.  The addrlen argument
       should be initialized to indicate the amount of space (in bytes)
       pointed to by addr.  On return it contains the actual size of the
       socket address.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 06/01/2016 - 16:21
נושא ההודעה: Re: מנסה להבין -sockets

Anonymous :
מצאתי את הפסקה הזו:
[code]
אז למה אני יכול היום להפעיל נניח את firefox ו-chrome יחד? הרי הם משתמשים באותו פורט IP ופרוטוקול?


כשאתה פותח פיירפורס וכרום אתה לא פותח סוקט לחיבור בצד שלך עם אותו הפורט, אתה מתחבר ליעד בעל אותו פורט וIP
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
שחרלא בפורום כעת ת.הצטרפות: 07/04/2003 · הודעות: 250 ·
 

הודעה פורסם: 10/01/2016 - 08:21
נושא ההודעה: מצטער על הניטפוק

המשפט "רק process אחד יכול להתחבר לפורט נתון" פשוט לא נכון, משתי סיבות.

הסיבה הפחות מעניינת היא שמדובר לא על התחברות, אלא על קישור (bind). הסיבה היותר עמוקה היא שהמגבלה היא לא על מספר התהליכים, אלא על מספר ה–sockets. רק socket אחד יכול להקשר לפורט נתון בכתובת נתונה. ב–socket הזה יכולים להשתמש כמה תהליכים שרק תרצה, ונסיון של אותו התהליך לקשר עוד socket לאותו הפורט ייכשל.

לגבי ההבדל בין התחברות לבין קישור, הרי שזו בדיוק נקודת הבילבול של השואל המקורי. כאשר אתה מייצר תקשורת יוצאת, אתה מייצר socket שמתחבר לפורט 80 של מכונה מרוחקת, אבל מקושר לפורט אקראי במכונה המקומית. מכיוון שמדובר בפורט אקראי, אין התנגשות בין פיירפוקס לבין כרום.

עוד נקודה, אם אנחנו כבר מנסים לדייק, היא שטכנית כן אפשר להגיע למצב שבו מספר sockets מקושרים לאותו הפורט. כאשר אנחנו פותחים פורט מקשיב, יש לו רק כתובות מקומיות. כאשר מתבצע אליו חיבור חדש ואנחנו קוראים ל–accept, החיבור החדש מקבל socket חדש. ה–socket החדש מקושר לאותו הפורט כמו ה–socket שהקשיב. אין התנגשות, אבל, מכיוון של–socket החדש יש כתובת ופורט מרוחקים בעוד ל–socket המקורי אין. זה מאפשר למערכת ההפעלה לנתב את המידע הנכנס ל–socket הנכון.

שחר

_________________
שחר שמש
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. אורח
  2. אורח
  3. אורח
  4. אורח
  5. אורח
  6. אורח
  7. אורח
  8. אורח
  9. אורח
  10. אורח
  11. אורח
  12. אורח
  13. שחר