首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
mcp-shodan2025-05-300分享
github
用于查询Shodan API和Shodan CVEDB的MCP服务器。该服务器提供了IP查询、设备搜索、DNS查询、漏洞查询、CPE查询等工具。
By BurtTheCoder
2025-05-300
github
详情内容

Shodan MCP 服务器

smithery 徽章

一个用于查询 Shodan APIShodan CVEDB 的模型上下文协议(MCP)服务器。该服务器提供了对 Shodan 网络情报和安全服务的全面访问,包括 IP 侦察、DNS 操作、漏洞跟踪和设备发现。所有工具都提供结构化的格式化输出,便于分析和集成。

快速开始(推荐)

通过 Smithery 安装

通过 Smithery 自动为 Claude Desktop 安装 Shodan 服务器:

npx -y @smithery/cli install @burtthecoder/mcp-shodan --client claude

手动安装

  1. 通过 npm 全局安装服务器:
npm install -g @burtthecoder/mcp-shodan
  1. 添加到您的 Claude Desktop 配置文件:
{
  "mcpServers": {
    "shodan": {
      "command": "mcp-shodan",
      "env": {
        "SHODAN_API_KEY": "your-shodan-api-key"
      }
    }
  }
}

配置文件位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  1. 重启 Claude Desktop

替代设置(从源代码)

如果您更喜欢从源代码运行或需要修改代码:

  1. 克隆并构建:
git clone https://github.com/BurtTheCoder/mcp-shodan.git
cd mcp-shodan
npm install
npm run build
  1. 添加到您的 Claude Desktop 配置:
{
  "mcpServers": {
    "shodan": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-shodan/build/index.js"],
      "env": {
        "SHODAN_API_KEY": "your-shodan-api-key"
      }
    }
  }
}

功能

  • 网络侦察:查询 IP 地址的详细信息,包括开放端口、服务和漏洞
  • DNS 操作:对域名和 IP 地址进行正向和反向 DNS 查询
  • 漏洞情报:访问 Shodan 的 CVEDB 以获取详细的漏洞信息、CPE 查询和特定产品的 CVE 跟踪
  • 设备发现:通过高级过滤搜索 Shodan 的互联网连接设备数据库

工具

1. IP 查询工具

  • 名称:ip_lookup
  • 描述:检索 IP 地址的全面信息,包括地理位置、开放端口、运行服务、SSL 证书、主机名和云提供商详细信息(如果可用)
  • 参数:
    • ip(必需):要查询的 IP 地址
  • 返回:
    • IP 信息(地址、组织、ISP、ASN)
    • 位置(国家、城市、坐标)
    • 服务(端口、协议、横幅)
    • 云提供商详细信息(如果可用)
    • 关联的主机名和域名
    • 标签

2. Shodan 搜索工具

  • 名称:shodan_search
  • 描述:搜索 Shodan 的互联网连接设备数据库
  • 参数:
    • query(必需):Shodan 搜索查询
    • max_results(可选,默认:10):返回的结果数量
  • 返回:
    • 搜索摘要及总结果数
    • 基于国家的分布统计
    • 详细的设备信息包括:
      • 基本信息(IP、组织、ISP)
      • 位置数据
      • 服务详细信息
      • Web 服务器信息
      • 关联的主机名和域名

3. CVE 查询工具

  • 名称:cve_lookup
  • 描述:从 Shodan 的 CVEDB 查询详细的漏洞信息
  • 参数:
    • cve(必需):CVE 标识符,格式为 CVE-YYYY-NNNNN(例如,CVE-2021-44228)
  • 返回:
    • 基本信息(ID、发布日期、摘要)
    • 严重性评分:
      • CVSS v2 和 v3 及其严重性级别
      • EPSS 概率和排名
    • 影响评估:
      • KEV 状态
      • 建议的缓解措施
      • 勒索软件关联
    • 受影响的产品(CPEs)
    • 参考

4. DNS 查询工具

  • 名称:dns_lookup
  • 描述:使用 Shodan 的 DNS 服务将域名解析为 IP 地址
  • 参数:
    • hostnames(必需):要解析的主机名数组
  • 返回:
    • DNS 解析,将主机名映射到 IP
    • 查询的主机名和总查询数的摘要

5. 反向 DNS 查询工具

  • 名称:reverse_dns_lookup
  • 描述:执行反向 DNS 查询以查找与 IP 地址关联的主机名
  • 参数:
    • ips(必需):要查询的 IP 地址数组
  • 返回:
    • 反向 DNS 解析,将 IP 映射到主机名
    • 查询的 IP 地址和总查询数的摘要

6. CPE 查询工具

  • 名称:cpe_lookup
  • 描述:按产品名称搜索通用平台枚举(CPE)条目
  • 参数:
    • product(必需):要搜索的产品名称
    • count(可选,默认:false):如果为 true,仅返回匹配的 CPE 数量
    • skip(可选,默认:0):跳过的 CPE 数量(用于分页)
    • limit(可选,默认:1000):返回的最大 CPE 数量
  • 返回:
    • 当 count 为 true 时:匹配的 CPE 总数
    • 当 count 为 false 时:CPE 列表及分页详细信息

7. 按产品查询 CVE 工具

  • 名称:cves_by_product
  • 描述:搜索影响特定产品或 CPE 的漏洞
  • 参数:
    • cpe23(可选):CPE 2.3 标识符(格式:cpe:2.3:part:vendor:product:version)
    • product(可选):要搜索 CVE 的产品名称
    • count(可选,默认:false):如果为 true,仅返回匹配的 CVE 数量
    • is_kev(可选,默认:false):如果为 true,仅返回设置了 KEV 标志的 CVE
    • sort_by_epss(可选,默认:false):如果为 true,按 EPSS 分数排序 CVE
    • skip(可选,默认:0):跳过的 CVE 数量(用于分页)
    • limit(可选,默认:1000):返回的最大 CVE 数量
    • start_date(可选):过滤 CVE 的开始日期(格式:YYYY-MM-DDTHH:MM:SS)
    • end_date(可选):过滤 CVE 的结束日期(格式:YYYY-MM-DDTHH:MM:SS)
  • 注意事项:
    • 必须提供 cpe23 或 product,但不能同时提供
    • 日期过滤使用 CVE 的发布时间
  • 返回:
    • 查询信息
    • 结果摘要及分页详细信息
    • 详细的漏洞信息包括:
      • 基本信息
      • 严重性评分
      • 影响评估
      • 参考

要求

故障排除

API 密钥问题

如果您看到与 API 密钥相关的错误(例如,“请求失败,状态码 401”):

  1. 验证您的 API 密钥:

    • 必须是来自您的 账户设置 的有效 Shodan API 密钥
    • 确保密钥有足够的信用/权限进行操作
    • 检查配置中密钥周围是否有额外的空格或引号
    • 验证密钥是否正确设置在 SHODAN_API_KEY 环境变量中
  2. 常见错误代码:

    • 401 未授权:无效的 API 密钥或缺少身份验证
    • 402 需要付款:查询信用不足
    • 429 请求过多:超出速率限制
  3. 配置步骤:
    a. 从 Shodan 账户 获取您的 API 密钥
    b. 将其添加到您的配置文件中:

    {
      "mcpServers": {
        "shodan": {
          "command": "mcp-shodan",
          "env": {
            "SHODAN_API_KEY": "your-actual-api-key-here"
          }
        }
      }
    }
    

    c. 保存配置文件
    d. 重启 Claude Desktop

  4. 测试您的密钥:

    • 首先尝试一个简单的查询(例如,dns_lookup 查询 "google.com")
    • 检查您的 Shodan 账户仪表板 以查看信用状态
    • 验证密钥是否直接与 curl 一起使用:
      curl "https://api.shodan.io/dns/resolve?hostnames=google.com&key=your-api-key"
      

模块加载问题

如果您看到模块加载错误:

  1. 对于全局安装:使用快速开始中显示的简单配置
  2. 对于源代码安装:确保您使用的是 Node.js v18 或更高版本

开发

要在开发模式下运行并启用热重载:

npm run dev

错误处理

服务器包括全面的错误处理,涵盖:

  • 无效的 API 密钥
  • 速率限制
  • 网络错误
  • 无效的输入参数
  • 无效的 CVE 格式
  • 无效的 CPE 查询参数
  • 无效的日期格式
  • 互斥参数验证

版本历史

  • v1.0.12:添加了反向 DNS 查询并改进了输出格式化
  • v1.0.7:添加了按产品查询 CVE 功能,并将漏洞工具重命名为 cve_lookup
  • v1.0.6:添加了 CVEDB 集成以增强 CVE 查询和 CPE 搜索功能
  • v1.0.0:初始版本,包含核心功能

贡献

  1. 分叉仓库
  2. 创建一个功能分支(git checkout -b feature/amazing-feature
  3. 提交您的更改(git commit -m 'Add amazing feature'
  4. 推送到分支(git push origin feature/amazing-feature
  5. 打开一个拉取请求

许可证

该项目在 MIT 许可证下授权 - 有关详细信息,请参阅 LICENSE 文件。

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档