ddsec00/Network-Threat-Intelligence-Center-NTIC-
GitHub: ddsec00/Network-Threat-Intelligence-Center-NTIC-
NTIC 是一款基于原始套接字的企业级网络入侵检测系统,搭配实时 SOC 仪表板,为安全分析师提供网络流量监控与威胁识别能力。
Stars: 0 | Forks: 0
# 🛡️ 网络威胁情报中心 (NTIC):高级 NIDS 与威胁运营中心




**网络威胁情报中心 (NTIC)** 是一个先进且定制的网络入侵检测系统 (NIDS),旨在为企业提供针对本地网络流量的企业级可见性。搭配最先进的安全运营中心 (SOC) 仪表板,该工具赋能安全分析师实时监控遥测数据、截获原始网络数据包,并识别恶意的侦察和入侵尝试。
## 📖 详细目录
1. [执行摘要](#-executive-summary)
2. [威胁检测能力 (IDS 引擎)](#-threat-detection-capabilities-ids-engine)
- [SYN Flood 攻击检测](#syn-flood-attack-detection)
- [端口扫描侦察追踪](#port-scan-reconnaissance-tracking)
- [有状态 TCP 追踪](#stateful-tcp-tracking)
3. [安全运营中心 (SOC) UI](#-security-operations-center-soc-ui)
4. [平台架构](#-platform-architecture)
5. [前置条件与环境](#-prerequisites--environment)
6. [部署与安装](#-deployment--installation)
7. [高级使用指南](#-advanced-usage-guide)
8. [代码库结构](#-codebase-structure)
9. [法律与道德免责声明](#-legal--ethical-disclaimer)
## 🔭 执行摘要
在威胁潜伏于网络基础设施最低层的当今环境中,标准的端点保护已不再足够。**网络威胁情报中心 (NTIC)** 通过直接驻留在网络接口卡 (NIC) 上弥补了这一差距,它绕过高级操作系统抽象层,直接分析原始的以太网帧和 IP 数据包。
通过利用原始套接字,后端嗅探器解析数据包头(IPv4、TCP、UDP、ICMP),追踪连接状态,并应用基于启发式的威胁特征来揭露隐蔽的攻击,例如激进的端口扫描或拒绝服务 (DoS) 尝试。这些洞察结果会即时传输至一个采用毛玻璃效果且高度响应的 Web 仪表板,以供取证分析。
## ⚡ 威胁检测能力 (IDS 引擎)
该工具的核心是一个强大且量身定制的启发式引擎。与仅依赖静态特征的传统工具不同,该系统会在滑动时间窗口内分析行为模式。
### SYN Flood 攻击检测
SYN Flood 是一种拒绝服务 (DoS) 攻击,攻击者向目标系统连续发送大量 SYN 请求,试图消耗足够的服务器资源,使系统无法对合法流量做出响应。
- **工作原理:** 引擎会追踪没有相应 ACK 标志的入站 TCP SYN 数据包。
- **阈值:** 如果单个源 IP 在 5 秒的滑动窗口内发起了超过 20 个独特的半开握手,引擎将触发 `SYN_FLOOD` 严重警报。
- **缓解上下文:** 安全团队可以立即隔离 SOC 仪表板中高亮的作恶源 IP。
### 端口扫描侦察追踪
在攻击者尝试突破系统之前,他们会系统地扫描网络以识别开放的门(端口)。
- **工作原理:** 该工具监控来自外部源 IP 的入站流量,追踪被作为目标的端口。
- **阈值:** 如果源 IP 在 30 秒窗口内尝试连接 10 个或更多独特的端口,并且独特端口与总尝试次数的比率超过 80%,系统将生成 `PORT_SCAN` 警报。
- **精确度:** 此逻辑会积极过滤掉“嘈杂”但合法的应用程序,仅关注异常的顺序或随机端口扫描技术。
### 有状态 TCP 追踪
除了识别威胁之外,该工具还能映射活动网络连接的状态:
- 识别并追踪标准握手进程(`SYN_SENT` → `SYN_ACK_RECEIVED` → `ESTABLISHED`)。
- 使分析师能够区分已完成、合法的数据传输与在欺骗攻击中常见的伪造/被遗弃的握手。
### 额外的协议遥测
- **DNS 渗透 / 拦截:** 解析 UDP 端口 53 流量以提取明文 DNS 查询,赋能分析师发现连接到未知或恶意域名的行为。
- **ICMP 监控:** 追踪 ping 扫描和网络发现模式。
## 🖥️ 安全运营中心 (SOC) UI
基于 Web 的仪表板将原始的控制台日志转化为可操作的企业级威胁情报平台。
- **实时 KPI 遥测:** 动画计数器会立即统计总警报数、严重威胁数、可疑警告数和已处理的数据包数。
- **实时流量可视化:** 集成 `Chart.js` 渲染每秒数据包数 (PPS) 的滑动时间序列图,将流量动态拆分为 TCP 和 UDP 趋势线。
- **威胁事件圆环图:** 提供正常流量与已识别异常情况的快速视觉细分。
- **最活跃主机矩阵:** 动态对网络上最活跃的 IP 地址进行排名,并根据流量体积分配视觉严重性条。
- **深度取证过滤:** 详情选项卡提供完整的、可搜索的已解析事件登记表。分析师可以按严重性(高/中/低)、协议(TCP/UDP/ICMP)过滤威胁,或对特定可疑 IP 进行字符串匹配。
## 🏗️ 平台架构
该平台采用生产者-消费者模型运行,以实现最佳性能:
1. **核心嗅探器 (`main.py`):** 在 root/管理员权限下运行,直接绑定到活动网络接口。它将原始的十六进制字节解析为人类可读的数据结构,根据启发式引擎对其进行验证,并通过 HTTP POST 请求将 JSON payload 分发给前端。
2. **遥测 API (`dashboard.py`):** 一个轻量级的 Flask 框架,充当中间数据代理。它将网络的实时状态存储在内存中。
3. **Web 应用程序 (`index.html` & `dashboard.js`):** 一个异步 JavaScript 应用程序,以 1 秒为间隔轮询 Flask API,确保浏览器 UI 原生地反映网络状态变化,而无需重新加载页面。
## ⚙️ 前置条件与环境
**系统要求:**
- **支持的操作系统:** 需要 Linux / Unix 系统才能进行混杂模式的原始套接字绑定。
- **Python 版本:** 3.8 或更高版本。
- **权限:** 必须具有 `sudo` (root) 访问权限才能成功执行嗅探器。
**必需的 Python 包:**
- `Flask`:用于 API 和 Dashboard 路由。
- `requests`:用于处理来自嗅探器的内部 HTTP POST 操作。
- `netifaces`:用于动态检测主机的本地 IP 地址和子网。
## 🚀 部署与安装
### 步骤 1:克隆代码库
从 GitHub 拉取该情报工具的最新版本:
```
git clone https://github.com/ddsec00/Network-Threat-Intelligence-Center-NTIC-.git
cd Local-Network-Intelligence-Tool
```
### 步骤 2:安装依赖项
确保你拥有所需的 Python 模块:
```
pip install -r requirements.txt
# 或者:pip install flask requests netifaces
```
## 🛠️ 高级使用指南
要运行该情报平台,必须同时初始化两个独立的终端会话。
### 1. 初始化接口与 API 服务器
在你的第一个终端窗口中,启动 Flask Web 服务器:
```
cd src
python3 dashboard.py
```
*SOC 仪表板现已上线,可通过以下地址访问:[http://127.0.0.1:5000](http://127.0.0.1:5000)*
### 2. 启动数据包捕获引擎
在你的第二个终端窗口中,启动嗅探器组件。**需要 Root 权限:**
```
cd src
sudo python3 main.py
```
### 协议隔离标志
如果你希望通过针对特定的传输层协议来优化性能并减少噪音,你可以使用内置的终端参数:
- **仅**监控 TCP 数据包:
sudo python3 main.py --tcp
- **仅**监控 UDP 数据包:
sudo python3 main.py --udp
## 📁 代码库结构
```
Local-Network-Intelligence-Tool/
├── README.md # Extensive project documentation
├── requirements.txt # Python dependency list
└── src/ # Source code directory
├── main.py # Core NIDS, raw sockets, heuristic threat engine
├── parser.py # Byte-level dissection for Eth/IP/TCP/UDP/ICMP
├── sniffer.py # Raw socket initialization logic
├── dashboard.py # Flask REST API and web routing
├── traffic.log # Persistent storage for raw text-based logs
├── templates/
│ └── index.html # HTML5 SOC Interface scaffold
└── static/
├── style.css # Glassmorphism, animations, dark-theme styling
└── dashboard.js # Asynchronous DOM rendering and Chart.js integrations
```
## ⚠️ 法律与道德免责声明
本**网络威胁情报中心 (NTIC)** 的开发严格用于学术、管理和防御性安全分析目的。
数据包嗅探涉及拦截通过网络接口的原始网络流量。这些流量可能包含未加密的高度敏感数据,包括身份验证凭据或个人信息。
- **明确授权:** 你必须拥有明确的、书面的授权,才能监控部署此工具的网络段。
- **责任:** 在未经授权的网络上拦截流量可能违反州和联邦的隐私及通信法律(例如《窃听法》)。作者对此不承担任何责任,并且不对因使用本软件而引起的任何滥用、损害或法律后果负责。运行此应用程序即表示你同意这些条款。
标签:Flask, 入侵检测系统, 威胁情报, 安全数据湖, 安全运营中心, 开发者工具, 插件系统, 数据可视化, 网络安全, 网络映射, 网络流量分析, 自定义脚本, 逆向工具, 隐私保护