Token导航 LogoToken导航TokenDH.com
netspy (S Rodi) logo
开发工具未说明官方级别未说明来源级核验

netspy (S Rodi)

MCP Server

Netspy是一款集成了AI功能的CLI工具,提供实时网络连接分析、进程特定查询和OpenAI功能调用集成,适用于网络监控和故障排查。

工具数

0

提示词数

0

GitHub Stars

7

资源数

0
网络监控命令行工具Go实时分析AI分析

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

SRodi

提供方

SRodi

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Netspy-上下文网络遥测分析仪

一个统一的CLI工具,提供MCP(模型上下文协议)服务器功能,用于实时网络连接分析,具有AI驱动的洞察力和OpenAI函数调用集成。

Demo

🚀 特性

核心能力

  • 实时网络监控:跟踪连接尝试、模式和数据包丢失
  • 过程特定分析:按PID或进程名称查询
  • AI驱动的洞察:使用上下文工具编排的高级OpenAI函数调用
  • 交互式和程序化:同时提供CLI和API接口
  • 多种输出模式:总结、详细列表、模式分析和人工智能见解

AI集成亮点

  • OpenAI函数调用:LLM自动选择并链接多个分析工具
  • 上下文工具编排:基于查询上下文的动态工具选择
  • 综合分析:多工具数据综合,以获得可操作的见解
  • 自然语言查询:用简单的英语问有关网络行为的问题

🏗️ 建筑

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   netspy CLI    │───▶│   MCP Server    │───▶│  eBPF Server    │
│  (MCP Client)   │    │  (Internal)     │    │ (HTTP API)      │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                              │
                              ▼
                       ┌─────────────────┐
                       │  OpenAI API     │
                       │   (Function     │
                       │    Calling)     │
                       └─────────────────┘

函数调用流程

User Query → Conversation Manager → OpenAI API → Function Calls → MCP Tools → Results → Final Response
  1. 用户输入:关于网络行为的自然语言查询
  2. OpenAI处理:LLM分析查询并确定所需的工具
  3. 函数调用:系统使用经过验证的参数执行适当的MCP工具
  4. 结果集成:工具输出反馈给LLM
  5. 最终响应:基于真实数据的综合分析

📋 先决条件

  1. eBPF网络监控服务器:构建自 ebpf服务器存储库
   git clone git@github.com:SRodi/ebpf-server.git
   cd ebpf-server
   make build  # Compiles both Go code AND eBPF programs
  1. 根权限:服务器上的eBPF操作需要
  1. OpenAI API密钥:AI见解所需(集 OPENAI_API_KEY 环境变量)
   export OPENAI_API_KEY=your_openai_api_key_here

🛠️ 安装

go build -o netspy ./cmd/netspy

🎯 快速开始

# 1. Start the eBPF API server (run once and keep running)
cd /path/to/ebpf-server
sudo ./bin/ebpf-server --http --port 8080

# 2. Set OpenAI API key
export OPENAI_API_KEY=your_key_here

# 3. Generate some network traffic
curl -s http://google.com

# 4. Use contextual analysis
./netspy
netspy-mcp> contextual "analyze my system"

💬 使用示例

情境分析(推荐)

AI驱动的分析会自动选择并链接多个工具:

# Interactive mode with contextual analysis
./netspy
netspy-mcp> contextual "What's happening with my network connections?"
netspy-mcp> contextual "Are there any packet drops or connection issues?"
netspy-mcp> contextual "Analyze the network behavior of process nginx"

# Command line mode
./netspy --tool contextual_analysis --query "Analyze my network activity"
./netspy --tool contextual_analysis --query "How is curl behaving?" --process curl

传统工具命令

# Interactive mode
./netspy
netspy-mcp> summary --pid 1234 --duration 120
netspy-mcp> list --process curl --max-events 20
netspy-mcp> analyze --process nginx
netspy-mcp> insights "curl made 5 connections in 60 seconds"

# Single command mode
./netspy --tool get_network_summary --pid 1234 --duration 120
./netspy --tool list_connections --process curl --max-events 15
./netspy --tool analyze_patterns --process ssh

🔧 可用工具

岩心分析工具

  • get_network_summary:进程的聚合连接统计信息
  • list_connections:最近使用筛选的网络连接事件
  • get_packet_drop_summary:连接问题的丢包分析
  • list_packet_drops:详细的丢包事件
  • 分析模式:连接模式分析和行为洞察

AI驱动的工具

  • 情境分析:具有自动工具选择功能的高级AI分析
  • ai_景点:从提供的摘要文本中生成见解

📊 样本输出

智能分析

### Contextual Analysis

netspy-mcp> contextual "analyze my system"

### Comprehensive Network Analysis

1. **Network Summary**:
   - Over the last 60 seconds, there were **10 outbound connection attempts** recorded.

2. **Detailed Connection Events**:
   - A total of **29 connection events** were logged recently.
   - Notable connections include:
     - **10 connections** to `127.0.0.1:8080` by the process `netspy`.
     - Additional connections to DNS servers and local processes.

3. **Packet Drops**:
   - There have been **3 packet drops** across all processes in the last 60 seconds.

4. **Connection Patterns**:
   - **Top Destinations**: Local connections dominate with 8 connections to `:0`
   - **Protocols Used**: Predominantly TCP (9 connections) and UDP (12 connections)

### Insights & Recommendations:
- **Monitor `netspy`**: Heavy localhost usage detected
- **Investigate Packet Drops**: Monitor for recurring losses
- **Consider Network Capacity**: Optimize settings if under heavy load
- **Regular Monitoring**: Implement ongoing monitoring for these metrics

传统命令

netspy-mcp> summary --process curl
Process 'curl' made 5 outbound connection attempts over the last 60 seconds

netspy-mcp> list --max-events 5
Recent connection events (15 total):
  21:05:53 | 127.0.0.1:8080 | TCP | netspy
  21:03:38 | (local socket) | UNIX | snapd
  21:01:08 | (local socket) | UNIX | snapd
  20:58:42 | 192.168.120.2:53 | UDP | systemd-resolve
  20:56:15 | 172.217.164.78:443 | TCP | curl

🎛️ 命令行选项

常规选项

  • --server URL:eBPF服务器URL(默认值:http://localhost:8080)
  • --verbose:启用详细日志记录
  • --help:显示帮助信息

工具执行

  • --tool TOOL:运行特定的MCP工具并退出

- 可用工具: get_network_summary, list_connections, get_packet_drop_summary, list_packet_drops, analyze_patterns, ai_insights, contextual_analysis

刀具参数

  • --pid PID:要监视的进程ID
  • --process NAME:要监视的进程名称
  • --duration SECONDS:持续时间(秒)(默认值:60)
  • --max-events COUNT:要检索的最大事件数(默认值:100)
  • --summary-text TEXT:AI见解摘要文本
  • --query TEXT:用于上下文分析的自然语言查询

🤖 AI函数调用详细信息

运作原理

系统会自动将所有MCP工具注册为OpenAI功能,使LLM能够:

  • 自动选择相关工具 基于用户查询
  • 链式多工具 用于综合分析
  • 验证参数 并优雅地处理错误
  • 保持对话上下文 跨交互

功能参数

每个工具都接受这些参数(除非指定,否则都是可选的):

网络分析功能:

  • pid (整数):要分析的进程ID
  • process_name (string):要分析的进程名称
  • duration (整数,默认值:60):分析持续时间(秒)
  • max_events (整数,默认值:10):要返回的最大事件数

AI功能:

  • query (字符串,contextual_analysis需要):自然语言查询
  • summary_text (字符串,ai_insights需要):要分析的摘要文本

关键改进

  1. 无工具上下文集成实时工具访问

- ✅ LLM可以通过函数调用直接访问实时网络数据

  1. 缺少函数调用完全支持OpenAI功能

- ✅ 正确的OpenAI函数调用和参数验证 - ✅ 所有7个注册为OpenAI功能的MCP工具

  1. 静态方法动态工具使用

- ✅ LLM根据上下文选择和链接多个工具 - ✅ 演示:4个自动用于系统分析的工具

  1. 有限的上下文结构化上下文管理

- ✅ 具有完整上下文保留功能的多回合对话

🔧 故障排除

“连接被拒绝”或连接失败

  • 确保eBPF API服务器使用 --http --port 8080
  • 测试服务器运行状况: curl http://localhost:8080/health
  • 检查其他端口是否正在使用8080

服务器有数据时“找不到连接”

  • 确保eBPF API服务器正在运行并生成数据
  • 产生一些流量: curl -s http://google.com
  • 使用 netstat -tlnp | grep 8080 验证服务器是否正在侦听

“权限被拒绝”

  • 使用 sudo 对于eBPF服务器,eBPF操作需要root权限
  • 当使用HTTP API模式时,netspy客户端可以在没有sudo的情况下运行

OpenAI API错误

  • 检查一下 OPENAI_API_KEY 环境变量已设置
  • 验证API密钥是否有效并具有足够的信用
  • 如果遇到频繁故障,请检查速率限制

“打开bpf/connection.o:没有这样的文件或目录”

  • 使用构建服务器 make build 在ebpf服务器存储库中
  • 服务器需要编译的eBPF程序,而不仅仅是Go二进制

👨‍💻 开发人员使用情况

MCP集成

import "github.com/srodi/netspy/internal/mcp"

// Create MCP client with embedded server
mcpClient := mcp.NewMCPClient("http://localhost:8080", true)

// Start interactive mode
ctx := context.Background()
err := mcpClient.StartInteractiveMode(ctx)

// Or execute single command
arguments := map[string]any{
    "pid": 1234,
    "duration": 120,
}
result, err := mcpClient.RunSingleCommand(ctx, "get_network_summary", arguments)

OpenAI集成

import "github.com/srodi/netspy/internal/openai"

// Create contextual network analyst
analyst := openai.NewContextualNetworkAnalyst(mcpExecutor)

// Analyze with natural language
analysis, err := analyst.AnalyzeNetworkQuery(ctx, "What's happening with my network?")

// Process-specific analysis
analysis, err := analyst.AnalyzeProcess(ctx, "nginx", 0, 60)

🏗️ 建筑细部

核心组件

  1. 功能调用管理器 (internal/openai/functions.go)

- 自动MCP工具发现和注册 - OpenAI函数定义生成 - 参数验证和类型转换 - 函数执行错误处理

  1. 会话管理器 (internal/openai/client.go)

- 多回合对话管理 - 自动功能调用检测和执行 - 工具结果集成回对话 - 使用 gpt-4o-mini 用于最佳函数调用

  1. 智能网络分析师 (internal/openai/analyst.go)

- 上下文感知查询处理 - 自动工具选择和链接 - 专业网络分析提示 - 对话历史管理

  1. MCP服务器 (internal/mcp/server.go)

- 模型上下文协议实现 - 工具注册和执行 - 与eBPF服务器的HTTP通信

🔮 未来的增强功能

该架构支持轻松扩展:

  • 其他MCP工具(自动发现)
  • 自定义分析工作流
  • 不同的AI模型提供商
  • 流媒体响应
  • 函数调用缓存
  • 多模式输入(图像、文件)

🚀 演出

  • 函数调用延迟:亚秒级工具执行
  • 工具覆盖范围:LLM可使用100%的MCP工具
  • 模型效率:使用 gpt-4o-mini 用于最佳函数调用
  • 零代码重复:自动工具发现消除了重复定义

📜 许可证

该项目是网络遥测生态系统的一部分,与 ebpf服务器 全面的网络监控能力。

目录标签

目录标签

网络监控命令行工具Go实时分析AI分析本地部署CLI工具OpenAI集成

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP