【问题标题】:Mainline DHT unexpected message from other nodes来自其他节点的主线 DHT 意外消息
【发布时间】:2018-09-17 19:45:28
【问题描述】:

它看起来像是某种防洪机制的一部分,但我不确定。

已发送查询:

d1:t2:021:y1:q1:q4:ping1:ad2:id20:ê¹L®<꽸.å»…°H$W5ee

十六进制查询:

64313A74323A3032313A79313A71313A71343A70696E67313A6164323A696432303AEAB9034C7FAE3C8DEABDB82EE5BB85B0482457356565

收到的消息:

A\0\u0006Ÿ4\u001f’t\0\0\0\0\0\u0010\0\0j{\0\0

收到的十六进制消息:

4100069F341F927400000000001000006A7B0000

谁能告诉我这条消息是什么?提前谢谢你。

【问题讨论】:

  • 您是否通过wireshark 验证这些字符串与您收到的UDP 数据包内容匹配?否则可能会出现错误使用套接字 API 的问题。
  • @the8472,是的,我就是这么做的。消息内容完全匹配。问题不是经常出现,所以我在重现它时遇到了问题。

标签: dht


【解决方案1】:

目前所有定义的 DHT 消息都是编码字典,因此应该以 d 开头,所以这显然不是 DHT 消息。

但只要协议可以消除歧义,多个服务就可以在 DHT 端口上运行。看起来它可能是uTP SYN,而远程对等点只是在猜测您的节点也说 bittorrent-over-uTP。 如果您不打算支持,那么您可以丢弃该数据包并将实际的 DHT 响应视为此时仍处于等待状态。

旁注,您的查询不是有效的编码。 BEP 3 指定dictionary keys must be sorted

【讨论】:

  • 非常感谢您的努力!非常感谢。
猜你喜欢
  • 2018-07-25
  • 2021-12-12
  • 2011-11-23
  • 1970-01-01
  • 2021-10-01
  • 1970-01-01
  • 2020-04-07
  • 1970-01-01
  • 2010-11-24
相关资源
最近更新 更多