Mr-Spect3r/MANTIS

GitHub: Mr-Spect3r/MANTIS

面向 Windows 的一体化系统行为监控工具,集成文件、进程、网络和资源四大模块,帮助安全研究人员与运维人员实时洞察应用程序的底层活动。

Stars: 10 | Forks: 4

MANTIS Logo

🦗 MANTIS - 高级系统监控套件

监控所有网络、任务和集成系统

功能截图安装说明使用方法下载贡献

Version Python License Platform

## 📖 概述 **MANTIS**(监控所有网络、任务和集成系统)是一款功能强大且全面的监控工具,专为**程序分析和行为检查**而设计。无论您是安全研究人员、开发人员,还是仅仅对应用程序的幕后行为感到好奇,MANTIS 都能为您提供深入的洞察力,涵盖: - 📁 **文件系统活动** - 跟踪每一个文件的创建、修改、删除和重命名 - 🔄 **进程与任务管理** - 监控进程的创建、终止以及父子关系 - 🌐 **网络通信** - 检查 TCP 数据包、payload 及相关进程 - 💻 **系统资源监控** - 实时追踪 CPU、内存和网络使用情况 ## ✨ 功能 ### 📁 文件监控 - 实时文件系统事件跟踪(创建、删除、修改、重命名、移动) - 按文件名、扩展名或事件类型过滤事件 - 将监控日志保存为 JSON 格式 - 递归监控任何目录 - 路径解析,支持点击选择文件夹 ### 🔄 进程监控 - 实时跟踪进程的创建与终止 - 显示父子进程关系 - 活跃进程和已终止进程分为独立窗口显示 - 实时 PID 和进程名称跟踪 - 带有时间戳的按时间顺序的事件日志 ### 🌐 网络监控 - 使用 WinDivert 进行实时 TCP 数据包检查 - 显示源/目标 IP 地址和端口 - 查看数据包 payload(前 200 字节) - 按进程名或 IP 地址过滤 - **交互式网络图表可视化**(需要 Graphviz) - 将网络流量与特定进程关联 - IP 地址的域名解析 ### 💻 CPU 监控(基于 Qt) - 实时 CPU 和内存使用率图表 - 按进程划分的资源监控 - 网络吞吐量可视化 (KB/s) - 进程搜索和过滤 - 详细的进程指标(内存 MB、线程数、状态) - 选择任意进程以查看其详细的 CPU/内存历史记录 ### 截图

Process Monitor Network Monitor

Main Interface

## 🚀 快速开始 ### 前置条件 - **Windows 操作系统**(使用 WinDivert 进行网络监控) - **Python 3.8+** - **管理员权限** ### 安装说明 1. **克隆仓库** ``` git clone https://github.com/Mr-Spect3r/MANTIS.git cd MANTIS ``` 2. **安装 Python 依赖** ```pip install -r requirements.txt``` ``` Required libraries: psutil # Process and system monitoring pydivert # Network packet capture (Windows) watchdog # File system monitoring customtkinter # Modern GUI framework graphviz # Network graph visualization Pillow # Image processing for graphs pyqtgraph # Real-time CPU graphs PySide6 # Qt framework for CPU monitor ``` 3. **安装 Graphviz(网络图表所需)** ``` # 使用 winget(推荐) winget install graphviz # 或从以下网址下载:https://graphviz.org/download/ ``` 4. **配置 Graphviz PATH** ``` Add C:\Program Files\Graphviz\bin to your system PATH Verify installation: dot -V ``` # 运行 MANTIS ``` # 使用管理员权限运行(自动提权) python mantis.py ``` 或下载预编译的可执行文件: 👉 下载 MANTIS.exe ## 📚 如何使用 ### 🗂️ 文件监控 1. 在主菜单中点击 **"File Monitor"** 2. 选择要监控的目录(或使用当前路径) 3. 点击 **"Start Monitoring"** 4. 该目录中的任何文件活动都将被记录 5. 使用过滤器缩小事件范围: - **Filename** - 按文件名模式过滤 - **Format** - 按文件扩展名过滤 - **Type** - 按事件类型过滤 (CREATED/DELETED/UPDATED/MOVED) 6. 使用 **"Save Log"** 按钮保存日志 ### 📊 进程监控 1. 在主菜单中点击 **"Process Monitor"** 2. 四个面板分别显示: - 🟢 **Started Tasks** - 新创建的进程 - 🔴 **Closed Tasks** - 已终止的进程 - 📄 **Closed List** - 已终止进程的汇总 - 👤 **Parent Process** - 哪个进程派生了子进程 3. 监控将自动运行,直到窗口关闭 ### 🌐 网络监控 1. 在主菜单中点击 **"Network Monitor"** 2. 所有 TCP 流量将被捕获并显示 3. 每个数据包显示: - 源/目标 IP 和端口 - 关联的进程名称和可执行文件路径 - Payload 数据(前 200 字节) 4. 应用过滤器: - **Process Filter** - 仅显示特定进程的流量 - **IP Filter** - 按 IP 地址过滤 5. 点击 **"Graph"** 生成交互式网络可视化图表 ### 💻 CPU 监控 1. 在主菜单中点击 **"CPU Monitor"** 2. 实时图表显示: - 总体 CPU 使用率 % - 总体内存使用率 % - 网络发送/接收速度 (KB/s) 3. 进程表显示所有正在运行的进程 4. 点击任意进程查看: - 单个进程的 CPU 历史记录 - 单个进程的内存使用情况 (MB) 5. 使用搜索框按名称或 PID 过滤进程 ## 🛠️ 架构 ``` MANTIS/ ├── mantis.py # Main application (Tkinter GUI) │ ├── MonitorApp # Main window controller │ ├── FileMonitorWindow # File system monitoring │ ├── TaskWindow # Process monitoring │ ├── NetworkMonitorWindow # Network packet capture │ └── AboutWindow # About information ├── cpumonitor.py # Standalone CPU monitor (Qt) └── requirements.txt # Python dependencies ``` ## 🛠️ 核心组件 - **WinDivert 集成**:底层 TCP 数据包捕获和注入 - **Watchdog**:跨平台文件系统事件监控 - **psutil**:跨平台系统和进程信息 - **CustomTkinter**:现代化、可自定义的 GUI 组件 - **PyQtGraph**:高性能实时绘图 ## 🔒 安全与权限 MANTIS 需要**管理员权限**,因为: - 网络数据包捕获需要原始套接字访问权限 - 进程检查可能需要提升的权限 - 受保护目录的文件系统监控 应用程序在启动时会使用 Windows ShellExecute 自动请求权限提升。 ## 🤝 贡献 欢迎贡献!您可以通过以下方式提供帮助: - **报告 Bug** - 在 GitHub 上开启一个 Issue - **建议功能** - 通过 Telegram 或 GitHub 提交想法 - **提交 Pull Request** - 用于修复 Bug 或改进 ### 开发设置 ``` git clone https://github.com/Mr-Spect3r/MANTIS.git cd MANTIS pip install -r requirements.txt # 进行更改 python mantis.py ```
标签:ETW劫持, JSON格式, MIT许可, Python, TCP数据包, Windows平台, 任务管理, 可配置连接, 文件系统监控, 无后门, 日志记录, 程序分析, 系统工具, 系统资源监视, 网络安全, 逆向工具, 隐私保护