![uTorrent 客户端不使用 Bittorrent 协议](https://linux22.com/image/1432751/uTorrent%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%B8%8D%E4%BD%BF%E7%94%A8%20Bittorrent%20%E5%8D%8F%E8%AE%AE.png)
我创建了一个用于 torrent 下载的虚拟环境,其中包含 4 台虚拟机。在这四台虚拟机中,三台机器充当对等体,另一台充当跟踪器。uTorrent
我使用其中一个对等体创建了一个 torrent 文件并将其公布给跟踪器。我尝试从另一个对等体使用创建的 torrent 文件下载文件,并且成功了。然而,当我使用 wireshark 在下载过程中捕获网络数据包时,我惊讶地发现 Bittorrent 协议根本没有用于片段传输。它没有任何request
或have
消息。UDP 用于传输。
为什么会这样?如何指示客户端使用 Bittorrent 协议进行传输?
答案1
关闭 µTP(它是不同的应用层,对您的需求毫无用处)并完全禁用协议加密。
答案2
您所拥有的是一种 bittorrent 协议,有点像。
你看到的是utorrent 传输协议(uTP)于 08 年末引入到 bittorrent inc. 的客户端(utorrent 和 BitTorrent[mainline]),作为一种减少流量使用和缓解网络拥塞的方法。
它基本上是一个基于 UDP 的 bittorrent 版本。当它在 2008 年发布时,有些人失去了理智,声称世界将会毁灭并且大规模转向 UDP 会扼杀游戏、视频会议等。正如您所见,事实并非如此。基于 DRM 的追踪器(又称“私人追踪器”)也出现了一些问题,因为不同的数据量会破坏他们的 DRM 执行系统,也会扰乱他们的一些付费优先级系统,所以他们禁止任何使用它的客户。不过,这些网站背后的大多数人根本不知道他们在做什么(这是我的经验之谈)