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

היכן הקליטה נמצאת ביחס למתאם

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

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

מה עושה הסרת עומס בשידור לרתומה

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

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

עטיפה מוסיפה אובייקט שני

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

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

הוכיחו שלמות קובץ באמצעות גיבובים

עבור הקובץ עצמו, חשבו גיבוב תוכן ממקור שניתן לשחזור ומהתוצאה השמורה, והשוו את התמציות. זה עונה על שאלה אחרת מכל תווית לפי מנה, והוא עונה עליה לגבי האובייקט שבאמת חשוב למשתמש.

sha256sum payload.bin
sha256sum /srv/transfer/payload.bin
cmp -l payload.bin /srv/transfer/payload.bin | head

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

מקמו נתיב מתאם בלי להפוך אותו לקבוע

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

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

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

מאמרים קשורים