使用说明
项目简介
NetSensei 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在辅助网络管理员进行日常的网络管理工作。它通过集成各种网络工具,如 ping、traceroute、Nmap、tshark 和 Netmiko,为 LLM 客户端(如 Claude 或 OpenWebUI)提供强大的网络诊断和操作能力。用户可以通过自然语言指令,让 LLM 客户端调用 NetSensei 提供的工具,实现自动化网络任务。
主要功能点
- 网络连通性测试 (Ping): 快速检测目标 IP 地址的网络连通性。
- 路由追踪 (Traceroute): 分析数据包到达目标 IP 地址的网络路径。
- 端口扫描 (Nmap Scan): 扫描目标 IP 地址或网段的开放端口和服务。支持自定义 Nmap 参数,提供灵活的扫描选项。
- 数据包嗅探 (Packet Sniffer): 捕获和分析网络数据包,支持基于协议或关键词进行过滤,例如 DNS, HTTP, ICMP。
- SSH 远程命令执行 (SSH connection): 通过 SSH 连接到网络设备(如交换机、路由器、服务器),并执行指定命令。支持多种设备类型,例如 Cisco, Aruba, Linux 服务器等。
安装步骤
-
克隆仓库:
git clone https://github.com/solaconsay/netsensei.git cd netsensei -
安装依赖: 确保你的系统已安装 Python 3.x。然后,使用 pip 或 uv 安装项目依赖:
pip install -r requirements.txt或者使用 uv (更快速):
uv pip install -r requirements.txt注意: 确保 'tshark' (Wireshark 的命令行工具), 'nmap', 和 'netmiko' 已安装并添加到系统 PATH 环境变量中。
-
配置 MCP 客户端: 你需要配置你的 MCP 客户端(例如 Claude Desktop 或 OpenWebUI)来连接到 NetSensei 服务器。
服务器配置 (MCP 客户端)
以下是配置 Claude Desktop 连接 NetSensei 服务器的 JSON 格式示例。你需要将以下配置添加到 Claude Desktop 的配置文件中。
{ "mcpServers": { "NetSensei": { "command": "uv", "args": [ "run", "--with", "mcp[cli]", "mcp", "run", "/path/to/netsensei/main.py" // 请替换为 netsensei 仓库 main.py 文件的实际路径 ] } } }
配置参数说明:
- '"NetSensei"': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器。
- '"command": "uv"': 指定用于启动服务器的命令。这里使用 'uv' (一个更快的 pip 和 venv 替代品,如果使用 pip,则 command 为 'python')。
- '"args"': 启动服务器的参数列表。
- '"run"': 'uv run' 的子命令,用于运行 Python 脚本。
- '"--with"': 'mcp run' 的参数,指定要加载的插件或扩展。
- '"mcp[cli]"': 指定加载 'mcp' 命令行界面插件,这是运行 MCP 服务器的必要组件。
- '"mcp"': 'mcp run' 命令本身。
- '"run"': 'mcp run' 的子命令,表示运行服务器。
- '"/path/to/netsensei/main.py"': 重要: 指向 'netsensei' 仓库中 'main.py' 文件的绝对路径。你需要根据你的实际文件路径进行修改。
如果你使用 OpenWebUI,可以使用以下命令启动 NetSensei 服务器并将其注册为 MCP 服务器:
uvx mcpo --port 9003 -- mcp run main.py
然后在 OpenWebUI 的 MCP 服务器配置中,配置服务器地址为 'http://localhost:9003'。
基本使用方法
配置完成后,在你的 MCP 客户端(如 Claude 或 OpenWebUI)中,你可以通过自然语言指令来调用 NetSensei 提供的网络工具。例如,你可以向 Claude 提问:
- "Ping baidu.com"
- "Traceroute to google.com"
- "使用 Nmap 扫描 192.168.1.1/24 网段,使用快速扫描"
- "列出我的网络接口"
- "抓取接口 7 上 10 个 DNS 数据包"
- "通过 SSH 连接到 IP 地址 10.10.10.1 的 Cisco 设备,并执行命令 show version"
LLM 客户端会将这些自然语言指令转换为对 NetSensei 服务器工具的调用,并将结果返回给你。
注意: SSH 功能需要提供用户名和密码,请在安全的环境下使用,并妥善保管你的 SSH 凭据。
信息
分类
开发者工具