uuencode,mime,multipart<<ראשי>>קבוצות בינאריות

 

 

 

 
מפת הפרק
 

UUENCODE, MIME ו-MULTIPART.

מלהתחילה USENET תוכננה רק לדיונים, בדומה  לדואר אלקטרוני. הבעיה היא שמאמרים יכולים  להכיל רק   7 BIT chars   בזמן שקבצים בינאריים משתמשים ב- 8 BIT chars. מאחר שחלק ממחשבים היותר ישנים מאפשרים רק 6 BIT chars, פותחו שתי טכניקות שהופכות שלוש 8 BIT chars לתוך ארבעה 6 BIT chars, מה שיגדיל את הגודל של הקובץ בערך ב-33% אחוז. הגידול כזה של קובץ  לממדים ענקיים מראה מדוע USENET היא לא הדרך הכי טובה לשליחת קבצים הבינאריים שלך.

 UUENCODE.

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

begin 666 test.jpg

 ומסתיים כך :

`

end

 הכל מה שיש באמצע זה הקובץ המוצפן..כדי  לפענח אותו עם  מפענח חיצוני, העתק את כל הנתונים המוצפנים ( כולל שורות של התחלה והסוף ) ללוח גזירים שלך (clipboard), צור קובץ UUE חדש ( לשם אין שום תפקיד, מאחר  ש-UUENCODE שומר את השם של הקובץ המקורי ), הדבק את תוכן של לוח הגזירים שם ושמור הכל על הדיסק. עכשיו אתה יכול לאפשר פענוח (UUDECODER ) על הקובץ הזה. משתמשים של חלונות יכולים להשתמש ב-WINZIP למטרה הזאת. הקובץ יפתח כמו קובץ דחוס של ZIP ואתה תוכל להוציא את הנתונים המוצפנים כרגיל ( בדוגמה שלנו "TEST.JPG   " ).

MIME.

 הפתרון היותר חדשני נקרא   MIME(חקיין) וזה אותו פתרון שנבחר לדואר אלקטרוני. יתרון של MIME הוא שהקובץ המצורף (attachment) נפרד מהטקסט של המסר ומכל attachment  אחר ( במקרה שיש כמה קבצים מצורפים בתוך מסר אחד ). חסרון גדול של MIME זה שהרבה USENET Clients  עדיין לא תומכים בו ואנשים צריכים להשתמש ב- MIME decoders חיצונים  במקרה הזה. קובץ מוצפן תמיד מתחיל כך :

------=_NextPart_000_0009_01BFD33D.191D9C60

Content-Type: image/jpg;
name="test.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="test.jpg"

 ומסתיים כך :

------=_NextPart_000_0009_01BFD33D.191D9C60--

 הגבולות ( במקרה שלנו " _NEXTPART_ " ומספר מקרי ) כנראה יהיו שונים במקרה שלך, כי Clients  USENET יכולים לבחור כל גבול שהם רוצים. כפי שאתה יכול לראות בדוגמה מעל, MIME מספק הרבה מידע על הקובץ המוצפן. השורה המעניינת  "Content-Transfer-Encoding", שאומרת לנו זה שנעשה שימוש ב-BASE64 בשביל הצפנה. BASE64 עובד בצורה דומה ל-UUENCODE אבל זה לא המקודד היחידי ש-MIME תומך בו, אבל זה האחד שבדרך כלל משתמשים בו להצפנה בינארית ב-USENET ובדואר האלקטרוני. קובצי טקסט לא מוצפנים עם BASE64 אלא עם Quoted-Printable  (שם תווי טקסט נשארים כמעט ללא שינוי ורק כמה תווים ספציפיים מוצפנים ). קבצים בינאריים גם יכולים להיות מוצפנים עם Quoted-Printable, אבל זה יגדיל את הגודל שלהם  במעל מ-100%. הצפנות אחרות בדרך כלל לא נתמכות על ידי USENET Clients .

.במקרה ש-client שלך לא תומך ב-MIME, אבל אתה רוצה לפענח קובץ MIME, העתק את הקובץ המוצפן ללוח גזירים ( כולל כל המידע שמוצגת למעלה), צור קובץ .MIM חדש  ( שוב, שם לא משחק תפקיד ), תדביק את תוכן של לוח הגזירים שם ושמור הכל על הדיסק. עכשיו אתה יכול להפנות MIME DECODER  לקובץ הזה. משתמשים של חלונות יכולים גם להשתמש ב-WINZIP במקרה הזה, בגלל שהוא תומך בUENCODE ו-MIME. פתח את הקובץ עם  WINZIP ותעשה extract כרגיל.

 MULTIPART.

בגלל שמאמרים גדולים לא מופצים טוב ויש אפילו שרתים שמסננים מאמרים יותר גדולים מגודל מסוים ( הגודל הממוצע המקסימלי הוא בסביבות 4 MB, אבל לפעמים יש סינון על הקובץ יותר גדול מ600 KB ),אז המערכת שנקראת " Multipart Message " הומצאה. במקרה ומאמר עם קובץ בינארי מצורף יעבור גודל מסוים, הוא יתחלק לחתיכות יותר קטנות. החתיכות האלו יכולות אז לעבור ב-USENET בלי בעיות גדולות.

 רוב  Usenet clients יכולים לאחד מחדש את החתיכות האלו שוב ( וזה הכרחי אחרת אתה לא יכול לפענח את הנתונים הבינאריים ) וחלקם אפילו מזהים messages  MULTIPART ומאחדים אותם מחדש באופן אוטומטי (למשל Agent עושה את זה באופן אוטומטי ). בכל מקרה, אם אתה רוצה לקבל את הקובץ, אתה חייב להוריד כל חלקים של message MULTIPART. בגלל ש-USENET לא אמינה, לפעמים אתה לא תוכל לפענח קובץ,רק כי  פספסת חלק אחד, זה מאוד מטריד אבל קורה לפעמים.

 לזהות Multipart Message מאוד קל. לכל חלקים תמיד יש את אותה שורת הנושא (subject), שמסתיימים ב-.[xx/yy] וזה אומר שזהו חלק "xx" מתוך "yy" חלקים. זאת אומרת  שאם אתה רואה מאמר שמסתיים ב-[ 04/13 ], אתה יודע שהמסר הזה הוא חלק של Multipart Message, אתה יודע שזה חלק מספר ארבעה ואתה יודע שיש שלושה עשר חלקים סך הכל.

במקרה ו-client שלך לא יכול לאחד מחדש Multipart Message  ,אז אתה יכול לעשות זאת בעצמך. ראשית תבדוק  אם הקובץ הוצפן עם MIME או עם UUENCODE ( על אף שזה  Multipart Message  עדיין חייבת להיות הצפנה! ). הדרך הכי טובה לבדוק זאת היא הורדה (downloading) של החלק הראשון, שחייב או להכיל כותרת של MIME או UUENCODE..לאחר מכן אתה יוצר קובץ ובוחר סיומת בהתאמה (.MIM or .UUE) ומדביק את התוכן של המאמר הראשון לקובץ הזה. עכשיו אתה מוריד את החלק השני, העתק את התוכן שלו והוסף אתו לחלק הראשון. זהירות, אם החלק הראשון מסתיים באמצע של שורה, אתה חייב להוסיף את החלק השני בדיוק במקום הזה ולא בשורה החדשה. אתה ממשיך עם הפרוצדורה הזאת, עד שכל חלקים אוחדו מחדש ואז אתה שומר את הקובץ שלך בדיסק. עכשיו אתה יכול לפענח אותו כמו שתואר לפני כן.זה דורש הרבה עבודה, אבל בסוף זה יעבוד.

 דרך הגב, לפעמים אתה גם רואה [ 00/13 ], וזה לא אומר שזה חלק 0 ( החלק הראשון הוא בעל מספר אחד ). המאמרים כאלה הם בדרך כלל מאמרי טקסט, למשל מאמר מפרש למאמרים בינאריים. כאשר אתה מפענח קובץ ידני, אל תכלול את החלק הזה, בגלל שזה לא חלק של הקובץ הבינארי.

 
     

about the site