轻松逃脱某防火墙对ss的探测

 

ss里面有些诡异的日志(我用的是ss-go)

2017/10/1* 1*:5*:19 error getting request  ***:***  ***:*** EOF

 

这种日志不多,一般新开一个端口使用之后,一天之内会出现一个这样的记录。看着像有人主动发了一个错误的包,因为我不可能主动发了一个错误的包,而且大小还不对。头包本来就很小,一个数据包就可以了,不需要两个包,所以也不可能在读取请求时候就出现EOF中断的情况。所以这很可能是防火墙对ss的主动探测。

 

其实防火墙对ss的探测原理很简单,因为aes这些加密算法,字节都是一一对应的。就是说,加密之后,虽然内容发生了变换,但是位置不变。所以我们可以根据ss协议,修改其中一些字节,发个包看看,服务器有没有主动断开,如果断开,那么很可能是ss服务器。

具体原理可以看破娃的一篇文章,标题大概是为什么要弃用一次性验证。

 

那么问题来了,如果检测到错误,很长时间才断开呢,是否能逃避探测?我将ss-go代码加入如下修改:

 

修改之后,重新编译上传至vps,起一个新端口,目前没有出现端口被f的情况。之前曾经新开端口,但是很快被f了,说明这次改动的确有效。

 

这样改动的坏处是遭到攻击,会造成资源泄漏的问题,可以考虑加个逻辑,把发起大量无意义链接的ip关了。禁止的上限可以是上万,链接在服务器里面是很cheap的,有内存就行。

改动很简单,而且这样改之后,防火墙无法根据sleep这种行为来判断是否是ss服务器。很多基于tcp的协议,到一段时间之后,也会主动把链接关了,所以防火墙根本分不清究竟是不是改动之后的ss。

 

转载于:https://www.cnblogs.com/dearplain/p/7686115.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值