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检测, 威胁分析, 威胁情报, 安全测试脚本, 开发者工具, 攻防演练, 教育技术, 无后门, 日志记录, 服务器, 端口监听, 网络安全, 网络安全实验, 网络编程, 自动化侦查工具, 蜜罐网络, 规避防御, 隐私保护