-1

Я ищу написать свой собственный небольшой торрент-клиент, похожий на Utorrent. Однако я не уверен, как начать устанавливать связь с разными сеялками. Когда у меня есть торрент-файл, содержащий все данные, как я могу его декодировать и интерпретировать?

По какому протоколу устанавливается соединение с трекерами? Если мои знания и терминология верны, как только я подключусь к трекерам, найденным в торрент-файле, я получу какой-то список, содержащий IP-адреса и порты сеялок. Затем я могу подключиться и начать загружать части файла с сеялок.

Также я знаю, что Utorrent перечисляет текущие IP-адреса сидеров, и я думаю, что их порт также. Как только я узнаю IP-адрес и порт сеялки, можно ли вручную установить соединение и начать загрузку файлов? Или есть рукопожатие или уровень безопасности, который предотвращает это?

1 ответ1

2

Протокол Bittorrent подробно описан здесь. Вы также можете изучить исходный код приложения Bittorrent с открытым исходным кодом, такого как Transmission.

По какому протоколу устанавливается соединение с трекерами?

HTTP.

Как только я узнаю IP-адрес и порт сеялки, можно ли вручную установить соединение и начать загрузку файлов? Или есть рукопожатие или уровень безопасности, который предотвращает это?

Если пэр не задушил вас из-за того, что вы скупы или ненадежны. Там, вероятно, больше, я не читал полную спецификацию в течение длительного времени. Прочитайте спецификацию.

Что касается безопасности на уровне доступа, за этим механизмом удушения нет ничего, что на самом деле является не мерой безопасности, а мерой обеспечения справедливости. Я не совсем уверен, как работает шифрование, но это только для защиты транспорта, а не для идентификации однорангового узла. Для того, чтобы удостовериться, что части, которые выдают пэры, являются частями торрента, для этого нужны хэши SHA-1.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .