我一直收到一条奇怪的/未知的消息,同时试图与一些bittorrent对等方进行通信。在这个特殊的情况下,我正在下载片段,突然,在一段response.The消息前面弹出的新/奇数消息很奇怪,因为它似乎不遵循协议,所有消息都应该如下所示
'<length prefix><message ID><payload>‘
长度前缀为4字节,消息id为1字节,有效负载。我包括一个捕获来展示我的意思,在第509行你会看到一个片段的请求,在510线上你会看到响应的开始。
响应的前4个字节是00 00 00,即0长度消息(引起我的问题),接下来的4字节是消息的实际长度( 30 )。对片段请求的实际响应从第513行开始,所以我得到了我请求的片段,但是这条新的/奇怪的消息让我很困惑。我相信我能找到解决办法,但我真的很想明白这意味着什么。
而且,我不知道实际的消息是什么意思,也找不到任何关于它的信息。
这是Wireshark的抓捕。
发布于 2017-06-14 23:26:11
来自第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:e00 00 00 00 4字节保持活动的消息
00 00 00 1e消息长度30字节
14消息类型extended message (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消息数据(简要编码)
d
5:added
6:c.zH..
7:dropped
0:
eut_pex消息数据(用添加的空格进行编码)
发布于 2017-06-14 23:27:41
响应的前4个字节是00 00 00,即0长度消息(这导致了我的问题)
bittorrent规范说
长度为零的消息保持不变,并被忽略。
https://stackoverflow.com/questions/44555498
复制相似问题