最主要参考:erlang R17新socket选项{active,N}
inet:setopts(Socket, [{active, 300}]),
erlang:send_after(30 * 1000, self(), release_passive);
大概思路是,在30秒内最多接收300个包,超过就不接收,等待这30秒完成后继续接收,如此反复。
利用这点还可以加多一个计数器,如果超过10次进入passive状态,说明这个Socket存在问题,有攻击的行为。
另外参考:
最主要参考:erlang R17新socket选项{active,N}
inet:setopts(Socket, [{active, 300}]),
erlang:send_after(30 * 1000, self(), release_passive);
大概思路是,在30秒内最多接收300个包,超过就不接收,等待这30秒完成后继续接收,如此反复。
利用这点还可以加多一个计数器,如果超过10次进入passive状态,说明这个Socket存在问题,有攻击的行为。
另外参考:
转载于:https://my.oschina.net/u/191928/blog/619632