
Araştırmacı PS5'in RTMP yayınını kendi Mac'ine yönlendirdi
Bir geliştiricinin yazısı, yerel DNS yanıtlarını denetleyerek PlayStation 5'in Twitch yayınını kendi Mac'ine nasıl yönlendirdiğini ve 1080p60 akışı nginx-rtmp ile mpv üzerinden nasıl aldığını anlatıyor.
28 Eylül'de yayımlanan bir yazıda geliştirici Yash Garg, PlayStation 5'inin Twitch yerine kendi Mac'ine yayın yapmasını nasıl sağladığını anlatıyor: arkadaşlarına Discord'da oyununu göstermek istiyor, yakalama kartına para vermek istemiyordu. Yöntem Sony'nin konsolunu kırmıyor; PS5 bir yayın sunucusunu ararken evdeki router'ın ne yanıt verdiğini kontrol ediyor.
Yayın nereye gidiyor ve neden
PS5, Twitch ve YouTube'a kutudan çıktığı gibi yayın yapabiliyor; ikisi de RTMP (Real-Time Messaging Protocol) kullanıyor. Yazıya göre konsol Twitch'in IP adresini saklamıyor: her yayının başında sunucu adını DNS üzerinden çözümlüyor. Bu sorguyu yanıtlayan, videonun nereye gideceğini belirler.
İşe yaramayan iki deneme
İlk deneme ingest.twitch.tv'yi Mac'e yönlendirmekti. Ama bu adres tek bir soruyu yanıtlıyor: hangi bölgesel sunucu kullanılacak. Gerçek yayın RTMPS, yani 443 portunda TLS içindeki RTMP istiyor ve PS5 sertifikayı doğruluyor; kendinden imzalı sertifika reddediliyor, özel sertifika kurulamıyor.
Sıradaki deneme YouTube'du. YouTube'un ingest'i 1935 portunda düz RTMP kabul ettiği için sertifika sorunu yoktu ve akış Mac'e ulaştı. Ancak konsol ayrıca YouTube API'sini sorguluyor; YouTube hiçbir veri almadığı için kontrol başarısız oldu ve yayın yaklaşık 60 saniye sonra durdu.
Sorunu çözen adres
Yayın sırasında DNS kayıtları PS5'in ingest.global-contribute.live-video.net adresini çözümlediğini gösterdi; bu adres bölgesel sunucu aps30.contribute.live-video.net'e gidiyor. Üst alan adı contribute.live-video.net'i yönlendirmek tüm alt alan adlarını kapsıyor, böylece akış TLS sorunu olmadan Mac'e ulaşıyor. Yazar Mac'te dnsmasq çalıştırıp bu adlar için yerel ağ adresini döndürüyor; OpenWrt'li GL.iNet router'da DHCP 6 seçeneğini konsolun lease'ine bağladı.
nginx-rtmp 1935 portunu dinliyor ve bir callback, yayın başladığında küçük bir menü çubuğu uygulamasını uyarıyor. Konsol 1080p60 videoyu H.264 ve stereo AAC sesle gönderiyor. Akış buradan OBS ile yeniden yayınlanabilir, kaydedilebilir ya da doğrudan mpv ile oynatılabilir; yazar gecikmeyi bir saniyenin altında tutmak için low-latency profilini kullanıyor ve pencereyi Discord'da paylaşıyor.
Bu aslında ne gösteriyor
Bu, internetten bir yabancının başkasının oyununu kaydedebilmesini sağlayan bir açık değil: yazıda ne CVE, ne üretici yanıtı ne de uzaktan saldırı yolu var. Yönlendirme, yerel ağ ve konsolun kullandığı DNS sunucusu üzerinde kontrol gerektiriyor. Ders: konsol için videonun nereye gittiğinin tek işaretçisi DNS.
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.