在尝试与某些bittorrent对等方通信时,我一直收到奇怪/未知消息。在这个特殊的情况下,我正在下载片段,突然间这个新/奇的消息在片段响应前弹出。消息是奇怪的,因为它似乎不遵循协议,所有消息都是假设的看起来像这样
'<length prefix><message ID><payload>
'
长度前缀是4个字节,消息id是1个字节和有效负载。我将收录一个捕捉来展示我的意思,在你将捕获的第509行 看到一篇文章的请求,在第510行你会看到回复的开始。
响应的前4个字节是00 00 00 00,即0长度消息(这导致我发出问题),接下来的4个字节是消息的实际长度,即30个。对片段请求的实际响应从第513行开始,所以我得到了我要求的那篇文章,但是这条新奇的消息让我感到困惑。我确信我可以找到一种解决方法,但我真的很想了解这意味着什么。
此外,我不知道实际消息的含义,也无法在任何地方找到任何相关信息。
这是Wireshark捕获。
答案 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)