
باحث يعيد توجيه بث RTMP من PS5 إلى جهاز Mac الخاص به
تدوينة مطوّر نُشرت في 28 سبتمبر تشرح كيف أعاد توجيه بث PlayStation 5 من خدمة Twitch إلى جهازه Mac بالتحكم في ردود DNS المحلية، وكيف استقبل البث بجودة 1080p60 عبر nginx-rtmp وmpv.
في تدوينة نُشرت في 28 سبتمبر، يشرح المطوّر Yash Garg كيف جعل جهاز PlayStation 5 يبث إلى جهازه Mac بدلاً من Twitch، ليعرض الألعاب لأصدقائه على Discord دون شراء بطاقة التقاط. الأسلوب لا يخترق جهاز Sony: بل يتحكم في الرد الذي يقدّمه راوتر المنزل عندما يبحث الجهاز عن خادم بث.
إلى أين يذهب البث ولماذا
يبث جهاز PS5 إلى Twitch وYouTube بشكل افتراضي، وكلاهما يستخدم بروتوكول RTMP (Real-Time Messaging Protocol). ووفق التدوينة، لا يحفظ الجهاز عنوان IP الخاص بـ Twitch: فهو في بداية كل بث يحل اسم الخادم عبر DNS. ومن يجيب على هذا الاستعلام يحدد وجهة الفيديو.
محاولتان فاشلتان
كانت المحاولة الأولى توجيه ingest.twitch.tv إلى جهاز Mac. لكن هذا الاسم يجيب على سؤال واحد فقط: أي خادم إقليمي يُستخدم. أما البث الفعلي فيتطلب RTMPS أي RTMP داخل TLS على المنفذ 443، ويتحقق الجهاز من الشهادة؛ والشهادة الموقّعة ذاتياً مرفوضة، ولا يمكن تثبيت شهادات مخصصة على الجهاز.
كان YouTube المحاولة التالية. فخادمه يقبل RTMP عادياً على المنفذ 1935، لذا لم تكن هناك مشكلة شهادة ووصل البث إلى جهاز Mac. لكن الجهاز يستعلم أيضاً من واجهة YouTube للتأكد من أن البث مباشر؛ ولأن YouTube لم يستقبل شيئاً، فشل التحقق وتوقف البث بعد نحو 60 ثانية.
الاسم الذي حل المشكلة
أظهرت سجلات DNS أثناء البث أن الجهاز يحل العنوان ingest.global-contribute.live-video.net، وهو يؤدي إلى الخادم الإقليمي aps30.contribute.live-video.net. وتوجيه النطاق الأصل contribute.live-video.net يغطي كل النطاقات الفرعية، فيصل البث إلى جهاز Mac دون مشكلة TLS. يشغّل الكاتب dnsmasq على جهاز Mac ويعيد عنوان الشبكة المحلية لهذه الأسماء؛ وعلى راوتر GL.iNet بنظام OpenWrt ربط خيار DHCP رقم 6 بعقد الجهاز.
يستمع nginx-rtmp إلى المنفذ 1935، ويُخطر callback تطبيقاً صغيراً في شريط القوائم عند بدء البث. ويرسل الجهاز فيديو بجودة 1080p60 بصيغة H.264 وصوت AAC ستيريو. ومن هناك يمكن إعادة بثه عبر OBS أو تسجيله أو تشغيله مباشرة بـ mpv؛ ويستخدم الكاتب ملف low-latency ليبقى التأخير أقل من ثانية مع مشاركة النافذة على Discord.
ما الذي يوضحه هذا فعلاً
هذا ليس ثغرة تسمح لشخص من الإنترنت بتسجيل لعبة شخص آخر: فالتدوينة لا تذكر أي CVE أو رد من الشركة المصنّعة أو مسار هجوم عن بُعد. فالتوجيه يحتاج إلى التحكم في الشبكة المحلية وفي خادم DNS الذي يستخدمه الجهاز. والدرس التصميمي أن DNS هو المؤشر الوحيد للجهاز على وجهة الفيديو.
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.