מהי כתובת IP

כתובת IP או Internet protocol כשמו כן הוא פרוטוקול תקשורת וחלק מהחבילה TCP/IP

ובעצם משמשת כדי לאפיין מכשיר מסויים ברשת כולה (WAN) או ברשת המקומית (LAN).

למה צריך כתובת IP?

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


ישנם 2 כתובות IP-

גלובלית:

 כתובת IP גלובלית היא הכתובת של המכשיר המסוים ברשת כולה (WAN) וכדי לבדוק מהי אפשר להיכנס לכאן ולראות מהו כתובת ה – IP הגלובלית שלכם.

לוקאלית:

כתובת IP לוקאלית היא הכתובת של המכשיר ברשת הפנימית (LAN) וכדי לבדוק מהי אפשר להיכנס לשורת הפקודה (CMD) ולכתוב את הפקודה: ipconfig תחת ipv4 תוכלו לראות את הכתובת הלוקאלית.

כמובן שיש מספר מקסימלי של כתובות IP שאפשר להכניס ברשת אחת ולכן הכתובות מחולקות לכיתות

זוהי טבלה המראה את הכיתות (classes)

Class Address range Supports
Class A 1.0.0.1 – 126.255.255.254 Supports 16 million hosts on each of 127 networks.
Class B 128.1.0.1 – 191.255.255.254 Supports 65,000 hosts on each of 16,000 networks.
Class C 192.0.1.1 – 223.255.254.254 Supports 254 hosts on each of 2 million networks.
Class D 224.0.0.0 – 239.255.255.255 Reserved for multicast groups.
Class E 240.0.0.0 – 254.255.255.254 Reserved for future use, or research and development purposes.

וזוהי טבלה המציגה את מספר כתובות ה- IP האפשרי בכל כיתה וה- subnet mask של כל כיתה

כיתה מספר כתובות אפשרי subnet mask
Class A 0 – 126 225.0.0.0
Class B 128 – 191 255.255.0.0
Class C 192 – 223 255.255.255.0
Class D 224 – 239 subnet מיוחד
Class E 240 – 255 subnet מיוחד

המחשב שלכם נעול? עם סיסמה? – תחשבו שוב!

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

במסך הכניסה מופיעות שלוש אפשרויות בתחתית בצד ימין או שמאל תלוי מהי השפה שבה אתם משתמשים במערכת ההפעלה. את האפשרויות אפשר לראות בתמונה למטה:

האפשרות הראשונה היא אפשרות לכבות,להפעיל מחדש.

האפשרות השנייה היא אפשרות לשנות כל מיני דברים כמו לשים מקלדת על המסך וכדומה.

האפשרות השלישית והאחרונה היא אפשרות להתחבר לאינטרנט.

אוקיי הכל מובן! איך מפה אני נכנס למחשב? ועוד בלי הסיסמה?

אז ככה, כמו שאמרתי ישנה אפשרות לשנות דברים כמו מקלדת על המסך והיא בעצם קובץ שנקרא Utilman.exe אם אנחנו יכולים להשיג גישה לקבצים (ועוד מעט ניגע בזה) ולהחליף בין הקובץ הזה (UTILMAN) לCMD אז היינו יכולים לאפס או לשנות אותה…

כדי להשיג גישה למחשב כל מה שאנחנו צריכים לעשות זה לגרום לווינדוס לחשוב שיש בעיה כשעושים BOOT ולהיכנס למצב שבו אתם יכולים לאפס ולעשות כל דברים שאמורים כביכול לפתור את הבעיה. וכדי להיכנס למצב הזה אנחנו צריכים להפעיל את המחשב וברגע שהווינדוס עולה (כשהמסך הזה מופיע:)

יש לכבות אותו ולחזור על הפעולה שלוש פעמים. לאחר מכן יופיע המסך הבא בהדלקה:

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

לאחר כמה שניות יופיעו המון אפשרויות לתיקון ה"תקלה"(ראו תמונה):

נלחץ על Troubleshoot

עכשיו יופיע המסך הבא שבו שוב נבחר אפשרויות מתקדמות:

במסך הבא יש ללחוץ על System Image Recovery אם האפשרות לא מופיעה במסך כמו בתמונה יש ללחוץ על See more recovery options:

במסך הבא נלחץ על Cancel:

ואז על Advanced:

אחרי שיפתח החלון הבא יש ללחוץ על Install a driver:

ככה תקצרו את קוד הPython שלכם!

כתבה זו נכתבת בהנחה שלקוראים יש ידע בסיסי בפייתון , אם לא ממליץ לכם להתחיל ללמוד!

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

הפונקצייה map –

הפונקציה map נועדה על מנת להפעיל פונקציה אחרת כלשהי ( בין אם פונקצייה שהמתכנת הגדיר, פונקצייה מובנת בשפה או פונקצייה מספרייה שלה קראתם בקוד ) , את הפונקציה מפעילים על iterator (אובייקט המורכב ממספר מסוים של איברים שנמצאים בסדר כלשהו ומאפשר לבצע פעולה מסוימת על כל איבר בנפרד). מבנה הפונקצייה הוא כך:

map( function , iterable )

פונקציית למדא:

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

אז קודם כל נראה את המבנה של פונקציית למדא:

lambda -some parameters- : expression

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

ולסיום דוגמה לשימוש בשתי הפונקציות – פונקציה שתעבור על רשימה ותכפיל את כל האיברים בה פי 2 :

הקוד
פלט הקוד

הסבר הקוד:

הגדרנו רשימה ובה הערכים מ1 ועד 4, לאחר מכן, שמרנו לתוך משתנה חדש את הפלט של הפעולה הבאה :

ביצענו את הפונקצייה map על הרשימה lst , הפונקציה שאותה ביקשנו מmap לבצע על הרשימה, היא פונקצייה שהגדרנו באותו הרגע , פונקצייה "חד פעמית" באמצעות המילה השמורה lambda , הפונקצייה לוקחת פרמטר x כלשהו, ומכפילה את ערכו פי 2 . בנוסף , המרנו את הפלט של map לסוג list , מכיוון שהפונקציה map מחזירה אובייקט מסוג map שלא כולל מתודת הדפסה ויש להמירו לטיפוס list. ** יש לציין שאת הקוד הנ"ל אפשר לכתוב בשורה אחת בלבד! פרסתי אותו על 3 שורות של קוד לנוחות הקוראים.

בואו נראה איך זה היה נראה ללא הכתיבה המקוצרת…

הקוד בכתיבה רגילה!
הקוד המקוצר בפריסה על שורה אחת בלבד!

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

Python – סדרת הכתבות יוצאת לדרך!

אין אחד שלא שמע על השפה פייתון (python) בהקשר של סייבר או סתם בהקשר של תכנות. אז את סדרת הכתבות על פייתון נפתח בהקדמה קצרה עבור אלה שלא שמעו על השפה או אלה ששמעו ורוצים לדעת עליה כמה נתונים מעניינים.

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

פייתון נחשב לשפה חזקה מאוד, בעלת יכולות חישוב חזקות ונחשבת כשפת חובה בתחום הבינה המלאכותית, big data , data science אשר דורשים חישובים עצומים על כמויות גדולות מאוד של מידע. בנוסף , פייתון נחשבת כשפה חזקה בפיתוח web , בתחום הרשתות ופיתוח כלים ואוטומציות לתחום הסייבר.

כיום פייתון נחשבת לאחת השפות הפופולאריות בעולם וצברה כמות עצומה של משתמשים ותומכים של השפה. בתמונה הבאה ניתן לראות את דירוג השפות הפופלאריות ביותר בעולם, שלפיו פייתון נמצאת במקום הראשון (הדירוג נעשה ע"י האתר הגדול ביותר בעולם בתחום התכנות stack overflow) :

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

הרץ – Hz

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

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

כמו שכבר נאמר הרץ הוא לא מידה שמשתמשים בה רק בעולם המסכים, אפשר לקחת את יחידת המידה הזאת לכל אירוע אחר שחוזר על עצמו לדוגמה: תווים- דו, רה, מי, פה… ואפילו יכולות שמיעה של בעלי חיים ובני אדם מודדים בהרץ.

התוסף שישנה לכם את החיים – TabNine

הכירו את התוסף שישפר את חייכם בתור מתכנתים, גם אם אתם כותבים אלפי שורות קוד וגם אם אתם כותבים 20 , התוסף הזה הולך לשנות לכם את החיים.

קוראים לתוסף TabNine, תוסף שנעזר בבינה מלאכותית על מנת לחזות מה תהיה שורת הקוד הבאה שתכתבו, או בקיצור – לשמור על הידיים שלכם רעננות. דוגמה :

הצהרתי על משתנה בשם alphabet והתוכנה הציעה לי להכניס לתוכו את אותיות השפה האנגלית

הדוגמה הנ"ל היא דוגמה בסיסית , התוכנה יכולה לחזות שורות קוד שלמות.

TabNine הוא כלי חדש המבוסס על GPT-2 של OpenAI, את התוסף אימנו על יותר מ2 מליון עמודי גיטהאב (GitHub) , כך שהתוסף מגיע למשתמש מאומן וכבר יכול לחזות את שורות הקוד שלכם לפני שמתחיל ללמוד על הרגלי הכתיבה הספציפיים שלכם. כמובן , שככל שתשתמשו בתוסף, הוא יילמד את הרגלי הכתיבה שלכם ויעבוד בצורה טובה יותר.

הכלי טוען לתמוך בכל השפות, וניתן למצוא אותו להורדה בכל עורך טקסט:

from visual studio code

אז מקווה שתהנו עם התוסף ובהצלחה 🙂

(Man in the middle (MITM-הסבר

אז מה זה בעצם מתקפת MITM

MITM או בשמה המלא Man in the middle ובעברית "התקפת האדם שבתווך" .
המתקפה נועדה להתקפת האזנה (Sniffing attack) על מידע הקשור בין שתי מכשירים מחשב וטלפון סלולרי ומערכות מידע מגוונות על ידי כך שהוא מתחזה לאנשים שהוא מתקשר איתם. התוקף בעצם מתחזה לאחד הצדדים, וכך נראה כאילו מתרחש חילופי מידע רגילים .מטרת התקיפה היא לגנוב מידע אישי, כגון פרטי הזדהות , פרטי חשבון ומספרי כרטיסי אשראי. ניתן להשתמש במידע שהושג במהלך מתקפה זו למטרות רבות, ניתן להשתמש במתקפה זו.

Man in the middle attack

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

הסבר קצר על ARP
בשמו המלא Address Resolution Protocol . זה בעצם פרוטוקול תקשורת בין מחשבים לאיתור כתובת MAC Address.

כעת נעבור לסוגי שיטות לבצע מתקפה זו:
1. זיוף DNS
במקרה זה הקורבן עשוי לחשוב שהוא מבקר באתר בטוח ואמין , במציאות הוא מתקשר בפועל עם התוקף. מטרת השיטה זאת היא להסיט את התנועה מהאתר האמיתי.

2. SSL Attack
כאשר המכשיר שלך מתחבר לשרת לא מאובטח – המצוין על ידי "HTTP" – חיבור לשרת מאובטח פירושו כי פרוטוקולי אבטחה סטנדרטיים קיימים, הגנה על הנתונים שאתה משתף עם השרת. SSL מייצג את Secure Sockets Layer, פרוטוקול המקים קישורים מוצפנים בין הדפדפן שלך לשרת האינטרנט. בנוסף , התוקף מיירט את כל המידע העובר בין השרת למחשב של המשתמש.


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

4. זיוף HTTPS
כאשר רואים "HTTPS" בכתובת האתר ולא "HTTP" זה סימן לכך שאתר האינטרנט מאובטח וניתן לסמוך עליו. למעשה, ה- "S" מייצג "מאובטח". התוקף יכול לעקוב אחר האינטראקציות שלך עם אותו אתר ולגנוב מידע אישי שאתה משתף.


5. ציתות Wi-Fi
התוקף יכול להגדיר את שם הנתב עם השמות שנשמעים לגיטימיים. לאחר שמשתמש יתחבר ל- Wi-Fi של התוקף, התוקף יוכל לעקוב אחר הפעילות המקוונת של המשתמש ויהיה מסוגל ליירט אישורי כניסה, פרטי כרטיסי אשראי ועוד. זהו רק אחד מכמה סיכונים הקשורים לשימוש ב- Wi-Fi ציבורי.


6. Stealing browser cookies
מכיוון שקובצי Cookie מאחסנים מידע מהפעלת הגלישה שלך, התוקפים יכולים לקבל גישה לסיסמאות שלך, לכתובת ולמידע רגיש אחר.

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

אני הייתי ניר רז(NICK) ונתראה בכתבה הבאה!

Airgeddon-פריצת רשת אלחוטית בדקות ספורות!

"מכונה אחת יכולה לעשות עבודה של 50 אנשים אבל אדם אחד יכול לעשות עבודה של 50 מכונות"

הכירו את airgeddon- כלי שנכתב בשפת shell script ויעזור לכם להשיג את סיסמת הרשת האלחוטית בדקות ספורות!

אך לפני הכל ולפני שאדגים לכם כיצד ניתן לפרוץ עם הכלי הזה חשוב לי שתבינו מהי רשת אלחוטית ולמה לנו להשיג את הסיסמא שלה?
Wi-Fi היא טכנולוגיה המאפשרת למכשירים אלקטרוניים להעביר נתונים באופן אלחוטי באמצעות גלי מיקרו שהם חלק מספקטרום הקרינה האלקטרומגנטית
כיום כל רשת אלחוטית פרטית מוגנת עם סיסמא לרוב בהצפנה WPA2 (אם אינכם יודעים מהי הצפנה זו ממליץ לכם ללכת לקרוא את הכתבה על הצפנות ) על מנת לאפשר גישה רק לאנשים עם אישור. אבל מה אם יש שם משהו מעניין?
ובחזרה לairgeddon, airgeddon מציג אפשרויות רבות מevil-twin שזה פתיחת רשת אלחוטית מתחזה,ועד שימוש בbrute force.
אבל איך airgeddon עובד?
airgeddon הוא מציג מספר אפשרויות שהוא יעשה בזמן הרבה יותר מהיר מאשר ידני, לעומת זאת אם אינכם יודעים מה אתם עושים ממליץ לכם להבין קודם איך כל דבר עובד, היום אני אתמקד בשיטת הevil twin ובכן ידוע לנו שWPA2 הינו הצפנה חזקה ולא כל כך קל לפענח אותה עד היום אין שיטות טובות חוץ משימוש בbrute force ושימוש בsocial engineering.

מהו brute force?


brute force – הינו הפעלת כוח על סיסמא או הצפנה מסוימת בניסיון לנחש את הסיסמא, בעיקרון brute force מריץ סיסמאות עד אשר הוא ימצא את הסיסמא הנכונה. דבר זה יכול לקחת שעות ימים ואפילו חודשים תלוי בחוזק הסיסמא.

מהו evil twin?


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

כיצד להוריד airgeddon?


git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git
cd airgeddon
airgrddon.sh/.
עכשיו יכול להיות שאין לכם את כל החבילות הדרושות להפעלת הכלי במקרה זה כל חבילה שכתוב עליה error תכתבו apt-get install package name

לאחר שהפעלתם את הכלי יפתח לכם מספר אפשרויות
אנחנו נבחר באפשרות מספר 7 evil attack menu

לאחר מכן נלחץ על האפשרות התשיעית evil twin AP attack with captive portal
מה שהאנחנו הולכים ליצור הוא בעצם רשת אלחוטית מתחזה לרשת שאותה אנחנו רוצים לפרוץ עם עמוד פישינג שיצוץ כל פעם שיש משתמש חדש ובאותו זמן ננתק את כל מי שמחובר ברשת האלחוטית שאנו רוצים לפרוץ אותה.
שימו לב: על מנת לבצע את ההתקפה אתם תצטרכו כרטיס רשת שתומך בmonitor mode
ממליץ על ALFA

לאחר מכן זה יסרוק את הרשתות הקרובות אליכם לחצו על CTRL+C על מנת להפסיק ולבחור רשת
לאחר שבחרתם את הרשת הרצויה בחרו באפשרות השנייה Deauth aireplay attack
ההתקפה הזו תנתק את המכשירים מן הרשת האלחוטית על מנת להשיג את הhandshake שבעזרתו נוכל לבדוק מה היא הסיסמא הנכונה.

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

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

רכיב הNAT – כיצד מחשבים ביתיים יוצאים לעולם?

מצוקה בכתובות הIP:

IPv4 מוגבל במספר הכתובות שלו, ליתר דיוק קיימות בסך הכל 4,294,967,295 כתובות IP בגרסה 4, עקב הכמות הקטנה של כתובות מגרסה 4 , הוחלט למצוא פתרון שימנע מצב שבו נגמרות כתובות מגרסה 4 ,תקיעה של האינטרנט.

הפתרון לבעיה , היה כתיבת התקן RFC1918 שעל פיו ישנן כתובות IP חוקיות וכתובות שאינן חוקיות וניתן לתרגם ביניהן, כך מנעו בזבוז של כתובות IP חוקיות. הרכיב שמבצע את פעולת התקן נקרא NAT – ראשי תיבות של Network Address Translation או בעברית תרגום כתובות רשת.

סוגי NAT:

קיימים כמה סוגים של NAT:

PAT/NAPT/Hide – רשת של כתובות לא חוקיות אשר כתובת אחת חוקית מייצגת אותה. ניתן לראות לדוגמה רשת ביתית.

Static NAT – תחנה עם כתובת לא חוקית שמייצגת אותה כתובת חוקית אחת. לדוגמה שרת בתוך רשת ארגונית

Dynamic NAT – דומה ל-PAT, אולם הרשת הפנימית גדולה כך שאי אפשר לייצג את כל רכיביה באמצעות כתובת חוקית אחת , נדרשות כמה כתובות חוקיות.

על PAT/ NAPT / Hide ועוד שמות נוספים…

אבחר במאמר להתמקד בסוג זה של NAT כיוון שהוא הסוג שבו נעשה שימוש ברשתות ביתיות וחשוב להבנה. במאמר זה אשתמש בשם PAT על מנת להסביר על סוג זה.

PAT – Port Address Translation הינו סוג של NAT שלפיו מספר מחשבים ברשת פנימית ( בעלי כתובות לא חוקיות) מיוצגים באינטרנט (יוצאים החוצה מהרשת הפנימית LAN ) על ידי כתובת חוקית אחת. לנתב הביתי קיימת כתובת אחת חוקית , וכתובת אחת לא חוקית על מנת לתקשר עם הרשת המקומית. על מנת שמחשב ביתי יוכל לצאת אל האינטרנט הוא פונה אל הdefault gateway שלו (הכתובת הפנימית של הנתב) בעזרת כתובת הIP הפנימית שלו (שמוגדרים על ידי פרוטוקול DHCP שעליו לא אפרט , תוכלו לראות על הפרוטוקול בגוגל) , בנוסף המחשב ברשת הפנימית פותח פורט רנדומלי ופונה לנתב שיספק לו את השירות המבוקש באינטרנט – למשל המחשב ברשת הביתית מעוניין לגלוש לאתר אינטרנט בפורט 80 , והפורט הרנדומלי אותו סיפק לנתב הוא 1234 . כלומר מבחינת המחשב ברשת הפנימית: כתובת המקור היא הכתובת הפנימית שלו , פורט המקור הוא הפורט הרנדומלי שהקצה (1234) כתובת היעד היא הכתובת של האתר אותו הוא ביקש (כתובת מילולית שתורגמה על ידי DNS , תוכלו למצוא עוד מידע בגוגל) ופורט היעד הוא פורט 80. המידע הנ"ל נשלח אל הראוטר ( הנתב ) על מנת שיבצע תרגום של הכתובת הלא חוקית של המחשב לכתובת החוקית של הנתב. התרגום מתבצע כך שהראוטר מבקש את הבקשה מהאתר , כאילו שהראוטר עצמו מעוניין לגלוש לאתר ויחזיר את התשובות מהאתר למחשב ברשת הפנימית שביקש לגלוש באתר.

אז איך בעצם יידע הנתב איזה מחשב ביקש את האתר?

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

נניח שכתובת הנתב החוקית היא 5.5.5.5 והכתובת הפנימית של המחשב היא 10.0.0.15 , הפורט שהגריל המחשב הוא 1234 , מה שיידע הנתב על פי טבלאת הNAT הוא הדבר הבא:

10.0.0.15:1234 = 5.5.5.5:1234 כלומר , הפנייה שביצעת עם כתובתך החיצונית בפורט המקור 1234 היא בעצם פנייה שביצע המחשב ברשת הפנימית שכתובתו היא 10.0.0.15 בפורט 1234, ואליו תחזיר את הפקטות שחוזרות בנוגע לבקשה זו.

תמונה שממחישה בפשטות את הNAT