使用说明
项目简介
SuricataMCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在使 AI 编码工具(如 Cursor)能够自动化地使用 Suricata 进行网络流量分析。它通过 MCP 协议提供了一组工具,允许 AI 系统调用 Suricata 的功能,例如获取版本信息、帮助文档以及分析 PCAP 文件以提取网络安全警报和统计数据。
主要功能点
- 获取 Suricata 版本信息: 允许 AI 工具查询已安装的 Suricata 版本。
- 获取 Suricata 帮助信息: 提供 Suricata 命令行界面的帮助文档,方便 AI 理解 Suricata 的可用选项。
- PCAP 文件分析与警报提取: 使用 Suricata 分析指定的 '.pcap' 文件,并返回生成的安全警报日志('fast.log')内容。
- PCAP 文件分析与统计信息提取: 使用 Suricata 分析指定的 '.pcap' 文件,并返回生成的统计信息日志('stats.log')内容。
安装步骤
-
克隆仓库
打开终端并执行以下命令克隆 SuricataMCP 仓库到本地:
git clone https://github.com/Medinios/SuricataMCP.git cd SuricataMCP -
安装依赖
如果需要,创建并激活虚拟环境,然后安装项目依赖:
pip install -r requirements.txt -
配置 Suricata 路径
编辑 'config.py' 文件,根据你的 Suricata 安装路径修改以下配置:
SURICATA_DIR = r"D:/Suricata/" # 替换为你的 Suricata 安装目录 SURICATA_EXE_FILE = "suricata.exe" # 如果在 Linux 或 macOS 上,可能是 "suricata"请确保 'SURICATA_DIR' 配置的是 Suricata 的安装目录,该目录下应该包含 Suricata 的可执行文件。
服务器配置
要将 SuricataMCP 添加到 MCP 客户端(例如 Cursor),你需要配置服务器的启动命令。以下是一个 JSON 格式的配置示例,你需要将其添加到你的 MCP 客户端的配置文件中。
{ "mcpServers": { "SuricataMcp": { // 服务器名称,可以自定义 "command": "cmd", // 运行命令,通常是 "cmd" (Windows) 或 "bash" (Linux/macOS) "args": [ // 命令参数 "/c", // Windows 下 /c 表示执行完命令后关闭 cmd 窗口,Linux/macOS 下可移除 "mcp", // 假设你的 MCP 客户端提供了 "mcp" 命令来启动 MCP 服务器 "run", // "mcp run" 子命令通常用于运行指定的 MCP 服务器脚本 "[YourPath]\\SuricataMcp\\suricata-mcp.py" // SuricataMCP 服务器脚本的绝对路径,请替换为你的实际路径 ] } } }
配置参数说明:
- '"SuricataMcp"': 服务器的名称,可以根据你的喜好自定义,在客户端中用于标识该服务器。
- '"command"': 启动服务器的命令解释器。Windows 系统通常使用 '"cmd"',Linux 或 macOS 系统可能使用 '"bash"' 或 '"python"' (如果直接运行 Python 脚本)。
- '"args"': 传递给命令解释器的参数列表。
- '"/c"' (Windows): 'cmd /c' 表示执行完后面的命令后关闭命令窗口。在 Linux 或 macOS 系统中,可能不需要此参数,或者需要根据实际情况调整。
- '"mcp"': 这假设你的 MCP 客户端提供了一个名为 'mcp' 的命令行工具,用于管理和运行 MCP 服务器。具体的命令和工具取决于你使用的 MCP 客户端。
- '"run"': 'mcp run' 通常是客户端提供的子命令,用于启动指定的 MCP 服务器脚本。
- '"[YourPath]\SuricataMcp\suricata-mcp.py"': 这是最重要的参数,你需要将其替换为 'suricata-mcp.py' 脚本在你的系统上的 绝对路径。 例如,如果你的 'SuricataMCP' 仓库克隆在 'D:\Projects\SuricataMCP',那么这个路径应该是 '"D:\Projects\SuricataMCP\suricata-mcp.py"'。 请务必根据你的实际情况修改此路径。
注意: 上述配置中的 '"command"' 和 '"args"' 是通用的示例,实际配置可能需要根据你使用的 MCP 客户端的具体要求进行调整。请参考你的 MCP 客户端的文档,了解如何配置和启动外部 MCP 服务器。
基本使用方法
成功配置并启动 SuricataMCP 服务器后,你可以在 MCP 客户端中使用以下工具:
- 'get_suricata_version()': 调用此工具将返回 Suricata 的版本字符串。
- 'get_suricata_help()': 调用此工具将返回 Suricata 命令行帮助信息。
- 'get_alerts_from_pcap_file(pcap_destination: str, destination_folder_results: str)':
- 'pcap_destination': 要分析的 '.pcap' 文件的路径。
- 'destination_folder_results': Suricata 分析结果(包括 'fast.log')将要保存的目录路径。
- 调用此工具将使用 Suricata 分析指定的 PCAP 文件,并将 'fast.log' 文件的内容作为结果返回。
- 'get_stats_from_pcap_file(pcap_destination: str, destination_folder_results: str)':
- 'pcap_destination': 要分析的 '.pcap' 文件的路径。
- 'destination_folder_results': Suricata 分析结果(包括 'stats.log')将要保存的目录路径。
- 调用此工具将使用 Suricata 分析指定的 PCAP 文件,并将 'stats.log' 文件的内容作为结果返回。
在 MCP 客户端中,你可以通过工具调用功能来使用这些工具,并根据工具的参数提示提供必要的文件路径和目录路径。 例如,在 Cursor 中,你可以在聊天框中使用 '@SuricataMcp.get_alerts_from_pcap_file' 并按照提示提供参数。
信息
分类
开发者工具