项目简介

ServiceScan 是一款功能强大的网络服务扫描工具,具备主机发现、端口扫描、服务指纹识别以及被动 API 探测等能力。本项目特别包含了 MCP 服务器模式,使其能够作为模型上下文协议(Model Context Protocol)的应用后端,为大语言模型客户端提供标准化的网络扫描能力接口。

主要功能点

作为 MCP 服务器,ServiceScan 将其核心网络服务扫描能力暴露给大语言模型客户端,主要功能包括:

  • 网络目标扫描: 允许指定 IP 地址、IP 范围或 CIDR 网段进行扫描。
  • 端口探测: 支持扫描特定端口或常用端口列表,识别开放端口。
  • 服务识别: 探测开放端口上运行的服务类型和版本。
  • 任务管理: 支持通过 MCP 协议创建、暂停、恢复和查询扫描任务的状态和结果。
  • 多种通信模式: 支持通过 Stdio 或 SSE 协议与 MCP 客户端进行通信。

安装步骤

ServiceScan 的具体安装步骤取决于您获取的二进制文件或源码编译方式。通常需要确保具备执行权限,并根据操作系统安装必要的依赖(如 Windows 上的 npcap,Linux/Mac 上的 libpcap-dev)以支持特定扫描模式。

使用前可能需要获取并放置 EZ 授权证书文件。

服务器配置

MCP 客户端需要配置 ServiceScan MCP 服务器的启动命令和参数才能建立连接。以下是常见的配置示例及其参数说明:

{
  "name": "ServiceScan MCP", // MCP服务器在客户端侧显示的名称
  "command": "servicescan", // 可执行文件的路径,如果servicescan在系统的PATH中,可以直接使用命令名
  "args": [
    "mcp", // 启动MCP模式的子命令
    "--mode", "sse", // 指定MCP通信模式,可选 stdio 或 sse (默认为 sse)
    "--listen", "127.0.0.1:3000" // 当 mode 为 sse 时,指定服务器监听的地址和端口 (默认为 127.0.0.1:3000)
    // 根据需要,可以在此处添加ServiceScan的其他全局配置参数,例如:
    // "--log-level", "info", // 设置日志级别 (debug, info, warning, error, success, disable)
    // "--scan-rate", "1000", // 设置扫描速率
    // "--network-iface", "eth0", // 指定扫描使用的网络接口
    // "--lic", "/path/to/ez.lic" // 指定授权文件路径
  ]
}

客户端使用此配置启动 'command' 指定的程序,并传入 'args' 列表中的参数,然后通过 '--mode' 指定的协议与服务器通信。

基本使用方法

在终端中运行以下命令启动 ServiceScan 的 MCP 模式:

  • 使用 SSE 模式(默认):

    servicescan mcp --mode sse --listen 127.0.0.1:3000

    (将 '127.0.0.1:3000' 替换为您希望监听的地址和端口)

  • 使用 Stdio 模式:

    servicescan mcp --mode stdio

一旦 MCP 服务器启动,兼容的 MCP 客户端(如大语言模型应用)即可通过配置中指定的地址、端口和通信模式连接到 ServiceScan,并通过标准的 MCP 协议调用其网络扫描功能。

信息

分类

AI与计算