项目简介
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客户端通信。
安装步骤
- 克隆仓库: 打开终端或命令提示符,运行以下命令:
git clone https://github.com/sarthaksiddha/Wireshark-mcp.git cd Wireshark-mcp - 安装Python依赖: 进入仓库目录后,运行:
pip install -e . - 安装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客户端随后会利用这些结构化数据生成易于理解的响应或报告。
信息
分类
开发者工具