# Wireshark-MCP服务器
## 基本信息
- Slug: `sarthaksiddha-wireshark-mcp`
- Source: modelscope
- Publisher: @sarthaksiddha/Wireshark-mcp
- Categories: search / rag-systems
- Hosted: No
- License: Unknown
- Source URL: https://www.modelscope.cn/mcp/servers/@sarthaksiddha/Wireshark-mcp
## 简介
一种模型上下文协议服务器，它将Wireshark的网络分析能力与Claude等人工智能系统集成在一起，允许在无需手动复制的情况下直接分析网络数据包。
## MCP Server 详情

# Wireshark MCP (Model Context Protocol)

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)

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

## 什么是Wireshark MCP？

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

<p align="center">
  <img src="https://raw.githubusercontent.com/sarthaksiddha/Wireshark-mcp/main/docs/images/wireshark-mcp-flow.png" alt="Wireshark MCP流程" width="600"/>
</p>

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

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

## 文档

- [Claude集成指南](docs/claude_integration.md) - 详细指南连接Claude AI
- [A2A模块文档](docs/a2a_module.md) - 使用Agent-to-Agent集成的指南
- [A2A安全指南](docs/agent_to_agent_integration.md) - A2A集成的安全注意事项- [IP 保护指南](docs/ip_protection.md) - 关于 IP 地址匿名化和混淆的详细指南
- [安全管理器指南](docs/security_manager.md) - 统一安全框架的全面指南
- [消息安全签名](docs/security_signature.md) - 安全消息签名和验证指南
- [Web 界面 README](web_interface/README.md) - 使用 Web 界面的信息
- [实用脚本](scripts/README.md) - 用于 PCAP 分析的帮助脚本

## 基本用法

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](https://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 集成指南](docs/claude_integration.md)。

## 要求

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

## 贡献

欢迎贡献！特别需要帮助的领域包括：

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

有关如何贡献的详细信息，请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。

## 许可证

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

