该项目通过模型上下文协议(MCP)提供了 PyShark 的功能,允许像 Claude 这样的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 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 Desktop 中安装了服务器,你可以这样与其交互:
你:有哪些可用的网络接口用于捕获?
Claude:让我检查系统上可用的网络接口。
[调用 list_interfaces 工具]
你:你能捕获 10 秒的 HTTP 流量吗?
Claude:我将捕获 10 秒的 HTTP 流量。
[调用 capture_live_packets 并传入适当的参数]
你:你能分析我刚刚捕获的流量吗?
Claude:这是捕获流量的分析结果:
[调用 analyze_traffic 提供见解]
请始终确保你有权捕获网络流量。
网络数据包捕获是一项敏感操作。请确保:
你可以通过以下方式自定义此 MCP 服务器: