使用说明

项目简介

Shodan MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 AI 助手(如 Claude)提供访问 Shodan API 功能的标准化接口。通过此服务器,AI 助手可以查询互联网连接的设备和服务信息,从而增强网络安全研究和威胁情报能力。

主要功能点

  • 主机信息查询: 获取指定 IP 地址的详细信息。
  • Shodan 数据库搜索: 使用各种过滤器搜索 Shodan 数据库中的设备和服务。
  • 漏洞信息查询: 获取特定 CVE 漏洞的详细信息。
  • 网络范围扫描: 分析整个 CIDR 范围内的设备,进行安全评估。
  • DNS 信息查询: 检索域名的 DNS 记录。
  • SSL 证书分析: 获取域名的详细 SSL 证书信息。
  • 物联网设备搜索: 查找互联网上特定类型的物联网设备。
  • 结果摘要: 生成搜索结果的简洁摘要。
  • 响应采样: 自动限制响应大小以减少 token 使用量。
  • 字段选择: 过滤结果,仅包含特定字段。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/Cyreslab-AI/shodan-mcp-server.git
    cd shodan-mcp-server
  2. 安装依赖:

    npm install
  3. 构建项目:

    npm run build
  4. 配置 Shodan API 密钥:

    • 在项目根目录下创建 '.env' 文件
    • 添加你的 Shodan API 密钥:'SHODAN_API_KEY=你的_API_密钥'
    • 或者在运行服务器时将其设置为环境变量

服务器配置

要将此服务器与 MCP 客户端(如 Claude)一起使用,请将其添加到您的 MCP 配置中。以下是一个示例 'mcpServers' 配置,您需要根据实际情况修改 'command' 和 'args' 中的路径,并将 'YOUR_SHODAN_API_KEY_HERE' 替换为您的 Shodan API 密钥。

{
  "mcpServers": {
    "mcp-shodan-server": {
      "command": "node", // 运行服务器的命令,这里使用 Node.js
      "args": ["/path/to/shodan-mcp-server/build/index.js"], // 服务器入口文件路径,请替换为实际路径
      "env": {
        "SHODAN_API_KEY": "YOUR_SHODAN_API_KEY_HERE" // Shodan API 密钥,请替换为您的密钥
      }
    }
  }
}

配置参数说明:

  • 'server name': 'mcp-shodan-server' (服务器名称,在 MCP 客户端中引用)
  • 'command': 'node' (运行服务器程序的可执行命令)
  • 'args': '["/path/to/shodan-mcp-server/build/index.js"]' (传递给 'command' 的参数,指向编译后的服务器入口文件。请务必根据您实际的项目路径修改 '/path/to/shodan-mcp-server/build/index.js' 为 'index.js' 文件的绝对路径)
  • 'env': '{ "SHODAN_API_KEY": "YOUR_SHODAN_API_KEY_HERE" }' (设置环境变量,用于传递 Shodan API 密钥。请务必将 'YOUR_SHODAN_API_KEY_HERE' 替换为您自己的 Shodan API 密钥)

基本使用方法

在 MCP 客户端中,您可以使用 '<use_mcp_tool>' 标签来调用 Shodan MCP Server 提供的工具。以下是一些基本使用示例:

1. 获取主机信息:

<use_mcp_tool>
<server_name>mcp-shodan-server</server_name>
<tool_name>get_host_info</tool_name>
<arguments>
{
  "ip": "8.8.8.8"
}
</arguments>
</use_mcp_tool>

2. 搜索 Shodan 数据库:

<use_mcp_tool>
<server_name>mcp-shodan-server</server_name>
<tool_name>search_shodan</tool_name>
<arguments>
{
  "query": "apache country:US"
}
</arguments>
</use_mcp_tool>

3. 获取漏洞信息:

<use_mcp_tool>
<server_name>mcp-shodan-server</server_name>
<tool_name>get_vulnerabilities</tool_name>
<arguments>
{
  "cve": "CVE-2021-44228"
}
</arguments>
</use_mcp_tool>

4. 扫描网络范围:

<use_mcp_tool>
<server_name>mcp-shodan-server</server_name>
<tool_name>scan_network_range</tool_name>
<arguments>
{
  "cidr": "192.168.1.0/24"
}
</arguments>
</use_mcp_tool>

5. 获取 DNS 信息:

<use_mcp_tool>
<server_name>mcp-shodan-server</server_name>
<tool_name>get_dns_info</tool_name>
<arguments>
{
  "domain": "example.com"
}
</arguments>
</use_mcp_tool>

6. 获取 SSL 证书信息:

<use_mcp_tool>
<server_name>mcp-shodan-server</server_name>
<tool_name>get_ssl_info</tool_name>
<arguments>
{
  "domain": "example.com"
}
</arguments>
</use_mcp_tool>

7. 搜索物联网设备:

<use_mcp_tool>
<server_name>mcp-shodan-server</server_name>
<tool_name>search_iot_devices</tool_name>
<arguments>
{
  "device_type": "webcam"
}
</arguments>
</use_mcp_tool>

请参考仓库 README.md 文件获取更详细的使用说明和高级用法,例如分页、字段选择、结果摘要等功能。

信息

分类

网页与API