概念证明,以证明 人工智能代理的人机工程学UI,具有Linux内核的强大功能!
这 netmon mcp 工具用途 ebpf 与接口 内核数据结构和管道将数据传输到MCP服务器进行解析。 然后,人工智能模型可以分析数据并在报告中呈现给用户。
特性
目前支持的操作 netmon mcp 是 incoming 和 ougoing.
incoming返回每秒igress数据包的数量(以5秒为单位测量)。ougoing等待直到建立新的TCP连接,并返回连接详细信息(IPv4、端口等)。
示例通过opencode。
需求
操作系统
- \[x\] 支持eBPF+XDP的内核
- \[x\]
clang和llc(LLVM)用于构建eBPF代码 - \[x\]
sudo特权(加载eBPF程序和运行Opencode所需)
Go要求
- 转到1.22+
- Cilium/ebpf图书馆
- bpf2go
安装依赖项:
sudo apt update
sudo apt install clang llvm
# NB: You may need to install additional Linux and ebpf headers.要重新生成BPF绑定,请执行以下操作:
go generate ./...您可以选择设置环境变量:
cp env.example .env
# Fill out .env
. ./.env运行MCP服务器
1.建造
go build2.运行(仅限Linux)
因为XDP需要特权访问:
sudo ./netmon-mcp项目结构
netmon-mcp/
│
├── main.go # MCP server entry point
├── go.mod / go.sum # Go dependencies
│
└── ebpf/
├── netmon.c # eBPF XDP program
├── netmon_bpfel.go # Auto-generated BPF bindings
├── netmon_bpfel.o # Compiled ELF object
├── netmon.go # Go wrapper for eBPF loading & traffic monitoring
│
└── include # Libraries to simplify structs
├── bpf_endian.h
├── bpf_helper_defs.h
├── bpf_helpers.h
├── bpf_tracing.h
├── common.h
└── LICENSE.BSD-2-Clause项目如何运作(现状)
1.MCP服务器
服务器使用以下方式初始化:
server.NewMCPServer(...)
server.ServeStdio(s)这意味着它使用 stdio传输,克劳德桌面支持。
2.外露工具: network-monitor
注册地址:
mcp.NewTool("network-monitor", ...)3.eBPF逻辑
时中 incoming 执行操作:
- Go程序加载自动生成的eBPF对象
- XDP程序连接到网络接口
- 在5秒内,从BPF映射中读取数据包计数
- 返回平均数据包/秒
这是通过以下方式完成的:
ebpf.IncomingPacketsPerSecond()时中 outgoing 执行操作:
- Go程序加载自动生成的eBPF对象
- 跟踪程序附加到网络堆栈
- Go程序等待建立新的TCP连接
这是通过以下方式完成的:
ebpf.MonitorTcpConnections()常见的陷阱
如果MEMLOCK上限过低,请修复:
sudo sysctl -w kernel.unprivileged_bpf_disabled=0
ulimit -l unlimited或添加到 /etc/security/limits.conf:
* hard memlock unlimited
* soft memlock unlimitedClaude MCP客户端使用情况
配置示例:
{
"mcpServers": {
"netmon": {
"command": "wsl.exe",
"args": [
"bash",
"-lc",
"cd /home/youruser/netmon-mcp && ./netmon-mcp"
]
}
}
}Opencode通过以下方式自动连接 标准 (您可以在中找到示例配置 _opencode.jsonc_).
未来工作
- \[\]将stdio+sudo替换为:
- \[\]MCP网关(非根) - \[\]特权守护进程(根)
- \[\]添加HTTP传输
- \[\]Docker支持
- \[\]通过SSH或HTTP隧道进行远程监控
许可证
作者
- 卡洛扬·列夫特罗夫
- 黄色神话
