这可能是最好的BT做种任务反吸血办法,不知道比特彗星会不会引入
这可能是最好的BT做种任务反吸血办法,不知道比特彗星会不会引入新的做种状态反吸血,我倒是没什么好的想法,基本上只能ip黑名单或者检测对方下载进度汇报
毕竟BT不像HTTP可以弹出js,验证码等来验证客户端是否合法
我唯一能想到的类似HTTP原理最好的办法就是,让对方客户端过一次人机验证,可以让比特彗星每一个做种任务可以申请一个临时的64KB内存,然后队列依次对每一个已连接peer询问要下载64KB数据写入临时申请的缓冲内存里,达到64KB或者20秒(一般建立连接后开始有速度需要10秒)内收到任何数据就立即断开,避免任务过多引起下载流量产生过大,只取64KB不需要对完整一个区块校验,如果对方回应则判断为绿色笑脸,如果对方未回应则保持黄脸,检测未通过则对其红脸加入拉黑,增加一个新选项卡状态显示,等待反吸血检测队列排队状态便于观察,如果没有任何peer则释放为这个任务申请的内存,避免运行上千任务时候引起不必要的内存泄漏
我想我这种反吸血方式比检测自身上传大小和对方进度是否发生变化更为精准
其实这套方案还是有一些缺陷的,比如说由于只取64K数据不校验的话,如何判断对方是否发来正确的数据,如果攻击者进行对做种者重复发一个相同的任意数据包那么可以绕过这个验证
包括攻击者伪造进度为0%的时候,做种者是否应当询问下载者要64K的上传数据?因为此时没办法进行判断对方是不是真的0%
大家还有什么对于反吸血更好的建议?还是说我这套已经算是最好的了
页:
[1]