Quick Links  
  : Knowledge Base
: Active Directory
: Cisco and Routing
: Exchange Server
: Virtualization
: Windows Server 2008
: Windows Vista
: What's New?
: Forums
: Forums Archive
: Sponsor us
: Feedback
: עברית

 
  Petri Email Digest  
 
Our biweekly emails will keep you up to date on our latest news and articles straight to your inbox!
 
Privacy Policy
 
  Most Popular Articles  
  : PST File Repair with ScanPST
: Forgot the Administrator's Password?
: How to Write ISO Files
: How to Change the Serial in Windows XP
: Install Windows XP Pro  
: Disable UAC in Windows Vista
: How to Install Active Directory on Windows 2003
: How to Install Windows Vista
: Home Network Setup
: How to Setup a VLAN on a Cisco Switch
 
  Read More  
  Computer Training  
 

Top-Rated Windows, Exchange, Cisco CCNA & Virtualization Video Training courses. Products feature Instructor-Led Videos & Lab Books!

 
  : Windows Vista Training
: Learn DNS
:
Active Directory Training
: Small Business Server 2003
: MCSE Training
: Exchange Server 2007
: Cisco CCNA
: ISA Server 2004 Training
: CWNA Wireless Training
: Windows Home Server Videos
: Windows Server Training

: Cisco CCNP Training
: VMware Server Training
: VMware ESX Server Training
: A+ Training
: Sharepoint Server 2007
: Comptia Network+ Training
: Free IT Training
 
  Read More  
  Sponsored Ad  
 
 
  Microsoft MVP Program  
 

Author is a Windows Server System - Exchange Server MVP

 
  Read More  
 

מאת: דניאל פטרי

מה זה Port? הסבר על רגל אחת

כששני מחשבים רוצים לתקשר זה עם זה באמצעות פרוטוקול ה- TCP/IP הם צריכים להחליט באיזה ערוץ להעביר את המידע. במילים אחרות, איך ידע מחשב בצד אחד שהמידע שהוא שולח אכן מגיע ליישום הנכון במחשב בצד השני, ואיך ידע המחשב בצד השני שהמידע שהוא מקבל אכן נובע מהמחשב הראשון ולאיזה יישום להעלות אותו (שכבת האפליקציה - השכבה ה- 7 במודל 7 השכבות - ה- OSI Model).

בין כל 2 מחשבים שמתקשרים ביניהם נוצר Session. למען האמת, ה- Session לא נוצר תמיד, אלא רק במידה ועובדים ביישום כלשהו שמשתמש בפרוטוקול העברת הנתונים שנקרא TCP, ולא בפרוטוקול ה- UDP. איך יודעים באיזה סוג פרוטוקול משתמש היישום? אם זה יישום שמחייב בדיקת העברת הנתונים, יישום אינטרנטי (בד"כ אבל לא תמיד) או יישום שמעביר קבצים - בד"כ הם יעבדו כברירת מחדל באמצעות TCP. אם מדובר ביישום ששואל שאלה ומצפה לתשובה (כמו DNS) או יישום שמכריז הכרזה ולא מחכה לתשובה (כמו למשל "שכנים ברשת"), אז בד"כ זה יהיה ב- UDP.

כל יישום שנותן שירותים מתוכנת להקשיב בערוץ תקשורת מסויים. הערוץ הזה נקרא PORT. כל יישום שמתוכנת לבקש שירות מתוכנת לפנות אל היישום שנותן את השירותים בערוץ הקבוע מראש, כלומר בפורט הקבוע והידוע מראש. למשל, תוכנת דואר אלקטרוני יודעת שכשהיא רוצה לשלוח דואר אל שרת הדואר עליה לפנות אל השרת בפורט 25. במידה והיא תנסה לפנות אל השרת בפורט אחר, לא יהיה שם אף אחד שיענה לה. דפדפן אינטרנט יודע שכדי לגלוש באינטרנט עליו לפנות לשרת האינטרנט בפורט 80, אחרת לא יענו לו. ואם אתה הולך לאתר מאובטח ב- SSL אז זה חייב להיות לפורט 443. ואם אתה מושך דואר, אז התוכנה שלך חייבת לפנות אל השרת בפורט 110. הבנתם את הרעיון.

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

למשל, אתה גולש באינטרנט לאתר שכתובתו היא www.kuku.co.il פתחת דפדפן אל האתר. מה שקורה בקרע הוא שהמחשב שלך שולח פאקטים של בקשת מידע מהתחנה שלך אל השרת, אבל לא סתם מהתחנה אל השרת, אלא מפורט ספציפי על התחנה אל פורט ספציפי על השרת. במקרה שלנו, ייתכן והתחנה יצרה פאקט של מידע שיוצא מפורט (זוהי רק דוגמה) 1034 המקומי, אל פורט 80 של השרת, והכל מבוסס על פרוטוקול ה- TCP.

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

הפורטים של השירותים הם ידועים וקבועים מראש: מ- 1 ועד 1024.

הפורטים של הקליינטים הם דינאמיים ונעים בטווח מסויים: מ- 1024 ועד הרבה יותר גבוה- סביב ה- 49,000.

בעיקרון, יכולים להיות עד 65,535 פורטים למחשב, וחלקם הגדול כבר תפוס ע"י יישומים שונים. למשל, פורט תפוס עבור שרת HTTP ופורט אחר תפוס עבור שרת SMTP ופורט אחר תפוס עבור שרת POP3 וכו' וכו', יש גם תוכנות בבעלות פרטית כמו למשל PcAnywhere, ICQ, Kazaa וכו'', שכל אחת "השתלטה" על פורט פנוי ותפסה עליו בעלות. כך שאם אתה מתקין אצלך PcAnywhere וגם אצל מחשב של חבר ורוצה להתחבר אליו, המחשב שלך "יודע" שהוא צריך ללכת לפורט 5631 או 5632 כי זה הפורט בו מאזינה התוכנה.

לרשימה כמעט מלאה של רוב הפורטים הידועים גשו לכאן:

Well Known Port Numbers

(רשימה כמעט מלאה אבל יש עוד כמותה. גוגל זה מקום טוב להתחיל לחפש בו)

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

http://www.kuku.co.il:45213

(זו רק דוגמא, זה לא יעבוד)

כשמחשבים רוצים להקים Session ביניהם הם בעצם יוצרים משהו שנקרא Socket.

Socket הוא בעצם קשר בין כתובת IP בצד אחד בפורט המקור, לכתובת IP בצד שני לפורט יעד - באמצעות פרוטוקול העברת נתונים כמו TCP (או UDP).

יש תוכנות רבות שמסוגלות ללכת למחשב או למספר רב של מחשבים ולבצע סריקה של הפורטים הפתוחים בהם.

מה זה פורט פתוח? פורט פתוח הוא פורט ש"מקשיב" ומוכן לקבל שיחות או Sessions, כלומר זהו פורט שבו יושבת תוכנה נותנת שירותים ומוכנה לקבל פניות ולענות להן.

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

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

לסורק פורטים מבוסס אינטרנט טוב לך לכאן:

www.auditmypc.com

אבל יש עוד רבים כמותו. חפש בגוגל. את זה אתה יכול לבד, נכון בובי?

כדי לחסום פורטים משתמשים בד"כ ב- Firewall שבעצם מונע הקמת Sessions לא רצויים עם מחשבים לא מוכרים וכך מגן על המחשב שלך. Firewall בסיסי הוא זה שמגיע עם Windows XP Pro ו- Windows 2000/2003, ורצוי להפעיל אותו מיד כדי למנוע פרצות מיותרות. לא מדובר ב- Firewall מקצועי כמו מוצרים אחרים, אבל בניגוד למוצרים אחרים הוא חינמי וקל מאוד להגדרה. ב- Windows XP Service Pack 2 שופר ה- Firewall הבסיסי והוא נקרא כעת Windows Firewall. רצוי להפעיל אותו.

רשימה לא מלאה של Firewalls לשימוש ביתי וסקירה קצרה שלהם תוכל למצוא כאן:

Personal Firewall Recommendations

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

לרשימה (חלקית) של פורטים ידועים של סוסים טרוייאניים ושות' ראה כאן:

Trojan Ports List

כל זה על רגל אחת.

 

up

back

 

Page updated: 08-01-2009
 
 
 
    Sponsored Ads  
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
  Copyright © 1998 Daniel Petri Ltd. No portion may be reproduced without my written permission. Microsoft, MS-DOS, Windows, Windows 2000, Windows XP, Windows Server 2003, Windows NT, Windows 98, Windows 95 are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A. and other countries. All other names are registered trademarks of their respective companies. Should any right be infringed, it is totally unintentional. Send me an e-mail and I will promptly and gladly rectify it. All external sites will open in a new browser. Petri.co.il does not endorse external sites and is not responsible for their content. For broken links, site problems - please send Feedback.