码流包解析

Allupup/wireshark-mcp
1 Stars 237 次浏览 更新于 2026-08-23

# Wireshark MCP (Model Context Protocol)

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

服务介绍

Wireshark MCP (模型上下文协议)


一个用于将Wireshark网络分析功能与Claude等AI系统集成的模型上下文协议(MCP)服务器。此实现提供了直接与Claude集成的功能,而无需手动复制粘贴提示。

什么是Wireshark MCP?

Wireshark MCP通过实现模型上下文协议,为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

使用stdio传输(适用于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 服务