naveen-s-sridhar/Honeypot-Network-for-EdTech-Threat-Intelligence

GitHub: naveen-s-sridhar/Honeypot-Network-for-EdTech-Threat-Intelligence

一个基于 Python Socket 编程的轻量级教育科技蜜罐系统,用于诱捕、记录和分析针对教育环境的网络连接行为,自动标记可疑 IP 并生成威胁情报报告。

Stars: 1 | Forks: 0

# 🍯 教育科技蜜罐网络 — 威胁情报系统 ### BCA 项目 | Python 与 Socket 编程 ## ✅ 环境要求 - Python 3.7 或更高版本(无需额外的库!) - 两个终端窗口(一个用于服务器,一个用于测试) 检查你的 Python 版本: ``` python --version ``` ## 📁 项目文件结构 ``` honeypot_project/ ├── config.py ← Settings (change port, thresholds here) ├── honeypot.py ← Main server — RUN THIS FIRST ├── logger.py ← Handles saving logs ├── detector.py ← Detects suspicious IPs ├── test_honeypot.py ← Test script — RUN IN SECOND TERMINAL ├── report_viewer.py ← View logs nicely ├── PROJECT_WRITEUP.txt ← Abstract, Intro, Methodology, Conclusion ├── logs/ ← Created automatically │ ├── connections.csv │ └── suspicious.json └── reports/ ← Created automatically └── summary.txt ``` ## 🚀 如何运行(逐步指南) ### 第 1 步 — 打开终端并进入项目文件夹 ``` cd path/to/honeypot_project ``` ### 第 2 步 — 启动蜜罐服务器 ``` python honeypot.py ``` 你应该会看到: ``` ============================================================ 🍯 EDTECH HONEYPOT NETWORK — THREAT INTELLIGENCE SYSTEM ============================================================ Listening on : 0.0.0.0:8888 Suspicious if : 3+ connections in 60s Logs saved to : logs/connections.csv Press Ctrl+C to stop and generate report ============================================================ ``` ### 第 3 步 — 打开第二个终端并运行测试 ``` python test_honeypot.py ``` 观察这两个终端!你会看到服务器终端中出现连接信息。 ### 第 4 步 — 查看你的日志 ``` python report_viewer.py ``` ### 第 5 步 — 停止服务器并生成完整报告 在服务器终端中按 `Ctrl+C`。一份摘要报告将在 reports/summary.txt 中生成。 ## 🔬 如何手动测试(可选) 你也可以使用 telnet 或 curl 进行测试: ``` # 使用 curl(如果已安装) curl http://localhost:8888 # 使用 telnet telnet localhost 8888 # 使用 Python one-liner python -c "import socket; s=socket.socket(); s.connect(('127.0.0.1',8888)); s.send(b'test'); print(s.recv(1024))" ``` ## ⚙️ 自定义配置 编辑 `config.py` 以更改: - `PORT = 8888` → 更改监听端口 - `SUSPICIOUS_THRESHOLD = 3` → 触发标记前的连接次数 - `TIME_WINDOW_SECONDS = 60` → 用于计算连接数的时间窗口 - `FAKE_RESPONSE = ...` → 向攻击者发送的回复内容 ## 📊 了解日志文件 **logs/connections.csv** — 每一个连接占据一行: ``` timestamp,ip_address,port,data_received,is_suspicious 2024-01-15 14:23:01,127.0.0.1,54321,GET / HTTP/1.0,False 2024-01-15 14:23:05,127.0.0.1,54322,GET / HTTP/1.0,True ``` **logs/suspicious.json** — 关于被标记 IP 的详细数据: ``` { "127.0.0.1": { "ip_address": "127.0.0.1", "total_attempts": 5, "first_seen": "2024-01-15 14:23:01", "last_seen": "2024-01-15 14:23:08", "status": "FLAGGED" } } ``` ## ❓ 故障排除 **“Address already in use” 错误:** 另一个程序正在使用 8888 端口。请停止该程序,或者在 config.py 中将 PORT 更改为 9999。 **测试脚本中出现 “Connection refused”:** 蜜罐服务器未运行。请先使用 `python honeypot.py` 启动它。 **端口权限被拒绝:** 在 Linux/Mac 上,低于 1024 的端口需要管理员权限。使用 8888 端口一般没有问题。 如有需要:`sudo python honeypot.py`
标签:BCA项目, Beacon Object File, ETW劫持, Homebrew安装, IP 地址批量处理, Python, Socket编程, TGT, 可疑IP检测, 威胁分析, 威胁情报, 安全测试脚本, 开发者工具, 攻防演练, 教育技术, 无后门, 日志记录, 服务器, 端口监听, 网络安全, 网络安全实验, 网络编程, 自动化侦查工具, 蜜罐网络, 规避防御, 隐私保护