README
🚀 Wireshark MCP 服务器
该项目借助模型上下文协议(MCP)开放了 PyShark 功能,让诸如 Claude 之类的 AI 助手能够与网络数据包的捕获和分析功能进行交互。
🚀 快速开始
此项目通过 MCP 协议将 PyShark 功能开放,方便 AI 助手使用网络数据包捕获与分析能力。下面为你介绍详细的安装和使用方法。
✨ 主要特性
- 借助 MCP 协议,让 AI 助手可以轻松与网络数据包捕获和分析功能交互。
- 提供多种资源信息获取,如 PyShark 版本、配置和捕获历史。
- 具备丰富的工具,涵盖网络接口列出、实时数据包捕获、文件读取分析等功能。
- 提供高级工具,可捕获特定流量、保存为文件、分析 HTTP 流量等。
- 提供使用提示,方便用户操作。
📦 安装指南
安装依赖
你可以选择以下任意一种方式安装所需的依赖项:
# 使用 uv(推荐)
uv add mcp[cli] pyshark
# 或使用 pip
pip install mcp[cli] pyshark
克隆仓库
git clone https://github.com/A-G-U-P-T-A/wireshark-mcp
cd wireshark-mcp
💻 使用示例
运行服务器
开发模式
你可以在开发模式下运行服务器并使用 MCP 检查器:
mcp dev pyshark_mcp.py
直接安装
或者直接在 Claude Desktop 中安装它:
mcp install pyshark_mcp.py
可用功能
资源
pyshark://version- 获取 PyShark 版本信息pyshark://config- 获取 PyShark 配置pyshark://capture-history- 获取之前的数据包捕获历史记录
工具
list_interfaces- 列出所有可用的网络接口capture_live_packets- 从网络接口实时捕获数据包read_pcap_file- 读取并分析数据包捕获文件analyze_traffic- 分析捕获的数据包中的网络流量模式
高级工具
在 advanced_captures.py 中提供了以下高级工具:
capture_targeted_traffic- 捕获目标到特定主机、端口或协议的流量capture_to_file- 捕获网络流量并保存为 pcap 文件analyze_http_traffic- 分析捕获文件中的 HTTP 流量detect_network_protocols- 检测并报告使用的网络协议
提示
packet_capture_help- 提供关于使用 PyShark 进行数据包捕获的帮助信息
在 Claude 中的使用示例
一旦服务器安装在 Claude Desktop 中,你可以像这样与它交互:
您:有哪些可用的网络接口用于捕获?
Claude:让我检查一下您系统上可用的网络接口。
[调用 list_interfaces 工具]
您:你能捕获 10 秒的 HTTP 流量吗?
Claude:我将捕获 10 秒的 HTTP 流量。
[调用 capture_live_packets 和适当参数]
您:你能分析我刚刚捕获的流量吗?
Claude:以下是 captured traffic 的分析:
[调用 analyze_traffic 提供见解]
📚 详细文档
要求
- Python 3.8+
- TShark(Wireshark 的命令行组件)必须安装
- 实时数据包捕获的管理权限/根权限
安全注意事项
网络数据包捕获是一项敏感操作。请确保:
- 您获得合法授权以捕获网络流量
- 遵守所有适用的法律法规
- 不要意外捕获敏感或私人数据
- 安全处理捕获文件,防止未经授权的访问
依赖说明
- PyShark:TShark 的 Python 封装
- TShark:Wireshark 的命令行版本(必须单独安装)
- 管理权限:通常需要进行实时数据包捕获
⚠️ 重要提示
请始终确保您有权限捕获网络流量,并且遵守相关法律法规,避免捕获敏感或私人数据。
💡 使用建议
在使用实时数据包捕获功能时,请确保您具备管理权限/根权限,以避免出现权限不足的问题。
Scan to contact