Yogeshgowdapatil/Netra-Network-Intelligence-Platform

GitHub: Yogeshgowdapatil/Netra-Network-Intelligence-Platform

Netra 是一个基于 Python Flask 与 Scapy 的网络情报与安全监控平台,提供子网扫描、数据包捕获、入侵检测和可视化防火墙控制等一体化能力。

Stars: 0 | Forks: 0

# 📡 Netra — 网络情报与安全监控器 Netra 是一个高级的、基于浏览器的网络监控和威胁情报平台。它在一个流畅、现代的玻璃拟态仪表板内提供实时流量数据包捕获、本地子网设备发现、自动化入侵检测 (IDS) 以及可视化防火墙控制器。 ## 🚀 核心功能 * **🕸️ 交互式子网拓扑图**:基于动画和物理效果的节点图,将本地子网设备渲染为动态浮动粒子。支持拖放机制、相机缩放/平移控制以及点击检查侧边栏。 * **🖥️ 本地网络扫描器**:通过 ARP 探测扫描子网(在非 root 用户运行时回退到动态模拟扫描),以构建主机名、IP 和 MAC 地址配置文件。 * **📡 实时数据包嗅探器**:捕获传入和传出的数据包。解析各层(IP、TCP、UDP、ICMP)以实时映射源/目标端口和字节吞吐量。 * **🛡️ 入侵检测系统 (IDS)**:监控特征模式(例如端口扫描 SYN 扫描、DDoS 高流量峰值、暴力破解异常)并触发主动拦截策略。 * **🔥 防火墙黑名单控制器**:支持从威胁日志表和交互式拓扑图检查器中动态、即时地拦截和解除拦截恶意源 IP。 * **📊 可视化遥测与时间线**:采用 Chart.js 小部件显示流量速率,使用甜甜圈图展示协议分布,柱状图展示威胁严重性计数,以及按时间顺序排列的审计日志流。 * **🌙 双主题**:高级深色和浅色模式设置,支持持久化存储用户首选项。 ## 🛠️ 架构与技术栈 Netra 采用多线程服务结构设计,将后端智能引擎与响应式前端界面分离。 ``` graph TD subgraph Frontend [Client Web UI] UI[Dashboard / HTML5 Templates] JS[app.js Control Logic] Canvas[Canvas Graph Physics Engine] Charts[Chart.js Telemetry] UI --> JS JS --> Canvas JS --> Charts end subgraph Backend [Flask Application Server] API[Flask API Endpoints] Config[app_config / config.py] State[Shared Memory State Manager] API --> State State --> Config end subgraph Engines [Background Analysis Threads] Sniffer[Scapy Packet Sniffer] IDS[Threat Signature Analyzer] Scanner[ARP Network Scanner] Sniffer --> State IDS --> State Scanner --> State end JS <-->|JSON REST APIs| API ``` ### 技术蓝图 1. **前端 UI 系统**:使用语义化 HTML5、纯 CSS 变量进行结构化 token 处理,Chart.js 用于实时滚动指标,以及 HTML5 2D Canvas 上下文渲染节点-链接方程。 2. **后端服务器**:由 Python 的 `Flask` 框架驱动,托管无状态 endpoint API 并提供已编译的模板。 3. **线程安全**:进程内内存状态(威胁警报数组、黑名单、审计日志)通过递归线程锁 (`threading.Lock`) 进行保护,以防止并行嗅探和威胁匹配期间的竞态条件。 4. **数据包处理**:由 `scapy` 驱动,用于帧解析和层提取。实现了自动权限检查 (`os.getuid() == 0`),并为非 root 部署提供模拟故障安全机制。 ## 📁 文件结构 ``` Netra/ ├── app/ │ ├── __init__.py │ ├── config.py # Subnet configurations & thresholds │ ├── ids.py # Intrusion detection engine & threat triggers │ ├── packet_capture.py # Scapy sniffer loop & simulation engines │ ├── scanner.py # ARP subnet discovery scanner │ └── state.py # Global locks & audit log controllers ├── static/ │ ├── css/ │ │ ├── base.css # Typography, tokens, & root variables │ │ └── dashboard.css # Component styling & layouts │ └── js/ │ └── app.js # Graph physics & client telemetry logic ├── templates/ │ ├── base.html # Master navigation sidebar template │ ├── dashboard.html # Landing dashboard cards & charts │ ├── scanner.html # Subnet table & topology canvas │ ├── sniffer.html # Live packet feeds │ ├── ids.html # Alert monitoring & blocklist controller │ ├── logs.html # Full system activity audit │ ├── activity.html # Timeline activity timeline │ └── settings.html # Config forms (Slack webhooks, thresholds) ├── run.py # Flask entrypoint & routing file ├── requirements.txt # Package dependencies list └── .gitignore # Ignored folders (caching, venv, OS configs) ``` ## ⚡ 快速开始 ### 1. 前置条件 确保您已安装 Python 3.9+。 ### 2. 环境设置 创建虚拟环境并安装所需的模块: ``` # 创建虚拟环境 python3 -m venv .venv # 激活环境 source .venv/bin/activate # 安装依赖项 pip install -r requirements.txt ``` ### 3. 运行平台 启动服务器: ``` python run.py ``` 默认情况下,服务器运行在 **[http://127.0.0.1:5001](http://127.0.0.1:5001)**。
标签:Flask, Python, 插件系统, 无后门, 网络安全, 自定义脚本, 逆向工具, 防御绕过, 隐私保护