You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

启用DHT时BT客户端向随机内网地址发送get_peers请求是否属于正常行为?

启用DHT时BT客户端向随机内网地址发送get_peers请求是否属于正常行为?

嘿,这个问题其实挺常见的,我来给你捋捋~

首先,这种行为确实是DHT正常运作的一部分,不用太担心被扫描或者攻击。原因主要有这几点:

  • DHT网络本身是分布式的,里面的节点会互相交换peer信息。有些恶意或者配置有问题的节点,会把内网IP(比如192.168.x.x、10.x.x.x这类)当成公网peer地址发布到DHT里。你的客户端拿到这些地址后,就会自动尝试发送get_peers请求,哪怕这些地址是内网的——因为DHT本身不做IP有效性的前置校验,它只是按照收到的信息去尝试连接。

  • 你提到的反向路径过滤(reverse path filtering)已经启用,其实这层防护已经帮你挡住了大部分风险:即使有恶意请求发出去,不对的内网地址也没法给你回包,而且反向过滤会直接丢弃那些来源异常的响应,所以不用怕被内网扫描或者入侵。

  • 至于你疑惑的“没人回包为什么还要发”——DHT的设计就是尽可能尝试所有拿到的peer地址,哪怕看起来不太合理。毕竟有些内网节点可能通过端口映射暴露在公网,只是IP还保留着内网段,客户端没法提前判断,只能靠尝试来确认是否能连接上。

另外,你说这不是客户端特定的,这点也没错——不管是Transmission还是qBittorrent、Deluge,只要用标准的DHT协议,都会出现这种情况,属于普遍现象。

如果实在看着不舒服,其实也没什么特别的解决办法(除非你关掉DHT,但那样会影响BT下载的peer发现效率)。不过既然反向过滤已经开着,完全不用在意这些请求,它们不会对你的内网安全造成威胁。

备注:内容来源于stack exchange,提问作者devitrified

火山引擎 最新活动