פורטים
זה קצת ארוך... מחשב אחד יכול להחזיק מספר שרותים, ומספר תוכנות שמציעות את אותם שרותים. לדוגמא: מחשב של ספקית שרותי אינטרנט, יכול לשמש גם כשרת דואר נכנס, גם כשרת דואר יוצא, וגם כשרת WWW. כלומר המחשב אמור להאזין לשאילתות שקשורות לקריאת דואר (pop3) כך שכאשר תוכנת הדואר שלך מנסה למשוך דואר משם, היא תפנה אל המחשב בשפה שנקראת pop3 ותגיד לו "אני המשתמש הזה, זו סיסמתי, נא להגיד לי איזה דואר מחכה לי, ונא להעביר לי אותו עכשיו". היא גם צריכה להאזין לבקשות דואר נדחף (smtp) כך שהתוכנה שלך או תוכנות אחרות יוכלו להגיד לו "אני רוצה להעביר לך דואר שתעביר אותו הלאה. נא לקבל אותו עכשיו". המחשב גם צריך להאזין לבקשות שקשורות לדפי ה- WWW, כך שהדפדפן שלך יוכל לפנות אל המחשב הנ"ל, ולהגיד לו "נא להעביר לי את עמוד ה- WWW שנמצא בכתובת הזאת" וכדומה (ואת זה הדפדפן שלך יגיד למחשב בשפת HTTP). במחשב הנ"ל תוכנות אחרות יכולות לטפל בכל אחד מהנושאים שהזכרתי. השאילתה לגבי עמוד ה- WWW צריכה להענות ע"י תוכנת שרת WWW, והתוכנה צריכה לדעת שהשאילתה היא ב- HTTP. לכן במחשב הנ"ל (ובכל מחשב) הוגדרו פורטים של TCP ופורטים של UDP (לא ניכנס יתר על המידה למושגים הנ"ל כאן), שכל שאילתה מכילה כתובת פורט מסויים, במחשב הנ"ל, ולפורט הזה מאזינה תוכנה ספציפית, ומצפה לבקשות תקשורת ולהמשך תקשורת בשפה מסויימת. לדוגמא, אם הבקשה הגיעה למחשב הנ"ל לפורט 80 שלו, אז ככלל, נהוג שבפורט זה מאזין שרת ה- WWW ומפענח את הפניות בהנחה שהן כתובות בשפה שנקראת HTTP (השפות הללו - HTTP, SMTP, POP3 נקראות פרוטוקולים, אבל אלו שפות שבהן משתמשות התוכנות הרלוונטיות כדי לשוחח אחת עם השניה). המשמעות של "הבקשה הגיעה לפורט 80" היא שהבקשה הגיעה ועליה היה כתוב "מיועדת לפורט 80 במחשב הזה והזה". בצורה דומה גם במחשב שלך כאשר תוכנה שלך (למשל הדפדפן) יוצרת קשר עם שרת מרוחק (למשל כדי למשוך עמוד WWW על מנת להציגו), היא מקבלת הקצאה של פורט שכל מה שמגיע לפורט הזה יגיע אליה. בצורה כזאת הרבה תקשורות יכולות לעבור במחשב שלך, וכל אחת מיועדת לתוכנה אחרת או לתקשורת אחרת, ולכן לכל אחת מהן מוגדר פורט במחשב שלך שהמחשב שלך יודע איזו תוכנה מאזינה לפורט הנ"ל. תוכנות לקוח, כגון תוכנת דואר אלקטרוני, או דפדפן, מאזינות ומטפלות רק בתקשורות שהן יזמו. לכן מספיק שבזמן שהן מבקשות משהו משרת מרוחק הן ספרו לו באיזה פורט הן מצפות לקבל את התשובה, כדי שהתקשורת תוכל להגיע אליהן דרך הפורט המתאים. תוכנות שרת אמורות לטפל בכל בקשה שמגיעה מכל מקום. לכן למשל שרת ה- WWW שדיברנו עליו, אמור להאזין קבוע לפורט הרלוונטי (פורט 80 ככלל), ולטפל בבקשות, בעוד שתוכנות לקוח מטפלות רק בתקשורות שהן יזמו את התחלתן. כל תוכנה שמאזינה לפורט מסויים "פותחת אותו" אבל תוכנת לקוח מכיוון שאינה עונה לתקשורות שלא היא יזמה, אם תבדוק בעזרת סורק חיצוני, תראה שהפורט שלה סגור, משום שמכיוון שהיא לא יזמה את הקשר עם הסורק החיצוני היא לא תענה לו. תוכנת שרת מאזינה ומטפלת בכל הפניות, ולכן כאשר סורק פורטים חיצוני ירצה ליצור קשר דרך הפורט שהיא מאזינה אליו, הוא יקבל שהפורט פתוח, כי תוכנת השרת מאזינה אליו לכל הפניות. הדפדפן שלך, אוטומטית יניח שהתקשורת מיועדת לפורט 80 במחשב המרוחק, אלא אם הגדרת לו אחרת (בכתובת האינטרנט של העמוד הרלוונטי). יש גם תוכנות שנקראות peer2peer ושהן כאשר רצות גם מאזינות לתקשורות שלא הן יזמו, למרות שאינן נחשבות כשרתים, ותוכנות אלו גם יוזמות תקשורות. דוגמאות נפוצות, אלו תוכנות ה- chat למיניהן (כגון IRC או ICQ) או תוכנות לשיתוף קבצים למיהין (כדוגמת Kazaa). כאשר אתה מריץ אותן באופן נורמלי, הן פותחות פורט מאזין לתקשורות מתוכנות מקבילות. מה הבעייתיות עם הפורטים הפתוחים: אם יש פורט פתוח ותוכנת peer2peer או תוכנת שרת מסויימת מאזינה לפניות בפורט הזה ומטפלת בהן, הפורץ יכול לנזות לתקשר עם התוכנה, ובהתאם לסוג התוכנה, לבדוק אם יש חורי אבטחה בגירסה זו של התוכנה, או חולשות אבטחה כתוצאה של קונפיגורציה רשלנית של המחשב, ואז לנצל אותן כדי לפרוץ למחשב שלך. במקשר של תוכנות לקוח, זה לא ילך כיוון שאם התוכנה לא פנתה אליו ראשונה, היא לא תתיחס לפניות של הפורץ על אף שהפורץ משתמש בפורט שהיא מאזינה אליו. לכן, אם יש לך פורטים פתוחים עליך לברר מה מאזין אליהן במחשב שלך. אם זו תוכנה לגיטימית שמאזינה להם לצרכים לגיטימיים, עליך לוודא שיש לך את כל עדכוני האבטחה לתוכנה. במקרה שזו תוכנת שרת או תוכנת peer2peer, אז אם יש לך פיירוול, יתכן שתוכל לאפשר לתוכנה לתקשר רק עם מספרי IP מסויימים שרלוונטים לצרכים שלה, או לחילופין, להשתמש בה דרך פרוקסי (וזה לא אפקטיבי במקרים רבים משום שהיא עדיין מאזינה). אם זו תוכנה לא לגיטימית או שההאזנות שלה לא לגיטימיים יש לבטל את ההאזנה, אם אפשר, ע"י מניעת הרצת התוכנה או ע"י הסרתה, ואם לא, אז ע"י קינפוג הפיירוול.