我在尝试与某些 BitTorrent 对等方通信时收到一条奇怪/未知的消息。在这种特殊情况下,我正在下载片段,突然在片段响应前面弹出这条新的/奇怪的消息。该消息很奇怪,因为它似乎不遵循协议(protocol),所有消息都应该是这样的看起来像这样
'<length prefix><message ID><payload>
'
长度前缀为 4 个字节,消息 ID 为 1 个字节,有效负载。我添加了一个捕获来展示我的意思,在捕获的第 509 行,您将 看到一个片段请求,在第 510 行您将看到响应的开头。
响应的前 4 个字节是 00 00 00 00,即 0 长度消息(这导致了我的问题),接下来的 4 个字节是消息的实际长度,即 30。对片段请求的实际响应从第 513 行开始,所以我得到了我所要求的部分,但这个新的/奇怪的消息让我感到困惑。我确信我可以找到解决方法,但我真的很想了解这意味着什么。
此外,我不知道该消息的实际含义,也无法在任何地方找到有关它的任何信息。
这是 Wireshark 捕获的内容。
最佳答案
来自数据包 510 的数据:
0000 00 00 00 00 00 00 00 1e 14 01 64 35 3a 61 64 64 ..........d5:add
0010 65 64 36 3a 63 f2 7a 48 17 f4 37 3a 64 72 6f 70 ed6:c.zH..7:drop
0020 70 65 64 30 3a 65 ped0:e
00 00 00 00
4字节保持事件消息
00 00 00 1e
消息长度30字节
14
消息类型扩展消息 (BEP10)
01
扩展消息 ID = 1,由之前的扩展握手指定:ut_pex
64 35 3a 61 64 64 65 64 36 3a 63 f2 7a 48 17 f4 37 3a 64 72 6f 70 70 65 64 30 3a 65
d5:added6:c.zH..7:dropped0:e
ut_pex消息数据(bencoded)
d
5:added
6:c.zH..
7:dropped
0:
e
ut_pex消息数据(添加空格进行编码)
关于bittorrent - 未知的 BitTorrent 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44555498/