写在前面

蜜罐就是一种通过模拟真实环境来诱导入侵者的一种技术。通过它可以拖延黑客入侵时间,递给黑客用于取证假数据,溯源黑客等。通过控制平台去操作部署的仿真环境实现高效的诱捕。

之前写过一个简单的仿真redis蜜罐,简单介绍一下。

Redis RESP

搭建这种组件的仿真环境,要么用真实的程序,要么就自己实现一套虚假的程序。假如自己实现的话,最关键的就是协议,对于redis来说,它的通信协议相对简单,就是resp,协议格式如下:

这就是它的通信协议,相当简单,比如我们想实现一个简单的get key操作,那么协议对应的字符格式为


bash复制代码
*2\\r\\n$3\\r\\nget\\r\\n$3\\r\\nkey\\r\\n

然后传送给服务端就行。

Redis蜜罐

对于蜜罐,我们只需要实现服务端即可,客户端就用redis-cli这个工具就行。废话不多说,直接贴一下项目github.com/SSRemex/sil…

很简单,server.py实现了一个socket服务,同时加了日志收集功能。

而resp.py则实现了命令解析、命令执行、结果格式处理等操作

命令解析和结果格式主要是协议的解析和封装,这里主要想说一下两点,就是实现了一部分redis的命令