Как лучше работает протокол Skype?

Ссылка скопирована
1 ответ

Сейчас ситуация такая: всех программистов и реверс-инженеров. Я пишу свои серверы для Skype 8 (аватары, контакты, настроение уже реализованы). Я решил вернуть к жизни классические версии Skype. После 2 недель мониторинга и анализа открытых клиентов я так и не смог разобраться, к чему подключается Skype и как происходит процесс обмена пакетами. Если вы знаете структуру протокола, поделитесь ею! Но я понял, как работает процесс авторизации.

По вводным: 1. Skype подключается к серверу Supernode по протоколу UDP, отправляя зашифрованные данные следующего типа:

По вводным: данные шифрования, Длина данных, Локальный IP, удаленный IP (суперузел), TransID, IV, Флаг (0 или 1)

Сейчас ситуация такая: 2. Сервер должен ответить каким-то пакетом (не знаю каким, иначе не было бы такого вопроса, лол) и Skype должен начать авторизацию, став суперузлом без участия центральных серверов.

По вводным: на этом моя бесполезная информация закончилась.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Игорь Волков Ответ

С классическим Skype нужно учитывать два момента. Во-первых, старые версии использовали сложную закрытую P2P/супернодовую архитектуру, которая менялась по версиям. Во-вторых, современные клиенты Skype 8 и инфраструктура Microsoft уже не равны старому P2P Skype. Поэтому “описать пакет, который должен ответить сервер” по одному UDP-фрагменту практически невозможно.

Если цель исследовательская и легальная, начинать лучше не с попытки угадать пакет, а с воспроизводимой лабораторной методики:

  • зафиксировать точную версию клиента;
  • запустить его в изолированной VM;
  • снять сетевой дамп Wireshark/tcpdump;
  • отделить DNS, TLS, UDP-probing и реальные payload-пакеты;
  • сравнить несколько запусков с одинаковыми условиями.

Но даже после этого вы упрётесь в шифрование и handshake. Поля вроде TransID, IV, локальный/удалённый IP могут быть частью защищённого обмена, где ответ зависит от ключей, версии клиента, состояния сессии и серверных параметров. Просто “ответить каким-то UDP-пакетом” обычно не получится.

Практически полезнее строить не полную замену Skype-сервера, а совместимые отдельные сервисы вокруг контролируемых функций: аватары, каталог, тестовый API, документация форматов, миграционные утилиты. Если нужно оживлять старые клиенты, ищите уже опубликованные исследования по Skype P2P, supernodes, login protocol, но не рассчитывайте, что один формат пакета будет работать для всех версий.

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

Итог: информации из вопроса недостаточно для построения ответа сервера. Нужен анализ конкретной версии клиента, дампы нескольких сессий и понимание handshake. Скорее всего, без реализации криптографической части и состояния протокола клиент не станет супернодом только от одного UDP-ответа.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно