הרבה שירותי רשת פועלים באמצעות פרוטוקול בקרת שידור או TCP כפרוטוקול שכבת התעבורה. הסיבה לכך היא ש-TCP מציע תקשורת מכוונת חיבור המאפשרת למכשיר המשדר להיות בטוח שהמקבל המיועד של ההודעה אכן מקבל אותה, כי יש חיבור דו-כיווני נוצר.
עם זאת, לא לכל אפליקציה צריכה להיות חיבור כזה, במיוחד לאפליקציות בזמן אמת שבהן היא נמצאת עדיף שהודעה תישמט במקום להמתין לשידורה מחדש, מה שיעכב הכל אַחֵר. עבור יישומים אלה, משתמשים בדרך כלל בפרוטוקול User Datagram או פרוטוקול שכבת התחבורה UDP.
דוגמה אחת לסוג תוכנה המשתמשת ב-UDP היא משחקי וידאו מקוונים. משחקים אלו מסתמכים על עדכונים קבועים שנשלחים על ידי השרת והמחשב וכל עיכוב שנגרם כתוצאה מהצורך בשידור מחדש של נתונים מפריע באופן משמעותי יותר מהצורך להתמודד עם חבילה או שתיים שהוחמצו.
מכיוון ששירותים מבוססי UDP אלו יכולים להיות בכל רשת, חשוב לבדוק אותם כחלק מבדיקת חדירה. למרבה המזל, מכיוון ש-UDP די נפוץ, הוא נתמך בדרך כלל על ידי תוכנת בדיקת רשת, ו-Nmap אינו יוצא דופן.
כיצד לסרוק יציאות UDP עם Nmap
בדיקת יציאות UDP עם Nmap דומה מאוד לבדיקת TCP, למעשה, התחביר זהה במהותו. ההבדל היחיד הוא שעליך לציין את דגל "סוג הסריקה" בתור "-sU" ולא "-sT" או "-sS". לדוגמה, פקודה יכולה להיות "nmap -sU 127.0.0.1 –top-ports 100 -vv" כדי לסרוק את כתובת הלולאה לאחור עבור 100 יציאות ה-UDP הנפוצות ביותר ולדווח על התוצאות עם פלט מפורט כפול.
דבר אחד שצריך להיות מודע אליו בסריקת UDP הוא שזה ייקח הרבה זמן. רוב הבקשות אינן מקבלות כל תגובה, כלומר הסריקה צריכה להמתין לזמן קצוב של הבקשה. זה הופך את הסריקות לאיטיות הרבה יותר מסריקות TCP שבדרך כלל יחזירו איזושהי תגובה גם אם יציאה סגורה.
ישנן ארבע תוצאות שאתה יכול לראות עבור יציאות UDP "פתוחות" "פתוחות|מסוננות", "סגורות" ו"מסוננות". "פתוח" מציין שבקשה קיבלה תגובת UDP. "פתוח|מסונן" מציין שלא התקבלה תגובה, מה שיכול להצביע על כך ששירות מאזין או שלא היה שם שירות. "סגור" היא הודעת שגיאה ספציפית של "יציאה בלתי ניתנת להשגה" של ICMP. "מסונן" מציין הודעות שגיאה אחרות שאינן ניתנות להשגה של ICMP.