netmoth/netmoth
GitHub: netmoth/netmoth
一款基于 Go 语言的分布式网络监控与入侵检测系统,通过 eBPF 等高性能捕获技术实现实时流量分析与威胁检测。
Stars: 23 | Forks: 0
## 🚀 什么是 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解析器, 轻量级, 进程隐藏, 防御绕过, 隐私保护