gpt4 book ai didi

statistics - 如何从 bittorrent swarm 中收集统计信息?

转载 作者:行者123 更新时间:2023-12-02 00:41:48 25 4
gpt4 key购买 nike

我想从新的 bittorrent 群中的文件传播中收集统计信息,而无需实际下载任何内容(或尽可能少地下载)。我需要知道哪个对等方有哪些部分(以进行基于文件的统计),仅知道播种机和 leechers 的数量或百分比是不够的。稍后当有很多同行时,我需要下载数据以确定它是什么。这部分可以通过普通的 torrent 客户端完成。

我不打算自己实现该协议(protocol),所以我查看了 2 个实现 libtorrent 和 ktorrent 的 libbtcore。两者都无法在不下载的情况下收集数据,当没有任何内容可下载时,根本没有连接的对等方。 Libtorrent 更简单,但 ktorrent 看起来更好评论。

我看到了 3 种可能性:

  • 为此使用一些应用程序。有吗?
  • 修改一个 torrent 实现来做我想做的事。有人熟悉他们吗?从哪儿开始?
  • 实现协议(protocol)的一小部分。只是定期询问同伴他们有什么。这是可行的还是程序需要支持几乎完整的协议(protocol)?

  • 你有什么建议吗?

    最佳答案

    这是一个老问题,但也许这个答案可能对其他人有用。

    • Use some application exactly for this. Are there any?


    从来没听说过。

    • Modify a torrent implementation to do what I want. Is anyone familiar with them? Where to start?


    我只熟悉 BitTornado 核心(用于 ABC 等)。它是用 Python 编写的,但它是一个架构困惑。

    但是,您可以采取任何实现并开始将其从不必要的功能中剥离。

    • Implement a small subset of the protocol. Just periodically ask the peers what they have. Is this feasible or would the program need to support almost the full protocol?


    请注意,您不能“询问”同伴他们拥有什么。另一个对等点会在需要时通知您它拥有的部分(因此它是推而不是拉)。在 BitTorrent 握手之后,对等点可能会发送 bitfield它拥有的碎片。之后,它可能会发送 HAVE 消息,通知您它已经获得了一件新作品。另请注意,同行可能会对他们拥有的作品撒谎。示例包括 superseeding peers以及像 BitThief 这样的搭便车客户。

    如果您想实现协议(protocol)的一小部分,您至少需要实现 BitTorrent 握手消息,最好是扩展握手消息。后者允许您接收(和发送)uTorrent PEX 消息。 PEX 对于快速发现集群中的其他对等点很有用。

    为了您的统计数据收集目的,您还需要支持位域和 HAVE 消息。

    关于statistics - 如何从 bittorrent swarm 中收集统计信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2303872/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com