从 udp 和 http 种子跟踪器响应获取 IP 地址

Posted

技术标签:

【中文标题】从 udp 和 http 种子跟踪器响应获取 IP 地址【英文标题】:Get IP addresses from udp and http torrent tracker response 【发布时间】:2013-11-13 19:29:41 【问题描述】:

我正在尝试获取 peer-list:来自 torrent 跟踪器的 IP 地址列表

与这里的问题类似:how to get the peer list from torrent tracker response

我编写了使用 python bencode Bit-torrent library 解码种子文件的代码 我在此代码here 之后编写了代码来抓取种子跟踪器。

至少对于像 mininova 跟踪器这样的 http 请求,我会得到特定 info_hash 的以下输出

'files': '\xbf\xff&\xcdY\x05\x9b\xb2C2j\x83\xf5F_\x9bg\x9d\xe2G': 'downloaded': 25416, 'complete': 12, 'incomplete': 0

我没有看到 BitTorrent 在规范中记录的任何其他密钥 here。 (如 tracker_id、min_interval、peers ...等)

如何获取对等列表?

【问题讨论】:

【参考方案1】:

并非所有种子都向您发送抓取请求的对等列表,事实上,我发现几乎没有大型种子会这样做。您需要向他们发送您开始下载 torrent 的请求(在公告 URL 处),然后您才会获得对等列表。您可以自己查看二进制数据以查看是否存在同行,或者您可以为我上传示例响应。

【讨论】:

【参考方案2】:

要从跟踪器获取对等列表等,您需要为其创建一个announce。 你正在做的是scrape

您可以在此处找到announce 的示例:Why does tracker server NOT understand my request? (Bittorrent protocol)

更多关于scrape的信息在这里:http://wiki.vuze.com/w/ScrapeDecode Torrent Hash of Torrent tracker scrape?

【讨论】:

以上是关于从 udp 和 http 种子跟踪器响应获取 IP 地址的主要内容,如果未能解决你的问题,请参考以下文章

如何从跟踪器响应中获取对等方的 IP 和端口

跟踪特定的 IP 和端口

如何使用twisted通过UDP协议发送参数

通过 UDP 向 Bittorrent Tracker 发送信息哈希

Monotorrent 示例客户端不要下载一些种子

python http/udp bittorrent 跟踪器抓取库