项目简介

Wireshark MCP是一个基于Model Context Protocol (MCP)的服务器,旨在将Wireshark的网络流量分析能力提供给AI助手,如Anthropic Claude。它允许AI通过标准化的JSON-RPC接口访问网络包数据、执行分析工具并获取结构化的分析结果,无需手动导出或复制粘贴。

主要功能点

  • 网络流量捕获与分析: 支持实时捕获流量或分析现有的.pcap文件。
  • 协议深度解析: 能够识别并深入分析如HTTP、DNS、TLS、SMTP等多种协议的详细信息,提供协议层面的数据和洞察。
  • 流量统计与摘要: 提供总包数、协议分布、IP/端口统计、数据大小统计等概览信息。
  • 安全分析: 检测潜在的网络安全威胁,如端口扫描、已知恶意软件通信模式、异常端口使用、未加密流量等。
  • IP地址保护: 提供多种策略(如匿名化、假名化)处理敏感IP地址,保护隐私和敏感网络信息。
  • AI友好格式输出: 将复杂的网络数据和分析结果转换为易于AI模型理解和分析的结构化格式(如Markdown)。
  • MCP接口: 通过JSON-RPC协议暴露功能,支持Stdio和SSE等多种传输协议与AI客户端通信。

安装步骤

  1. 克隆仓库: 打开终端或命令提示符,运行以下命令:
    git clone https://github.com/sarthaksiddha/Wireshark-mcp.git
    cd Wireshark-mcp
  2. 安装Python依赖: 进入仓库目录后,运行:
    pip install -e .
  3. 安装Wireshark/tshark: 确保您的系统上已经安装了Wireshark软件包,并且 'tshark' 命令行工具可以在系统的PATH环境变量中找到。如果您不确定,请手动查找tshark的可执行文件路径,并在配置MCP客户端时提供。

服务器配置 (用于MCP客户端)

安装并运行Wireshark MCP服务器后,您的MCP客户端(例如支持MCP的AI助手)需要知道如何连接并启动该服务器。通常,这涉及到在客户端的开发者或插件设置中添加一个配置条目。

以下是配置示例,说明如何告诉客户端启动Wireshark MCP服务器:

{
  "mcpServers": {
    "wireshark": {  // 服务器的唯一名称,供客户端识别
      "command": "python", // 启动服务器的可执行文件路径 (例如: python)
      "args": [
        "/path/to/your/Wireshark-mcp/mcp_server.py", // 替换为您的系统中 mcp_server.py 文件的完整路径
        "--stdio" // 使用标准输入/输出 (stdio) 作为通信方式,适用于Claude Desktop等客户端
      ]
    }
  }
}

如果您希望使用网络传输协议(如SSE或WebSocket,取决于客户端支持),配置可能如下:

{
  "mcpServers": {
    "wireshark": {  // 服务器的唯一名称
      "command": "python", // 启动服务器的可执行文件路径
      "args": [
        "/path/to/your/Wireshark-mcp/mcp_server.py", // 替换为您的系统中 mcp_server.py 文件的完整路径
        "--host", "127.0.0.1", // 服务器监听的IP地址
        "--port", "5000" // 服务器监听的端口
      ]
    }
  }
}

请查阅您的MCP客户端的文档,了解具体配置方法和支持的传输协议。

基本使用方法

安装并配置好Wireshark MCP服务器和兼容的MCP客户端后,您通常可以直接在AI客户端的聊天界面中通过自然语言指令与服务器交互。服务器会根据您的指令调用内部的工具来执行网络分析任务。

例如,在已配置并连接了Wireshark MCP的Claude Desktop中,您可以尝试以下指令:

  • “Capture 30 seconds of network traffic on my system and show me what's happening”:AI客户端会调用Wireshark MCP的 'capture_live_traffic' 工具进行实时捕获和分析。
  • “Analyze my network.pcap file and tell me if there are any suspicious activities”:AI客户端会调用Wireshark MCP的 'analyze_pcap' 工具分析指定路径的PCAP文件。
  • “What protocols can I focus on when analyzing network traffic?”:AI客户端会调用 'get_protocol_list' 工具获取支持分析的协议列表。

服务器将执行相应的Wireshark分析,并将结果以AI友好的格式返回给客户端。AI客户端随后会利用这些结构化数据生成易于理解的响应或报告。

信息

分类

开发者工具