lucky-om/CodeAlpha_NetPhantom

GitHub: lucky-om/CodeAlpha_NetPhantom

NetPhantom 是一个具备实时流量捕获、协议解析和基础威胁检测能力的网络数据包嗅探器,提供暗色风格 GUI 仪表盘与 CLI 双模式操作。

Stars: 0 | Forks: 0

# ⬡ NetPhantom v2.0 — 专业网络数据包嗅探器 ``` ███╗ ██╗███████╗████████╗ ██████╗ ██╗ ██╗ █████╗ ███╗ ██╗████████╗ ██████╗ ███╗ ███╗ ████╗ ██║██╔════╝╚══██╔══╝ ██╔══██╗██║ ██║██╔══██╗████╗ ██║╚══██╔══╝██╔═══██╗████╗ ████║ ██╔██╗ ██║█████╗ ██║ ██████╔╝███████║███████║██╔██╗ ██║ ██║ ██║ ██║██╔████╔██║ ██║╚██╗██║██╔══╝ ██║ ██╔═══╝ ██╔══██║██╔══██║██║╚██╗██║ ██║ ██║ ██║██║╚██╔╝██║ ██║ ╚████║███████╗ ██║ ██║ ██║ ██║██║ ██║██║ ╚████║ ██║ ╚██████╔╝██║ ╚═╝ ██║ ╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ NetPhantom ``` ## 📁 项目结构 ``` nETWORK pACKATE/ ├── main.py ← Entry point: mode selector (GUI / CLI) ├── capture.py ← Packet capture engine (Scapy + threading) ├── analyzer.py ← Packet parser + threat detection engine ├── gui.py ← Hacker-style Tkinter GUI dashboard ├── requirements.txt ← Python dependencies └── README.md ← This file ``` ## ⚙️ 安装说明 ### 1. 前置条件 - Python 3.10+ - **Windows**: 已安装 [Npcap](https://npcap.com/)(Scapy 进行数据包捕获时需要) - **Linux/macOS**: `libpcap`(通常已预装) ### 2. 安装依赖 ``` pip install -r requirements.txt ``` ### 3. 权限(完整捕获功能必需) | 平台 | 运行方式 | |----------|------------| | Windows | 右键点击终端 → **以管理员身份运行** | | Linux | `sudo python main.py ...` | | macOS | `sudo python main.py ...` | ## 🚀 使用方法 ### 🖥️ GUI 模式(默认) ``` python main.py # or explicitly: python main.py --mode gui ``` 启动完整的**暗色黑客风格 NetPhantom 仪表盘**,包含: - 实时数据包捕获表 - 实时协议统计 - 威胁警报面板 - 搜索与过滤 - 一键导出(PCAP / JSON) ## 🎨 GUI 仪表盘功能 | 面板 | 描述 | |-------|-------------| | **控制栏** | 选择接口,设置 BPF 过滤器,启动/停止捕获 | | **数据包表** | 实时滚动表格:时间、源地址(Src)、目的地址(Dst)、协议、长度、信息 | | **详情面板** | 点击任意行查看完整的数据包解析 | | **统计面板** | 总数据包数、PPS、协议计数器、条形图 | | **警报面板** | 实时威胁检测警报 | ### ⌨️ GUI 键盘快捷键 | 按键 | 动作 | |-----|--------| | `F5` | 开始捕获 | | `F6` | 停止捕获 | | `Ctrl+E` | 打开导出对话框 | | `Ctrl+F` | 聚焦搜索框 | | `Ctrl+L` | 清除所有数据包 | | `Escape` | 停止捕获 | | `双击行` | 打开完整数据包详情弹窗 | ### 🎨 颜色编码 | 颜色 | 协议 | |-------|----------| | 🟢 绿色 | TCP | | 🔵 蓝色 | UDP | | 🟡 黄色 | ICMP | | 🟣 紫色 | ARP | | 🩵 青色 | DNS | | ⬜ 白色 | IPv6 | | 🔴 红色 | 可疑/警报数据包 | ## 🔐 威胁检测(内置) | 威胁 | 检测阈值 | |--------|---------------------| | **端口扫描** | 单个 IP 连接 > 15 个唯一目标端口 | | **DoS / 高流量** | 单个 IP 流量 > 100 个数据包/秒 | | **ICMP 泛洪** | 单个 IP 流量 > 50 个 ICMP 数据包/秒 | | **DNS 泛洪** | 单个 IP 发起 > 30 次 DNS 查询/秒 | 警报会同时显示在 GUI 警报面板和 CLI 中(红色警告行)。 ## 📦 导出格式 | 格式 | 描述 | |--------|-------------| | `.pcap` | 标准数据包捕获文件(可在 Wireshark 中打开) | | `.json` | 已解析的数据包摘要(用于脚本/分析) | ``` # CLI: auto-save pcap during capture python main.py --mode cli -i eth0 -s output.pcap # GUI: use Ctrl+E → choose PCAP or JSON ``` ## 🧠 架构 ``` main.py (NetPhantom Entry Point) ├─ parse_arguments() → argparse ├─ check_privileges() → admin/root check ├─ --mode gui → gui.py → PacketSnifferGUI │ capture.py → CaptureEngine │ ├─ sniff() [background thread] │ ├─ Queue │ └─ export_pcap / export_json │ analyzer.py → PacketAnalyzer ├─ parse(pkt) → dict ├─ get_stats() → dict └─ _detect_threats() → alert str ``` ### 线程模型 ``` Main Thread Capture Thread (daemon) ────────── ────────────────────── GUI poll_packets() ← scapy.sniff() → _packet_callback() (every 80ms) ↓ reads from Queue → PacketAnalyzer.parse() updates Treeview ↓ updates Stats → queue.put_nowait(pkt_info) ``` ## 🛡️ 安全与道德 本工具适用于: - ✅ 授权的渗透测试 - ✅ 您自己网络的网络故障排除 - ✅ 网络安全教育与学习 - ✅ CTF/实验室环境 - ❌ 不可用于未经授权的监视 ## 🧪 测试(实验环境搭建) ``` # Generate test traffic (from another terminal) ping 8.8.8.8 # On Linux: generate TCP traffic curl http://example.com # DNS test nslookup google.com ``` ## 🐛 故障排除 | 问题 | 解决方案 | |-------|-----| | `Permission denied` | 以管理员身份运行(Windows)或使用 `sudo`(Linux) | | 无法捕获到数据包 | 安装 Npcap(Windows)或检查网络接口名称 | | `Interface not found` | 运行 `python main.py -l` 列出可用的网络接口 | | Scapy 导入错误 | `pip install scapy` | | GUI 无法打开 | 确保已安装 `tkinter`(`python -m tkinter`) | | CPU 占用过高 | 缩小 BPF 过滤器范围,或使用 `--filter tcp` | ## 📋 依赖项 ``` Python >= 3.10 scapy >= 2.5.0 colorama >= 0.4.6 tkinter (bundled with Python) Npcap (Windows only) — https://npcap.com ``` ## 👨‍💻 作者 **Lucky** — 道德黑客 本项目作为网络安全工具的演示而构建,结合了: - 实时数据包捕获(Scapy) - 多线程架构 - 专业的 GUI 设计(Tkinter) - CLI 实用程序设计模式 **工具名称:NetPhantom** ## 📜 许可证 ## 本项目基于 Apache License 2.0 授权。 详见 LICENSE 文件。 *"拥有强大的数据包嗅探能力,意味着也要承担重大的责任。"*
标签:AMSI绕过, CLI, Google搜索, GUI应用, NetPhantom, PB级数据处理, Python, Scapy, Tkinter, TUI, WiFi技术, 协议分析, 协议洞察, 图形界面, 威胁检测, 安全运维, 情报分析, 抓包工具, 攻击路径可视化, 数据包解析, 无后门, 服务管理, 权限提升, 深度包检测, 网络嗅探器, 网络安全, 网络安全分析, 网络诊断, 逆向工具, 防御绕过, 隐私保护, 黑客工具