项目简介

Wireshark MCP集成服务器是一个基于Python实现的MCP服务器,旨在将强大的网络数据包分析工具Wireshark与大型语言模型(LLM)连接起来。通过这个服务器,用户可以使用自然语言查询和分析网络数据包,极大地提升了网络分析的效率和易用性。它通过MCP协议与客户端通信,对外提供标准化的接口,使得LLM客户端能够轻松地调用Wireshark的功能。

主要功能点

  • 网络接口信息获取: 能够列出当前计算机的网络接口信息,方便用户选择需要分析的网络接口。
  • 数据包摘要检索: 可以读取Wireshark抓取的数据包摘要信息,并提供给LLM客户端,使用户可以通过自然语言了解最新的网络活动。
  • 数据包文件清理: 允许用户通过MCP命令清理存储数据包信息的文件,方便进行新的数据包分析。
  • 指定接口详细信息查询: 支持查询特定网络接口的详细配置信息,帮助用户深入了解网络环境。

安装步骤

  1. 环境准备: 确保你的计算机上已安装 Python 环境。建议使用Python 3.6 或更高版本。
  2. 下载代码: 从 GitHub 仓库 WiresharkMCP 下载或克隆代码到本地。
  3. 安装依赖: 虽然代码中没有显式依赖第三方库,但根据 'bridge.py' 中的 'from mcp.server.fastmcp import FastMCP',推测可能需要安装 'fastmcp' 库。如果运行过程中提示缺少模块,请使用 pip 安装,例如:'pip install fastmcp'。
  4. Wireshark配置: 此 MCP 服务器依赖 Wireshark 和 Lua 扩展来捕获和分析数据包。你需要确保你的 Wireshark 环境配置正确,并且 Lua 扩展能够将数据包摘要和网络接口信息写入到配置文件 ('CONFIG' 变量中指定的 'PACKET_FILE' 和 'INTERFACES_FILE')。 注意:仓库中没有提供 Lua 扩展的具体代码,你需要自行根据 'README.md' 和 'bridge.py' 的逻辑实现 Lua Wireshark 扩展,并将数据写入到指定的文件路径。 这些文件路径默认为 'C:\Users\Wireshark\Downloads\mcp_packet_details.txt' 和 'C:\Users\Wireshark\Downloads\network_interfaces.txt',请根据你的实际环境进行调整,并确保 Wireshark 能够将数据写入到这些位置。

服务器配置

以下是 MCP 客户端连接到 Wireshark MCP 集成服务器所需的配置信息 (JSON 格式)。请将以下配置填入到你的 MCP 客户端中,以便客户端能够找到并连接到此服务器。

{
  "serverName": "wireshark_packet_analyzer",
  "command": "python",
  "args": ["bridge.py"],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': 服务器名称,这里设置为 'wireshark_packet_analyzer',与 'bridge.py' 中 'FastMCP("wireshark_packet_analyzer")' 的定义一致。
  • 'command': 启动服务器的命令,这里使用 'python',假设你的 Python 解释器在系统 PATH 环境变量中。
  • 'args': 命令的参数,这里指定运行 'bridge.py' 文件。请确保 MCP 客户端启动命令的工作目录是 'bridge.py' 文件所在的目录。
  • 'transport': 传输协议,这里使用 'stdio' (标准输入输出),与 'bridge.py' 中 'mcp.run(transport='stdio')' 的配置一致。

注意: 你需要确保 MCP 客户端能够执行 'python bridge.py' 命令来启动服务器。如果你的 Python 环境配置不同,请相应地调整 'command' 和 'args' 配置。

基本使用方法

  1. 启动 Wireshark MCP 集成服务器: 在安装配置完成后,通过 MCP 客户端启动配置中定义的服务器。客户端会执行 'python bridge.py' 命令,启动 Wireshark MCP 服务器。
  2. 配置 Wireshark: 运行 Wireshark 并配置 Lua 扩展 (需自行开发) 以捕获网络数据包,并将数据包摘要和网络接口信息定期写入到配置文件中。
  3. 使用 MCP 客户端与服务器交互: 使用 MCP 客户端连接到 'wireshark_packet_analyzer' 服务器。连接成功后,你可以通过客户端调用以下工具 (Tools) 来与 Wireshark 进行交互:
    • 'list_interfaces': 获取网络接口列表。
    • 'get_packet_summary': 获取最新的数据包摘要信息。
    • 'clear_packet_file': 清理数据包文件。
    • 'get_interface_details_tool': 获取指定网络接口的详细信息,需要提供接口名称作为参数。

例如,在 MCP 客户端中,你可以发送请求调用 'list_interfaces' 工具来获取网络接口信息,或者调用 'get_packet_summary' 来获取最新的数据包摘要,从而实现通过 LLM 对网络数据进行分析。

重要提示: 此服务器依赖于 Wireshark Lua 扩展将数据写入到指定文件。仓库本身不包含 Lua 扩展的代码,你需要根据项目描述和 'bridge.py' 的文件配置自行开发 Lua 扩展,并确保 Wireshark 和 Lua 扩展配置正确,才能使 MCP 服务器正常工作。 在没有正确配置 Wireshark 和 Lua 扩展的情况下,MCP 服务器的功能将受限或无法使用。

信息

分类

开发者工具