ANIONAgithub/Packet-Sniffer-IDS
GitHub: ANIONAgithub/Packet-Sniffer-IDS
基于 Python 的实时网络数据包分析器与入侵检测系统,结合 YARA 规则和机器学习实现恶意流量检测。
Stars: 0 | Forks: 1

# 网络数据包分析器与 IDS
一款基于 Python 构建的先进、实时的网络数据包分析器与入侵检测系统 (IDS)。该工具能够捕获网络流量,解码多种协议,并利用 YARA 规则与机器学习技术来检测恶意活动与网络异常。
## 🚀 功能特性
* **实时数据包嗅探:** 使用 `scapy` 捕获并分析 IPv4/IPv6、TCP、UDP、ICMP、DNS、ARP 以及各种其他 L2/L3 协议[cite: 1]。
* **深度包检测 (DPI):** 提取并显示原始 hex/ASCII payload 数据以及详细的协议头信息。
* **恶意软件检测 (YARA):** 集成 `yara-python`,根据自定义规则集(例如 Valhalla 规则)扫描数据包 payload,以检测恶意软件特征与漏洞利用[cite: 2, 8]。
* **AI/ML 异常检测:** 采用 `scikit-learn` 的 **Isolation Forest** 算法,基于流大小和数据包间隔来检测行为异常。
* **加密流量分析:** 识别加密流量(TLS、SSH、VPN)并计算 payload 熵,以检测可疑的高熵数据包[cite: 2]。
* **直观的 GUI:** 提供基于 Tkinter 的简洁图形用户界面,带有颜色编码的数据包显示以及用于查看原始数据与扫描报告的分栏视图[cite: 4]。
## 🛠️ 前置条件
在运行此应用程序之前,请确保您已安装以下内容:
* Python 3.8+
* **Npcap** 或 **WinPcap**(Windows 用户捕获数据包时必需)。
* 管理员 / Root 权限(进行数据包嗅探时必需)。
## 📦 安装说明
1. **克隆仓库:**
git clone [https://github.com/yourusername/your-repo-name.git](https://github.com/yourusername/your-repo-name.git)
cd your-repo-name
## 🛠️ 详细的安装与运行指南
请按照以下步骤在您的本地机器上设置并运行数据包嗅探器与 IDS:
### 📌 步骤 1:安装 Npcap(Windows 用户必需)
Scapy 需要 **Npcap** 才能在 Windows 上捕获实时网络数据包。
1. 从 [Npcap 官方网站](https://npcap.com/#download) 下载安装程序。
2. 在安装过程中,请务必勾选此选项:**"Install Npcap in WinPcap API-compatible Mode"**。
### 📌 步骤 2:克隆仓库
打开您的终端或命令提示符并运行:
```
git clone [https://github.com/ANIONAgithub/Packet-Sniffer-IDS.git](https://github.com/ANIONAgithub/Packet-Sniffer-IDS.git)
cd Packet-Sniffer-IDS
```
### 📌 步骤 3:安装依赖项
使用 `requirements.txt` 文件安装所有必需的 Python 库:
```
pip install -r requirements.txt
```
### 📌 步骤 4:运行应用程序
由于数据包嗅探需要访问原始套接字,您必须使用**管理员 / Root 权限**运行该应用程序。
* **在 Windows 上:**
1. 在开始菜单中搜索 `cmd`。
2. 右键点击 **命令提示符** 并选择 **“以管理员身份运行”**。
3. 导航至项目目录并运行:
python gui1.py
* **在 Linux / macOS 上:**
sudo python3 gui1.py
## 🔍 GUI 概览
* **数据包列表面板:** 显示实时捕获的数据包。恶意/异常数据包以**红色**高亮显示,而正常数据包则交替显示为**天蓝色**和**蓝色**。
* **原始数据面板:** 显示所选数据包 payload 的 Hex 与 ASCII 转储。
* **报告面板:** 提供详细的检测报告,包括 YARA 匹配结果、威胁情报以及 ML 异常评分。
## ⚠️ 故障排除与注意事项
* **Wi-Fi 接口:** 默认网络接口设置为 `"Wi-Fi"`。如果您使用的是以太网或其他网络适配器,请在 `capture.py` 中更新接口名称。
* **YARA 规则:** 请确保 `valhalla-rules.yar` 保留在根目录中,以便特征扫描功能正常运行。
## ⚠️ 免责声明
此工具仅为**教育与防御性安全研究目的**而开发。未经授权,请勿将其用于任何网络。
标签:Apex, DNS 反向解析, IP 地址批量处理, Python, Scapy, 无后门, 机器学习, 网络安全, 逆向工具, 防御绕过, 隐私保护