Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.04.2020, 04:35
Новичок на форуме
Отправить личное сообщение для Foster08 Посмотреть профиль Найти все сообщения от Foster08
 
Регистрация: 15.04.2020
Сообщений: 4

Понять как генерируется адрес ссылки
Здравствуйте. Помоги разобраться что называется "откуда ноги ростут" Есть страничка https://www.twitch.tv/ctasdasd (вообще любой канал на твиче в режиме трнсляции LIVE) эта страница при просмотре видео отправляет ч-з какой-то не понятный мне скрипт данные вот сюда https://video-edge-0ff65e.pdx01.abs....LABLABLABLA.ts (где словом BLA я заменил исходные данные, т.к. не понимаю какая информация о моём аккаунте содержится в этих зашифрованных данных)

Я с charles web debugging proxy вдоль и поперек облазил все соединения и загрузки с начала открытия этой страницы. В отладчике в опере (ктрл+шифт+ай)искал хоть намек на адрес 0ff65e.pdx01.abs.hls.ttvnw.net - не нашёл ниче путнего кроме этого (см. аттач). Помогите разобраться каким участком когда генерируется URL https://video-edge-0ff65e.pdx01.abs.hls.ttvnw.net и в каком формате и что за данные закодированы данные у её patch /v1/segment/Cv0WFNu_LYY-




PS: Обращаю ваше внимание на то, что сайт работает с 2-мя очень похожими доменами:
https://video-edge-0ff65e.pdx01.abs.hls.ttvnw.net - нужный мне домен, сюда передаётся информация.
https://video-edge-c55498.fra02.abs.hls.ttvnw.net - patch до файла такой же как и у верхней ссылке, но по этому адресу подгружается видео при просмотре стрима. Он меня не интересует в данный момент
Изображения:
Тип файла: jpg Безымянный.jpg (27.5 Кб, 3 просмотров)
Тип файла: jpg Безымянный2.jpg (21.5 Кб, 2 просмотров)

Последний раз редактировалось Foster08, 15.04.2020 в 04:58. Причина: см. PS:
Ответить с цитированием
  #2 (permalink)  
Старый 15.04.2020, 04:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сервер получает параметр запроса и делает перенаправление с учетом если запрос "легален".
Ответить с цитированием
  #3 (permalink)  
Старый 15.04.2020, 04:44
Новичок на форуме
Отправить личное сообщение для Foster08 Посмотреть профиль Найти все сообщения от Foster08
 
Регистрация: 15.04.2020
Сообщений: 4

Здравствуйте. Пожалуйста, добавьте в свой ответ больше материального смысла а не теории (конкретные выдержки из кода или http пакеты). Я не нашёл в исходном коде информации о переменных и функции которая генерирует этот УРЛ.

Последний раз редактировалось Foster08, 15.04.2020 в 04:46.
Ответить с цитированием
  #4 (permalink)  
Старый 15.04.2020, 04:52
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Да нет никакой теории здесь. Допустим, сервер будет отдавать картинку по запросу с неким параметром, которая находится по адресу "А". Если обратиться напрямую по этому адресу, то сервер определит, что запрос не содержит параметра и выдаст статус 404. А вот запрос с параметром сервер проанализирует и перенаправит пользователя на адрес "А" и он таки получит эту картинку.

Если при этом запросе проанализировать заголовки сервера, то это перенаправление в них будет отражено.
Ответить с цитированием
  #5 (permalink)  
Старый 15.04.2020, 05:04
Новичок на форуме
Отправить личное сообщение для Foster08 Посмотреть профиль Найти все сообщения от Foster08
 
Регистрация: 15.04.2020
Сообщений: 4

Вы не совсем верно поняли то, о чем я спрашиваю Смотрите, меня не интересует вопрос валидации получаемой \ передаваемой информации. Меня интересует где в исходниках скриптов на данной странице содержится javascript-код который генерирует урл https://video-edge-0ff65e.pdx01.abs....LABLABLABLA.ts т.к. я тупо снифером смотрел все пакеты и не нашёл в body request / response ни намека на video-edge-0ff65e.pdx01.abs.hls.ttvnw.net
Просьба: Ткните меня пожалуйста носом, на участок кода который генерирует ссылку выше, т.к. в открытом виде в http(s), WebSocket - пакетах её нет!
Ответить с цитированием
  #6 (permalink)  
Старый 15.04.2020, 05:15
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Foster08
Меня интересует где в исходниках скриптов на данной странице содержится javascript-код который генерирует урл
Нигде, этого и не нужно, то есть, если сервер отдает некий контент по условию, то "прятать ключи" этих условий на клиенте нет смысла.

Сервер может отдавать содержимое из закрытого от прямого доступа каталога. Только сервер с его правами может получить эти данные и отдать клиенту. При этом есть несколько способов, например:

1) сформировать прямую временную ссылку, которая будет недействительна по истечению времени Т.

2) считать содержимое в память и отдать клиенту программно.

3) перенаправить клиента по адресу.

Я не знаю на чем работает интересующий вас сервер, но в случае РНР, например, по адресу domain/abc производится запрос с параметром abc. Сервер анализирует именно параметр запрос (abc), если все ОК, то перенаправляет клиента на адрес domain/kino.mp4

header('Location: domain/kino.mp4')


и до этого момента клиент вообще не подозревает о существовании такого адреса. Вообще механизмов (способов) такого обмена множество.

Последний раз редактировалось laimas, 15.04.2020 в 05:17.
Ответить с цитированием
  #7 (permalink)  
Старый 15.04.2020, 05:28
Новичок на форуме
Отправить личное сообщение для Foster08 Посмотреть профиль Найти все сообщения от Foster08
 
Регистрация: 15.04.2020
Сообщений: 4

Извините, возможно я для вас глупость сейчас скажу, но я пытаюсь провести что-то наподобие реверс инжиниринга. Нигде в перехваченных снифером пакетах (а они не зашифрованы и для моего анализа предстают в открытом читаемом виде) нет информации ни в открытом ни в зашифрованном виде о функции или данных из которых получается интересующая меня ссылка. В моём случае нет никакого редиректа ч-з хидер http или что-то похожего.

Ответ по вашим предложениям:
1)Интересующая меня ссылка нигде не фигурирует в response сервера.
2)Не понял если честно.
3)Опять же говорю, ссылка "собирается" на стороне клиента. В отладчике браузера я нашёл фрагмент кода (см. скрин) который возможно генерирует интересующую меня ссылку, но понять из каких переменных (и что за данные содержатся в этих переменных) эта функция конструирует интересующую меня ссылку мне не удалось.

Последний раз редактировалось Foster08, 15.04.2020 в 05:31.
Ответить с цитированием
  #8 (permalink)  
Старый 15.04.2020, 05:36
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Foster08
Интересующая меня ссылка нигде не фигурирует в response сервера.
Анализировать нужно не тело ответа, а заголовки, и если в данном случае действует механизм перенаправления, то заголовки, которые отдает сервер, это обязательно отразят - статус и адрес.

Сообщение от Foster08
Опять же говорю, ссылка "собирается" на стороне клиента
Вы уверены в этом? Если да, то в отладчике анализ запроса покажет таковую. Клиент конечно может и формировать некие параметры запроса, а вот что за этими параметрами скрывается (данные или реальные адреса) клиенту знать и не обязательно, а может быть и нельзя.

Сообщение от Foster08
Не понял если честно
Есть каталог, прямой доступ к которому запрещен, то есть на такую попытку север вернет статус 403. А программно, это - сервер считывает в память (буфер), из которого затем отдает клиенту. Я могу и код такового механизма показать, но думаю, что смысла в этом нет. А с таким явлением (механизмом) в сети, я уверен, вы сталкивались, и не раз.

Последний раз редактировалось laimas, 15.04.2020 в 05:40.
Ответить с цитированием
  #9 (permalink)  
Старый 15.04.2020, 06:30
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от Foster08
https://video...hls...segment...ts
HLS (HTTP Live Streaming) протокол для потоковой передачи медиа, в основе работы лежит принцип разбиения цельного потока на небольшие фрагменты (segments), сохраняемые в формате .ts (MPEG Transport Stream), и последовательно скачиваемые. В начале сессии создается и скачивается индексный файл (плейлист) в формате .m3u8, который содержит ссылки на фрагменты. В живой трансляции, когда конец видео не известен, сегменты создаются и добавляются в плейлист по мере готовности (на лету). А дальше плеер уже работает с этим плейлистом. Example Playlists for HLS. Live Playlist.

Последний раз редактировалось Rise, 15.04.2020 в 06:48.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
help Не могу понять как реализовать такой слайдер ElecricWizard Общие вопросы Javascript 6 11.05.2015 14:41
Как понять, кто съедает память в FF? Winnipuh Общие вопросы Javascript 2 01.02.2015 01:10
Как записать адрес ссылки в переменную? SV4 Элементы интерфейса 8 20.11.2014 18:56
как все ссылки передать ajax anton41k Общие вопросы Javascript 2 05.09.2014 21:22
Как ссылки из меню «Выберите модель» поставить с помощью тега <a> Werwolf23188 Общие вопросы Javascript 10 16.12.2013 22:05