anaszahid07/AI-PCAP-Analyzer
GitHub: anaszahid07/AI-PCAP-Analyzer
基于随机森林机器学习模型的网络流量取证分析平台,可自动解析 PCAP 文件并检测 DDoS、僵尸网络等恶意攻击模式。
Stars: 0 | Forks: 0
# AI-PCAP 分析器





**一款由机器学习驱动的下一代网络取证分析工具。**
## 📖 概述
**AI-PCAP Analyzer** 是一款强大的数字取证仪表板,旨在自动化网络流量捕获(PCAP 文件)的提取与分析。通过结合传统的数据包解析与预训练的随机森林机器学习模型,该工具允许安全分析师可视化网络行为,并自动检测诸如 DDoS 攻击、僵尸网络活动和未经授权的入侵等恶意模式。
该项目弥合了原始数据与可执行情报之间的鸿沟,为网络调查提供了一个现代化的 Web 界面。
## 🔍 在数字取证中的重要性
在不断演变的网络安全领域中,使用 Wireshark 等工具进行手动数据包分析虽然强大,但通常非常耗时且容易出错,特别是在处理大型数据集时。AI-PCAP Analyzer 满足了现代取证的关键需求:
* **自动化异常检测:** 传统取证严重依赖于基于特征签名的检测。该工具利用**机器学习**来识别静态签名可能遗漏的行为异常(例如,不规则的数据包时间、大小变化)。
* **快速分流:** 该工具提供即时的“恶意置信度评分”,而无需手动筛选成千上万的数据包,允许分析师优先处理高风险的捕获文件。
* **可视化上下文:** **地理映射**和**协议分布**图等功能允许调查人员即时可视化攻击的“谁、什么和在哪里”,显著减少平均理解时间 (MTTU)。
* **证据展示:** 集成的报告功能简化了取证报告的创建,将技术性的数据包数据转化为利益相关者可读的摘要。
## 🌟 核心功能
* **📂 拖放分析:** 无缝上传 `.pcap` 或 `.pcapng` 文件以进行即时后端处理。
* **🤖 AI 驱动的威胁预测:** 使用在网络流上训练的随机森林分类器来预测攻击类型(DDoS、探测等)。
* **📊 交互式仪表板:**
* **流量:** 显示数据包频率的时间序列图表。
* **协议细分:** TCP、UDP 和 ICMP 流量的可视化分布。
* **地理空间智能:** 精确定位 IP 地址物理来源的交互式地图。
* **🚨 IOC 浏览器:** 包含严重性评级的入侵指标 (IOC) 详细表格。
* **📑 报告:** (进行中)生成取证发现的 PDF 摘要。
## 🛠️ 技术栈
### **前端**
* **框架:** React 18 (TypeScript)
* **构建工具:** Vite
* **样式:** Tailwind CSS + Shadcn UI
* **可视化:** Recharts (图表), React-Leaflet (地图)
### **后端**
* **运行时:** Node.js
* **框架:** Express.js
* **API:** 用于文件处理和数据桥接的 RESTful 端点。
### **AI 与分析引擎**
* **语言:** Python 3.x
* **库:** Pandas, Scikit-learn, NumPy, Scapy
* **模型:** 随机森林 (`best_random_forest_model.pkl`)
## 🚀 安装与设置
按照以下步骤在本地设置环境。
### 前置条件
* **Node.js** (v18+)
* **Python** (v3.10+)
* **npm** 或 **yarn**
### 1. 克隆仓库
```
git clone https://github.com/your-username/ai-pcap-analyzer.git
cd ai-pcap-analyzer
bash
```
### 2. 安装 Node 依赖
```
npm install
```
### 3. 安装 Python 依赖
为 AI 引擎设置 Python 环境。建议使用虚拟环境。
### 导航至 models 目录
cd models
### (可选) 创建虚拟环境
```
python -m venv venv
```
### Windows:
```
venv\Scripts\activate
```
### Mac/Linux:
```
source venv/bin/activate
```
### 安装依赖项
```
pip install -r requirements.txt
```
# 注意:请确保已安装 scapy、pandas、scikit-learn 和 numpy。
# 🏃♂️ 使用说明
启动开发服务器:
```
npm run dev
```
访问仪表板:打开浏览器并导航至 http://localhost:5000(或终端中指定的端口)。
上传文件:点击上传区域并选择一个 PCAP 文件。
查看结果:等待分析完成。仪表板将填充攻击预测、图表和地图数据。
## 📂 项目结构
```
ai-pcap-analyzer/
├── client/ # React Frontend
│ ├── src/
│ │ ├── components/ # UI Components (Charts, MapView, IOCTable)
│ │ ├── pages/ # Dashboard & Landing Page
│ │ └── lib/ # Utility functions
├── server/ # Express Backend
│ ├── routes.ts # API Routes
│ └── pcap-analyzer.ts # Logic to spawn Python process
├── models/ # AI Engine
│ ├── pcap_parser.py # Main script for parsing & inference
│ ├── best_random_forest_model.pkl # Trained ML Model
│ └── RF_Parser.ipynb # Jupyter Notebook for training
└── package.json # Project Dependencies
```
# 🤝 贡献
## 贡献者
| 姓名 | 贡献 |
|--------|--------|
| Anas Zahid | 前端, CTI 功能, MITRE ATT&CK 映射, 仪表板开发 |
| Junaid Arshad | 后端集成, MITRE ATT&CK 映射, 测试与评估 |
| Muhammad Talha | 机器学习模型开发, 数据集准备, 训练与评估 |
# 📄 许可证
本项目基于 MIT 许可证授权 - 详情请参阅 LICENSE 文件。
Landing Page
Dashboard
IOC Explorer
GeoIP Map
## 📂 项目结构
```
ai-pcap-analyzer/
├── client/ # React Frontend
│ ├── src/
│ │ ├── components/ # UI Components (Charts, MapView, IOCTable)
│ │ ├── pages/ # Dashboard & Landing Page
│ │ └── lib/ # Utility functions
├── server/ # Express Backend
│ ├── routes.ts # API Routes
│ └── pcap-analyzer.ts # Logic to spawn Python process
├── models/ # AI Engine
│ ├── pcap_parser.py # Main script for parsing & inference
│ ├── best_random_forest_model.pkl # Trained ML Model
│ └── RF_Parser.ipynb # Jupyter Notebook for training
└── package.json # Project Dependencies
```
# 🤝 贡献
## 贡献者
| 姓名 | 贡献 |
|--------|--------|
| Anas Zahid | 前端, CTI 功能, MITRE ATT&CK 映射, 仪表板开发 |
| Junaid Arshad | 后端集成, MITRE ATT&CK 映射, 测试与评估 |
| Muhammad Talha | 机器学习模型开发, 数据集准备, 训练与评估 |
# 📄 许可证
本项目基于 MIT 许可证授权 - 详情请参阅 LICENSE 文件。标签:Apex, GNU通用公共许可证, IP 地址批量处理, MITM代理, Node.js, Python, React, Syscalls, 威胁情报, 开发者工具, 数字取证, 无后门, 机器学习, 网络流量分析, 自动化攻击, 自动化脚本, 逆向工具, 防御绕过