W

Wireshark-MCP服务器

@sarthaksiddha/Wireshark-mcp
4 Stars 866 次浏览 sarthaksiddha 更新于 2026-08-23

一种模型上下文协议服务器,它将Wireshark的网络分析能力与Claude等人工智能系统集成在一起,允许在无需手动复制的情况下直接分析网络数据包。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Wireshark MCP (Model Context Protocol)


这是一个用于将Wireshark网络分析功能与Claude等AI系统集成的Model Context Protocol (MCP) 服务器。该实现提供了直接与Claude集成的功能,而无需手动复制粘贴提示。

什么是Wireshark MCP?

Wireshark MCP通过实现Model Context Protocol,为AI助手提供了一种标准化的方式来访问和分析通过Wireshark获取的网络数据包。它架起了底层网络数据与高层AI理解之间的桥梁。

该服务器提供的工具包括:

  1. 捕获实时网络流量
  2. 分析现有的pcap文件
  3. 提取特定协议的信息
  4. 汇总网络流

快速开始

安装

bash

克隆仓库

git clone https://github.com/sarthaksiddha/Wireshark-mcp.git
cd Wireshark-mcp

安装依赖

pip install -e .

运行MCP服务器

bash

使用标准输入输出传输(适用于Claude桌面版)

python mcp_server.py --stdio

使用SSE传输(适用于其他MCP客户端)

python mcp_server.py --host 127.0.0.1 --port 5000

配置Claude桌面版

要配置Claude桌面版以使用Wireshark MCP服务器,请执行以下步骤:

  1. 打开Claude桌面版
  2. 转到设置 > 开发者 > 编辑配置
  3. 添加如下配置:

json
{
"mcpServers": {
"wireshark": {
"command": "python",
"args": [
"/path/to/wireshark-mcp/mcp_server.py",
"--stdio"
]
}
}
}

请将/path/to/wireshark-mcp替换为您实际的仓库路径。

可用工具

Wireshark MCP服务器提供了以下工具:

  • capture_live_traffic: 使用tshark捕获实时网络流量
  • analyze_pcap: 分析现有的pcap文件
  • get_protocol_list: 获取支持的协议列表

在Claude中的示例用法

配置完成后,您可以在Claude中使用Wireshark MCP服务器进行如下查询:

  • “捕获我系统上30秒的网络流量并显示发生了什么”
  • “分析我的network.pcap文件并告诉我是否有任何可疑活动”
  • “在分析网络流量时我可以关注哪些协议?”

主要特性

  • 数据包汇总:将大型pcap文件转换为优化后的摘要
  • 协议智能:对常见协议(如HTTP、DNS、TLS、SMTP等)提供增强的上下文信息
  • 流跟踪:将相关数据包分组为会话流
  • 异常高亮:强调不寻常或可疑的模式
  • 查询模板:针对常见的网络分析任务预构建的提示
  • 可视化生成:创建基于文本的网络模式表示
  • 多层次抽象:从原始字节到高层次行为查看数据
  • Web界面:基于浏览器的用户界面,便于分析和可视化
  • 代理到代理(A2A)集成:将数据包分析作为A2A兼容的代理暴露出来
  • 高级安全框架:全面的数据保护和通信安全控制
  • IP地址保护:多种策略来匿名化敏感的网络地址
  • 安全通信:强大的消息签名确保代理间通信的安全性
  • 跨平台:支持Windows、macOS和Linux

文档

基本用法

python
from wireshark_mcp import WiresharkMCP, Protocol
from wireshark_mcp.formatters import ClaudeFormatter

使用 pcap 文件初始化

mcp = WiresharkMCP("capture.pcap")

生成基本的数据包摘要

context = mcp.generate_context(
max_packets=100,
focus_protocols=[Protocol.HTTP, Protocol.DNS],
include_statistics=True
)

格式化以供 Claude 使用

formatter = ClaudeFormatter()
claude_prompt = formatter.format_context(
context,
query="在这次 HTTP 流量中你看到了哪些异常模式?"
)

保存到文件以便与 Claude 一起使用

with open("claude_prompt.md", "w") as f:
f.write(claude_prompt)

与 Claude 一起使用

有三种主要方式可以将 Wireshark MCP 与 Claude 结合使用:

1. 直接 MCP 集成(新)

为了与 Claude Desktop 无缝集成:

bash

使用 stdio 传输运行 MCP 服务器

python mcp_server.py --stdio

然后按照上面“配置 Claude Desktop”部分中的说明进行配置。此方法提供直接集成,无需任何复制粘贴。

2. 简单脚本方法

快速分析而无需复杂设置(需要复制粘贴):

bash
python scripts/simple_pcap_analysis.py path/to/your/capture.pcap

这会生成一个 markdown 文件,您可以将其复制并粘贴到 claude.ai 中。

3. API 集成

程序化地与 Claude 的 API 集成:

python
from claude_client import ClaudeClient # 您的实现
from wireshark_mcp import WiresharkMCP
from wireshark_mcp.formatters import ClaudeFormatter

处理 PCAP 文件

mcp = WiresharkMCP("capture.pcap")
context = mcp.generate_context()

格式化以供 Claude 使用

formatter = ClaudeFormatter()
prompt = formatter.format_context(context, query="分析这次网络流量")

发送到 Claude API

client = ClaudeClient(api_key="your_api_key")
response = client.analyze(prompt)

有关详细的 API 说明,请参阅 Claude 集成指南

要求

  • Python 3.8+
  • 已安装 Wireshark/tshark 并在您的 PATH 中
  • fastmcp Python 包

贡献

欢迎贡献!特别需要帮助的领域包括:

  • 额外的协议分析器
  • 性能优化
  • 文档和示例
  • 使用多样化的数据包捕获进行测试
  • Web 界面增强

有关如何贡献的详细信息,请参阅 CONTRIBUTING.md

许可证

该项目根据 MIT 许可证发布 - 详情请参阅 LICENSE 文件。

相关 MCP 服务