mabdullahshahzad0/Network-Intrusion-Detection-System-NIDS-
GitHub: mabdullahshahzad0/Network-Intrusion-Detection-System-NIDS-
一个兼容 Suricata 的轻量级网络入侵检测系统,提供自定义检测规则、模拟攻击流量、自动 IP 封禁响应和浏览器实时告警仪表板。
Stars: 0 | Forks: 0
# 网络入侵检测系统 — 任务 4(网络安全实习)
一个兼容 Suricata 的 NIDS 设置:自定义检测规则、用于测试的模拟攻击流量、自动 IP 封禁响应机制,以及基于浏览器的实时告警仪表板。
## 目录结构
```
├── rules/local.rules # 9 custom Suricata/Snort-compatible detection rules
├── logs/eve.json # Simulated alert log (Suricata alert format)
├── logs/blocklist.txt # IPs auto-flagged by the response mechanism
├── simulate_attacks.py # Generates realistic test alert traffic
├── response_mechanism.py # Detects repeat offenders & auto-blocks them
├── dashboard.html # Live visual dashboard (open directly in browser)
└── NIDS_REPORT.md # Full write-up: methodology, findings, results
```
## 检测内容
- TCP 端口扫描
- ICMP ping 洪水攻击
- SQL 注入尝试(基于 URI)
- SSH 暴力破解尝试
- 可疑的扫描器 user-agents(sqlmap、Nikto)
- 潜在的数据外泄(大量出站传输)
- 目录遍历尝试
## 快速开始
```
pip install -r requirements.txt # (no external deps — pure stdlib)
python simulate_attacks.py # generate sample alerts
python response_mechanism.py # see automated blocking in action
```
然后只需在浏览器中打开 `dashboard.html` —— 无需服务器。
## 响应机制
任何触发 2 次及以上高/中危告警的源 IP 都会被自动标记,记录到 `logs/blocklist.txt` 中,并生成正确的特定于操作系统的防火墙命令(Windows 上为 `netsh`,Linux 上为 `iptables`)。默认在 dry-run(模拟运行)模式下运行 —— 添加 `--execute` 以实际执行封禁。
## 仪表板预览
打开 `dashboard.html` 即可查看:实时告警滚动条、严重程度 KPI、告警量时间轴、类别细分,以及显示哪些 IP 被自动封禁的 Top 违规者表格。
完整的方法论与结果:[`NIDS_REPORT.md`](./NIDS_REPORT.md)
标签:CISA项目, Metaprompt, Python, Suricata, 多模态安全, 安全可视化, 插件系统, 无后门, 现代安全运营, 网络安全, 自动化响应, 逆向工具, 隐私保护