PrajyotPatil18/Building-Honeypot

GitHub: PrajyotPatil18/Building-Honeypot

一个基于 Python 的教育型 SSH 蜜罐应用,通过模拟虚假登录服务捕获攻击者凭证并提供实时监控仪表盘。

Stars: 0 | Forks: 0

# SSH 蜜罐仪表盘 一个基于 Python 的轻量级 Honeypot 应用程序,它模拟虚假的 SSH 登录服务,旨在用于教育性的网络安全监控和威胁情报概念学习。 ## 功能 - **SSH 蜜罐服务器**:在自定义端口上模拟 SSH 服务(默认:2222) - **连接记录**:捕获攻击者的 IP 地址、时间戳和连接尝试 - **凭证捕获**:记录攻击者输入的用户名和密码 - **暗色主题仪表盘**:提供带有统计数据和日志的实时监控界面 - **轻量级架构**:对初学者友好的设计,专注于教育概念 ## 项目结构 ``` Building-Honeypot-2-10/ ├── honeypot.py # Main SSH honeypot server ├── logger.py # Logging system for capturing data ├── dashboard.py # Flask monitoring dashboard ├── requirements.txt # Python dependencies ├── logs.txt # Log file (created automatically) ├── templates/ │ └── index.html # Dashboard HTML template └── README.md # This file ``` ## 安装说明 1. **克隆或下载本项目** 2. **安装依赖**: pip install -r requirements.txt ## 使用说明 ### 启动 Honeypot 服务器 运行 SSH 蜜罐服务器: ``` python3 honeypot.py ``` Honeypot 将开始在 `0.0.0.0:2222` 上监听(你可以在代码中修改此设置)。 ### 启动监控仪表盘 在另一个单独的终端中,运行仪表盘: ``` python3 dashboard.py ``` 访问仪表盘的地址:`http://localhost:5000` *查找类似于 `Running on http://127.0.0.1:5000` 的提示行* 复制确切的 URL,例如:`http://127.0.0.1:5000`,并将其粘贴到隐身浏览器标签页中,或者直接将鼠标悬停在终端链接上并点击 `follow link`。请勿直接粘贴 `http://localhost:5000` ### 测试 Honeypot 你可以使用任何 SSH 客户端测试该蜜罐: ``` ssh -p 2222 username@localhost ``` ## 仪表盘功能 - **实时统计**:查看总连接数、捕获的凭证、唯一 IP 以及近期活动 - **活动日志**:浏览所有连接尝试和捕获的凭证 - **自动刷新**:仪表盘每 30 秒更新一次 - **暗色主题**:现代且护眼的界面 - **响应式设计**:适用于桌面和移动设备 ## 安全注意事项 ⚠️ **仅供教育用途**:此蜜罐旨在用于学习网络安全概念,在未经适当安全加固的情况下,请勿用于生产环境。 - 蜜罐运行在端口 2222 上,以避免与真实的 SSH 服务发生冲突 - 所有捕获的数据均存储在本地 `logs.txt` 文件中 - 不会暴露任何敏感的系统信息 - 建议在隔离环境(虚拟机/容器)中运行 ## 工作原理 1. **SSH 模拟**:Honeypot 呈现虚假的 SSH banner 和身份验证过程 2. **连接处理**:每个连接都在独立的线程中处理 3. **数据捕获**:记录 IP 地址、时间戳、用户名和密码 4. **实时监控**:Flask 仪表盘读取日志文件并显示数据 ## 自定义设置 - **修改端口**:修改 `honeypot.py` 中的 `port` 参数 - **SSH Banner**:编辑 `honeypot.py` 中的 `ssh_banner` 变量 - **仪表盘主题**:修改 `templates/index.html` 中的 CSS - **日志位置**:修改 `logger.py` 中的 `log_file` 参数 ## 故障排除 - **端口被占用**:修改 `honeypot.py` 中的端口号 - **权限被拒绝**:如果使用低于 1024 的端口,请使用 `sudo` 运行 - **仪表盘无法加载**:检查是否已安装 Flask 且端口 5000 是否可用 ## 教育价值 本项目演示了以下内容: - 使用 socket 进行网络编程 - 用于处理并发连接的多线程 - 使用 Flask 进行 Web 开发 - 实时数据可视化 - 基本的网络安全概念 - 威胁情报收集 ## 许可证 本项目提供用于教育目的。请负责任地使用,并遵守适用的法律法规。
标签:Flask, Python, SSH, 后端开发, 多模态安全, 威胁情报, 安全, 开发者工具, 无后门, 蜜罐, 证书利用, 超时处理, 逆向工具