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, 多模态安全, 安全可视化, 插件系统, 无后门, 现代安全运营, 网络安全, 自动化响应, 逆向工具, 隐私保护