Wire-MCP 使用说明

项目简介

Wire-MCP 是一个基于 Model Context Protocol (MCP) 的服务器,旨在增强大型语言模型(LLM)对实时网络流量的理解和分析能力。通过集成 Wireshark 的命令行工具 'tshark',Wire-MCP 能够捕获和处理网络数据包,并将结构化的网络上下文信息以 MCP 协议标准化的方式提供给 LLM 客户端。这使得 LLM 能够应用于威胁检测、网络诊断和异常行为分析等场景。

主要功能点

  • 实时数据包捕获: 使用 'tshark' 捕获实时的网络数据包,并将原始数据包信息转换为 JSON 格式,方便 LLM 进行解析和分析,例如 IP 地址、端口、HTTP 方法等。
  • 协议统计: 提供网络协议分层统计信息,帮助 LLM 快速了解网络流量的组成和分布情况,例如 TCP 和 UDP 的使用比例。
  • 会话统计: 提供 TCP/UDP 会话统计信息,使 LLM 能够追踪网络端点之间的通信 flow。
  • 威胁情报检测: 集成 URLhaus 黑名单,可以检查捕获到的 IP 地址是否为已知威胁,为 LLM 提供威胁情报上下文。
  • IP 威胁查询: 允许 LLM 针对特定 IP 地址查询其在 URLhaus 黑名单中的威胁情报,获取更详细的威胁数据。

安装步骤

  1. 安装 Wireshark: 确保您的系统上已安装 Wireshark,并且 'tshark' 命令行工具已添加到系统 PATH 环境变量中。您可以从 Wireshark 官网 下载并安装。
  2. 安装 Node.js 和 npm: 确保您的系统上已安装 Node.js (推荐 v16 或更高版本) 和 npm 包管理器。您可以从 Node.js 官网 下载并安装。
  3. 克隆仓库: 使用 git 克隆 Wire-MCP 仓库到本地:
    git clone https://github.com/0xkoda/WireMCP.git
    cd WireMCP
  4. 安装依赖: 在仓库目录下,使用 npm 安装项目依赖:
    npm install

服务器配置

为了让 MCP 客户端(例如 Cursor)连接到 Wire-MCP 服务器,您需要在客户端的 MCP 设置中添加服务器配置信息。以下是 Cursor 客户端的 'mcp.json' 配置文件示例,其他 MCP 客户端的配置方式类似:

{
  "mcpServers": {
    "wiremcp": {
      "command": "node", // 启动服务器的命令,这里使用 node
      "args": [
        "/ABSOLUTE_PATH_TO/WireMCP/index.js" // Wire-MCP 服务器 index.js 文件的绝对路径,请替换为实际路径
      ]
    }
  }
}

注意:

  • 请将 '/ABSOLUTE_PATH_TO/WireMCP/index.js' 替换为您本地 Wire-MCP 仓库 'index.js' 文件的绝对路径
  • 不同的 MCP 客户端的配置文件位置可能不同,请参考客户端的文档进行配置。例如,Cursor 客户端的 'mcp.json' 配置文件通常位于:
    • macOS: '/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json'

基本使用方法

  1. 启动 Wire-MCP 服务器: 在 Wire-MCP 仓库目录下,运行以下命令启动服务器:

    node index.js

    服务器成功启动后,您将在终端看到 "WireMCP Server is running..." 的提示信息。

  2. 在 MCP 客户端中使用工具: 在 MCP 客户端中,您可以使用 Wire-MCP 提供的工具来分析网络流量。例如,在支持 MCP 协议的 LLM 应用中,您可以指示 LLM 调用以下工具:

    • 'wiremcp.capture_packets': 捕获数据包并返回 JSON 数据。
    • 'wiremcp.get_summary_stats': 获取协议统计信息。
    • 'wiremcp.get_conversations': 获取会话统计信息。
    • 'wiremcp.check_threats': 捕获流量并检查威胁。
    • 'wiremcp.check_ip_threats': 检查特定 IP 的威胁情报。

    您可以在 LLM 的提示词中使用工具名称和参数,例如: '请使用 wiremcp.check_threats 工具,捕获 10 秒的网络流量并检查潜在威胁。'

    LLM 将调用 Wire-MCP 服务器的相应工具,并将返回的结果用于生成自然语言解释、识别安全风险、提供建议或生成报告。

信息

分类

开发者工具