该项目借助模型上下文协议(MCP)开放了 PyShark 功能,让诸如 Claude 之类的 AI 助手能够与网络数据包的捕获和分析功能进行交互。
此项目通过 MCP 协议将 PyShark 功能开放,方便 AI 助手使用网络数据包捕获与分析能力。下面为你介绍详细的安装和使用方法。
你可以选择以下任意一种方式安装所需的依赖项:
# 使用 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 Desktop 中,你可以像这样与它交互:
您:有哪些可用的网络接口用于捕获?
Claude:让我检查一下您系统上可用的网络接口。
[调用 list_interfaces 工具]
您:你能捕获 10 秒的 HTTP 流量吗?
Claude:我将捕获 10 秒的 HTTP 流量。
[调用 capture_live_packets 和适当参数]
您:你能分析我刚刚捕获的流量吗?
Claude:以下是 captured traffic 的分析:
[调用 analyze_traffic 提供见解]
网络数据包捕获是一项敏感操作。请确保:
⚠️ 重要提示
请始终确保您有权限捕获网络流量,并且遵守相关法律法规,避免捕获敏感或私人数据。
💡 使用建议
在使用实时数据包捕获功能时,请确保您具备管理权限/根权限,以避免出现权限不足的问题。