Torrent Tracker 响应似乎格式不正确

Posted

技术标签:

【中文标题】Torrent Tracker 响应似乎格式不正确【英文标题】:Torrent Tracker response seems not well formated 【发布时间】:2016-10-14 08:13:20 【问题描述】:

今天我试图理解(也许是为了实现)Bittorrent 协议。

我已经非常了解如何“解密” .torrent 文件的内容,我向 Tracker 发送了一个请求,其中包含提取的数据。

但是,响应不是预期的:The wiki about the Bittorent Tracker Protocol 表示响应必须包含,在“同行”List of dictionaries corresponding to peers.

我正在使用 C# 程序读取响应,并且我在该字段中唯一的内容是包含 50-0B-3F-3F-00-00-50-0B-3F-3F-3F-3F 的字节数组 (byte[]),如果我将其转换为字符串

BitConverter.ToString((byte[])peers)

Tracker的原始响应是:

d8:completei0e10:downloadedi2e10:incompletei2e8:intervali1970e12:min intervali985e5:peers12:P?? P????e

我对它的 HTTP 请求是:

http://bt1.archive.org:6969/announce?info_hash=%ac%c3%b2%e43%d7%c7GZ%bbYA%b5h%1c%b7%a1%ea%26%e2&peer_id=ABCDEFGHIJKLMNOPQRST&ip=xxx.xxx.xxx.xxx&port=6881&downloaded=0&left=970

所以我不明白,怎么了?

【问题讨论】:

你真的读过那个wiki的第一行吗?跟踪器可以发送两种响应中的一种,作为BEncoded 字典 我的错,我错过了这部分......所以,无论如何,如果我能很好地理解响应,Tracker 会向我发送 2 个 IP 吗? 50-0B-3F-3F-00-00 和 50-0B-3F-3F-3F-3F -> 80.11.63.63:0000 和 80.11.63.63:6363 ? 【参考方案1】:

跟踪器响应采用compact=1-form,现在或多或少是强制性的。

在此指定:BEP23 - Tracker Returns Compact Peer Lists

【讨论】:

以上是关于Torrent Tracker 响应似乎格式不正确的主要内容,如果未能解决你的问题,请参考以下文章

torrent是啥,国内能打开的软件都有哪些?

解码 Torrent 跟踪器抓取的 Torrent Hash?

torrent hash怎么用

torrent hash怎么用

在来自 Tracker Server (bitTorrent) 的 Annouce 响应中解析 Peers IP 地址

PHP 中的 Torrent 抓取