Whatsup - לינוקס, תוכנה חופשית וקוד פתוח בעברית

אוף טופיק - סיפור הרפתקאות (ירחמיאל ומלחמתו ביוטיוב)

Anonymous - 16/09/2018 - 23:36
נושא ההודעה: סיפור הרפתקאות (ירחמיאל ומלחמתו ביוטיוב)
לא מזמן צפיתי בסרטון משובח ביוטיוב. דרך mpv (זה כמו mplayer), לא דרך הדפדפן.

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

ה-mpv שלי עדיין היה פתוח ויכולתי להמשיך לצפות בסרטון.

רציתי להוריד את הסרטון למחשב שלי, כדי שאוכל להראות אותו לדורות הבאים. הרי הוא עדיין קיים: הוא נמצא איפושהו על השרתים של יוטיוב, ואני צופה בו. אבל לא יכולתי להשתמש ב-youtube-dl, כי יוטיוב הסירו את דף הסרטון!

אז חשבתי וחשבתי וחשבתי מה לעשות.

החלטתי להתקין WireShack, לבחון את ה-packets של ה-HTTP ש-mpv שולח ולמצוא שם את הקישור לסרטון (לכל ה-nitpickers: אני כותב "קישור", אבל כוונתי ל"כתובת"). אני מתכוון קישור לקובץ ה-mpeg עצמו (לכל ה-nitpickers: אני כותב "mpeg", אבל אני יודע שבימינו זה פורמט אחר). אבל אז ראיתי שמדובר ב-HTTPS, והוא מוצפן, ולכן אני לא יכול לראות את המידע הזה.

אז חשבתי וחשבתי עוד.

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

אז חשבתי וחשבתי וחשבתי עוד:

הקישור נמצא בזכרון (ram) של mpv. אז אני צריך להסתכל בזכרון הזה! הרי דבאגרים יודעים לעשות זאת, לא?

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

אפשר לעשות coredump לפרוסס. עושים זאת עם פקודת gcore (או שאולי השתמשתי בפקודה דומה אחרת, לא זוכר).

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

ואז.... הורדתי את הסרטון למחשב שלי (בעזרת wget, כי זה קישור ישיר. כבר לא צריך youtube-dl).
Anonymous - 17/09/2018 - 13:37
נושא ההודעה:
תן קישור כדי שנוכל לראות גם Very Happy
Anonymous - 17/09/2018 - 14:00
נושא ההודעה: Re: סיפור הרפתקאות (ירחמיאל ומלחמתו ביוטיוב)
ירחמיאל :
לא מזמן צפיתי בסרטון משובח ביוטיוב. דרך mpv (זה כמו mplayer), לא דרך הדפדפן.

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

ה-mpv שלי עדיין היה פתוח ויכולתי להמשיך לצפות בסרטון.

רציתי להוריד את הסרטון למחשב שלי, כדי שאוכל להראות אותו לדורות הבאים. הרי הוא עדיין קיים: הוא נמצא איפושהו על השרתים של יוטיוב, ואני צופה בו. אבל לא יכולתי להשתמש ב-youtube-dl, כי יוטיוב הסירו את דף הסרטון!

אז חשבתי וחשבתי וחשבתי מה לעשות.

החלטתי להתקין WireShack, לבחון את ה-packets של ה-HTTP ש-mpv שולח ולמצוא שם את הקישור לסרטון (לכל ה-nitpickers: אני כותב "קישור", אבל כוונתי ל"כתובת"). אני מתכוון קישור לקובץ ה-mpeg עצמו (לכל ה-nitpickers: אני כותב "mpeg", אבל אני יודע שבימינו זה פורמט אחר). אבל אז ראיתי שמדובר ב-HTTPS, והוא מוצפן, ולכן אני לא יכול לראות את המידע הזה.

אז חשבתי וחשבתי עוד.

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

אז חשבתי וחשבתי וחשבתי עוד:

הקישור נמצא בזכרון (ram) של mpv. אז אני צריך להסתכל בזכרון הזה! הרי דבאגרים יודעים לעשות זאת, לא?

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

אפשר לעשות coredump לפרוסס. עושים זאת עם פקודת gcore (או שאולי השתמשתי בפקודה דומה אחרת, לא זוכר).

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

ואז.... הורדתי את הסרטון למחשב שלי (בעזרת wget, כי זה קישור ישיר. כבר לא צריך youtube-dl).


אשריך איש.
Anonymous - 17/09/2018 - 14:07
נושא ההודעה:
wireshark יודע להציג תוכן של HTTPS אם הוא חזה ביצירת הסשן (הלא המפתחות מוחלפים שם). אם היית "מכריח" את MPV לנתק את הקישור וליצור חדש בעוד אתה מקליט את הרשת עם wireshark היית יכול לצפות במידע גם שם.

כנראה עדיין לא הדרך הכי פרקטית, אבל אפשרית.
Anonymous - 17/09/2018 - 14:07
נושא ההודעה:
התחלתי לקרוא.
ועם כל משפט התעצבנתי יותר כי רציתי שתגיע כבר לשאלה שלך.

אז אני אשאל שאלה -
נכון שהWireS לא קורא תעבורה מוצפנת אבל הmpv עצמו - יש לו מפתחות. הרי הוא מנהל תקשורת מוצפנת.

ניסית להוציא אותם?
Anonymous - 17/09/2018 - 16:56
נושא ההודעה:
תביא מדריך בבקשה, נשמע מעניין Smile
uvgroovy - 18/09/2018 - 04:10
נושא ההודעה:
Anonymous :
wireshark יודע להציג תוכן של HTTPS אם הוא חזה ביצירת הסשן (הלא המפתחות מוחלפים שם). אם היית "מכריח" את MPV לנתק את הקישור וליצור חדש בעוד אתה מקליט את הרשת עם wireshark היית יכול לצפות במידע גם שם.

כנראה עדיין לא הדרך הכי פרקטית, אבל אפשרית.


לא מדויק. כדי לעשות זאת התוכנה צריכה לתמוך ב לרשום ללוג את מידע ההצפנה. גם אם אפשר לראות את כל התקשורת אין אפשרות לפענח אותה סתם כך.
כרום לדוגמא תומך באופציה זאת באמצעות משתנה הסביבה SSLKEYLOGFILE
Anonymous - 18/09/2018 - 10:25
נושא ההודעה:
לא, אין קשר ללוג.
Wireshark יושבת על ממשק הרשת ורואה את כל התקשורת. אין שום תלות בתוכנה שהיא מקשיבה לה.
Anonymous - 18/09/2018 - 10:32
נושא ההודעה:
uvgroovy :
Anonymous :
wireshark יודע להציג תוכן של HTTPS אם הוא חזה ביצירת הסשן (הלא המפתחות מוחלפים שם). אם היית "מכריח" את MPV לנתק את הקישור וליצור חדש בעוד אתה מקליט את הרשת עם wireshark היית יכול לצפות במידע גם שם.

כנראה עדיין לא הדרך הכי פרקטית, אבל אפשרית.


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


זה נחסם כמעט בכל הדפדפנים החדשים בברירת מחדל, אתה צריך גירסת מפתחים בשביל לקבל את זה
Anonymous - 18/09/2018 - 15:40
נושא ההודעה:
ירחמיאל, גמר חתימה טובה.
uvgroovy - 20/09/2018 - 14:07
נושא ההודעה:
Anonymous :
לא, אין קשר ללוג.
Wireshark יושבת על ממשק הרשת ורואה את כל התקשורת. אין שום תלות בתוכנה שהיא מקשיבה לה.

גם אם אתה רואה את כל התקשורת, אתה לא יכול לפענח תקשורת מוצפנת.
כל הזמנים הם GMT + 2 שעות