返回市场
wireshark-mcp

wireshark-mcp

作者:A-G-U-P-T-A8 星标更新:2025-03-31

项目介绍

Wireshark MCP 服务器

该项目通过模型上下文协议(MCP)提供了 PyShark 的功能,允许像 Claude 这样的AI助手与网络数据包捕获和分析能力进行交互。

安装

  1. 安装所需的依赖项:
# 使用 uv 安装(推荐)
uv add mcp[cli] pyshark

# 或者使用 pip
pip install mcp[cli] pyshark
  1. 克隆此仓库:
git clone https://github.com/A-G-U-P-T-A/wireshark-mcp
cd wireshark-mcp

要求

  • Python 3.8+
  • 必须安装 TShark(Wireshark 的命令行组件)
  • 捕获实时数据包需要管理员/根权限

使用方法

运行服务器

你可以使用 MCP Inspector 在开发模式下运行服务器:

mcp dev pyshark_mcp.py

或者直接在 Claude Desktop 中安装它:

mcp install pyshark_mcp.py

提供的功能

此 MCP 服务器提供了以下功能:

资源

  • 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:这是捕获流量的分析结果:
[调用 analyze_traffic 提供见解]

请始终确保你有权捕获网络流量。

安全注意事项

网络数据包捕获是一项敏感操作。请确保:

  1. 你有捕获网络流量的适当授权
  2. 你遵守所有适用的法律和法规
  3. 不要无意中捕获敏感或私人数据
  4. 安全处理捕获文件以防止未经授权的访问

要求

  • PyShark:TShark 的 Python 封装
  • TShark:Wireshark 的命令行版本(必须单独安装)
  • 管理员权限:通常需要用于实时数据包捕获

自定义

你可以通过以下方式自定义此 MCP 服务器:

  1. 添加更多高级捕获和分析工具
  2. 实现特定流量类型的过滤器
  3. 创建感兴趣的协议的专用分析函数
  4. 扩展捕获历史管理功能