2

我一直在尝试向对等方发出握手请求,尽管我成功地得到了握手响应。

由于某种原因,握手响应后的数据看起来很奇怪。

让我解释

这是握手请求

\x13BitTorrent protocol\x00\x00\x00\x00\x00\x00\x00\x00\x01G{\x96\er\xDB\x9Cd\x14O\xFCj\r/\x8D\xA7\xAE\xAE\xF166788486352714431784

我得到一个看起来像这样的握手响应

\x13BitTorrent protocol\x00\x00\x00\x00\x00\x10\x00\x00\x01G{\x96\er\xDB\x9Cd\x14O\xFCj\r/\x8D\xA7\xAE\xAE\xF1-TR2840-e5rk4p002er6

现在让我感到困惑的是我从套接字读取了接下来的 200 个字节

我看到了这个

\x00\x00\x00-\x14\x00d1:md6:ut_pexi1ee6:yourip4:o}\xD1)4:reqqi255ee\x00\x00\x00\x96\x14\x00d1:ei1e4:ipv616:$\x00a\x80\x01\x00\x00\xD0\x00\x00\x00\x00\x02\xA40\x011:md11:ut_metadatai3e6:ut_pexi1ee13:metadata_sizei166e1:pi51413e4:reqqi512e11:upload_onlyi0e1:v17:Transmission 2.

假设\x00\x00\x00-是长度(根据Bittorrent的消息结构)

和 "\x14" 是 message_id = 20

但是查看bittorrent 协议规范,我找不到 ID 为 20 的消息

我有点卡在这里,不知道在哪里进行任何帮助将不胜感激。

4

1 回答 1

1

远程对等方显示不合规行为。即使您没有在保留位域中表示该功能,它也会发送扩展握手。

-TR2840-

这表明它是传输 2.84。如果它也发生在当前的传输版本中,我会向他们报告一个错误。如果它只发生在旧版本中,我不会费心处理这种情况而只是断开连接。

于 2017-05-29T04:39:15.570 回答