未知的Bittorrent消息

时间:2017-06-14 22:07:54

标签: bittorrent

在尝试与某些bittorrent对等方通信时,我一直收到奇怪/未知消息。在这个特殊的情况下,我正在下载片段,突然间这个新/奇的消息在片段响应前弹出。消息是奇怪的,因为它似乎不遵循协议,所有消息都是假设的看起来像这样

'<length prefix><message ID><payload>'

长度前缀是4个字节,消息id是1个字节和有效负载。我将收录一个捕捉来展示我的意思,在你将捕获的第509行 看到一篇文章的请求,在第510行你会看到回复的开始。

响应的前4个字节是00 00 00 00,即0长度消息(这导致我发出问题),接下来的4个字节是消息的实际长度,即30个。对片段请求的实际响应从第513行开始,所以我得到了我要求的那篇文章,但是这条新奇的消息让我感到困惑。我确信我可以找到一种解决方法,但我真的很想了解这意味着什么。

此外,我不知道实际消息的含义,也无法在任何地方找到任何相关信息。

这是Wireshark捕获。

https://1drv.ms/u/s!Agj06pa-wu0tnFqsYn_KnHmVz3x2

2 个答案:

答案 0 :(得分:1)

数据包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 消息数据(使用添加的空白字符编码)

答案 1 :(得分:1)

  

响应的前4个字节是00 00 00 00,即0长度消息(这导致我发出问题)

bittorrent spec

  

长度为零的消息是keepalive,并被忽略。