netmoth/netmoth

GitHub: netmoth/netmoth

一款基于 Go 语言的分布式网络监控与入侵检测系统,通过 eBPF 等高性能捕获技术实现实时流量分析与威胁检测。

Stars: 23 | Forks: 0

A lightweight, fast, simple and complete solution for traffic analysis and intrusion detection

      CodeFactor    

## 🚀  什么是 Netmoth? **Netmoth** 是一个高性能、分布式的网络监控和入侵检测系统,专为应对现代网络安全挑战而设计。Netmoth 使用 Go 语言构建,并采用先进的流量捕获技术,可在整个基础设施范围内提供实时流量分析、威胁检测和全面的网络可见性。 ### 🎯  Netmoth 适合谁? **🔒 安全专业人员与 SOC 团队** - 跨多个位置实时监控网络流量 - 自动检测恶意软件、僵尸网络和可疑活动 - 即时获取关于安全威胁和异常的警报 - 保持符合安全标准和法规要求 **🏢 企业 IT 团队** - 全面了解网络流量模式 - 使用轻量级 Agent 监控分布式基础设施 - 识别性能瓶颈和网络问题 - 确保跨多个站点和云环境的网络安全 **🛡️ 网络管理员** - 在关键网络网段部署 Agent 以进行持续监控 - 详细分析 HTTP、HTTPS、DNS 和 TLS 流量 - 使用先进的数据包捕获技术(eBPF、PF_RING、AF_PACKET)以获得最大性能 - 深入了解网络行为和流量流向 **🔬 安全研究人员与渗透测试人员** - 捕获并分析网络流量以进行安全评估 - 实时检测和追踪恶意活动 - 使用基于签名的检测来识别已知威胁 - 与现有的安全工具和工作流程集成 **☁️ DevOps 与云工程师** - 监控容器化环境和微服务 - 在云基础设施中部署轻量级 Agent - 实时了解云网络流量 - 确保动态环境中的安全合规性 ### ✨  为什么选择 Netmoth? - **🚀 高性能**:支持 eBPF 的零拷贝数据包处理,实现最大吞吐量 - **🔧 易于部署**:配置简单,Agent 自动注册,设置便捷 - **📊 实时监控**:实时流量分析,即时威胁检测和警报 - **🌐 分布式架构**:通过轻量级 Agent 扩展到多个位置 - **🛡️ 高级检测**:基于签名的恶意软件检测、僵尸网络识别和威胁情报 - **📈 现代 Web 界面**:美观的 Vue.js 仪表板,提供实时数据可视化 - **🔍 深度分析**:HTTP/2、TLS、DNS 流量分析,自动 TCP 流重组 - **⚡ 低资源占用**:针对生产环境优化,对系统影响极小 ## 🏆  功能特性 - [x] 监控所有接口上的流量 - [x] 极简配置 - [x] PCAP - [x] AF_PACKET - [x] PF_RING - [x] eBPF - [x] 零拷贝数据包处理 - [x] 自动 TCP 流重组 - [x] Berkeley Packet Filter - [x] 检查 IP 黑名单 - [x] 检查僵尸网络黑名单 - [ ] 检查证书黑名单 - [x] 检查跟踪器黑名单 - [ ] Web 界面 - [ ] 规则 - [x] Agents ## 📚  文档 - [eBPF 支持](docs/EBPF_SUPPORT.md) - 关于 eBPF 支持的详细信息 - [eBPF README](docs/README_EBPF.md) - eBPF 使用指南 - [性能优化](docs/PERFORMANCE_OPTIMIZATIONS.md) - 性能优化详情 - [优化 README](docs/README_OPTIMIZATIONS.md) - 优化使用指南 ## 🏁  安装 简单的 Agent 安装 ``` mkdir netmoth cd ./netmoth curl -L https://raw.githubusercontent.com/netmoth/netmoth/main/config_example.yml > config.yml curl -L https://github.com/netmoth/netmoth/releases/latest/download/netmoth_agent_Linux_x86_64 > netmoth_agent sudo chmod u+x netmoth_agent ``` 如有必要,修改 `config.yml` 文件,然后运行 Agent ``` ./netmoth_agent ``` ## 🚨  安全 ... 即将推出 ... ## 快速开始 ### 1. 构建系统 ``` # 构建 agent 和 manager make build-agent make build-manager ``` ### 2. 配置 ``` # 对于 agent(选择其一): cp cmd/agent/config.yml.example cmd/agent/config.yml # Basic cp cmd/agent/config_optimized.yml cmd/agent/config.yml # Optimized cp cmd/agent/config_ebpf.yml cmd/agent/config.yml # eBPF # 对于 manager(选择其一): cp cmd/manager/config.yml.example cmd/manager/config.yml # Basic cp cmd/manager/config_optimized.yml cmd/manager/config.yml # Optimized cp cmd/manager/config_ebpf.yml cmd/manager/config.yml # eBPF ``` ### 3. 运行 ``` # 启动中央服务器 make run-manager # 启动 agent(在另一个终端中) make run-agent ``` ## 配置选项 ### Agent 配置 - **基础** (`config.yml.example`):适用于大多数环境的标准配置 - **优化** (`config_optimized.yml`):适用于繁忙网络的高性能设置 - **eBPF** (`config_ebpf.yml`):使用 eBPF 数据包捕获实现最大性能 ### Manager 配置 - **基础** (`config.yml.example`):包含数据库的标准配置 - **优化** (`config_optimized.yml`):包含优化数据库的高性能设置 - **eBPF** (`config_ebpf.yml`):使用 eBPF 和数据库实现最大性能 ## 快速命令 ``` # 构建 make build-agent build-manager # 使用特定配置运行 make run-agent-optimized # Agent with optimized config make run-agent-ebpf # Agent with eBPF config make run-manager-optimized # Manager with optimized config make run-manager-ebpf # Manager with eBPF config # 部署 agent 到远程机器 make deploy-agent HOST=user@192.168.1.100 CONFIG=cmd/agent/config.yml ```
标签:AMSI绕过, DLL注入, Docker镜像, EVTX分析, EVTX分析, Go语言, HTTP/HTTPS抓包, IP 地址批量处理, LangChain, Netmoth, PB级数据处理, SOC工具, 僵尸网络检测, 分布式系统, 包捕获, 响应大小分析, 威胁检测, 安全运维, 异常检测, 态势感知, 日志审计, 流量审计, 漏洞发现, 程序破解, 网络可见性, 网络安全, 自定义DNS解析器, 轻量级, 进程隐藏, 防御绕过, 隐私保护