查询 Shodan 物联网搜索引擎获取设备信息、安全数据和网络资产;当用户需要进行 IP 地址分析、设备搜索、DNS 查询、网络安全评估或获取物联网设备信息时使用
Shodan API Skill
功能概述
Shodan API Skill是一项面向实际任务的技能,主要用于本 Skill 用于:通过 Shodan API 查询互联网连接设备信息、进行网络安全分析;能力包含:主机信息查询、设备搜索、DNS 解析、反向 DNS 查询、端口扫描结果获取;
核心要点
- 触发条件:用户提到 IP 地址查询、设备搜索、网络安全分析、物联网设备、端口扫描、DNS 查询等;
- 依赖说明:;
- API Key 配置:需预先配置 Shodan AP。
使用与执行
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Shodan API Skill
任务目标
- 本 Skill 用于:通过 Shodan API 查询互联网连接设备信息、进行网络安全分析
- 能力包含:主机信息查询、设备搜索、DNS 解析、反向 DNS 查询、端口扫描结果获取
- 触发条件:用户提到 IP 地址查询、设备搜索、网络安全分析、物联网设备、端口扫描、DNS 查询等
前置准备
- 依赖说明:
requests==2.28.0
- API Key 配置:需预先配置 Shodan API Key(通过 skill_credentials 工具完成)
操作步骤
1. 主机信息查询
当用户提供 IP 地址时,查询该 IP 的详细信息:
调用脚本:
python scripts/shodan_api.py host
示例:
python scripts/shodan_api.py host 8.8.8.8
返回信息包含:
- 地理位置信息(国家、城市、经纬度)
- 组织和 ISP 信息
- 开放端口列表
- 服务和协议详情
- 安全标签和漏洞信息
- 主机名和域名
2. 设备搜索
当用户需要按条件搜索设备时:
调用脚本:
python scripts/shodan_api.py search "" [--facets ] [--page ]
常用搜索语法(详见 references/api-reference.md):
port:80- 搜索开放 80 端口的设备country:US- 搜索美国的设备product:nginx- 搜索运行 nginx 的设备os:Windows- 搜索 Windows 系统org:"Google"- 搜索属于 Google 的设备
示例:
# 搜索开放 80 端口的 Web 服务器 python scripts/shodan_api.py search "port:80" # 搜索运行 Apache 的设备,显示国家和组织信息 python scripts/shodan_api.py search "product:Apache" --facets "country,org" # 分页查询 python scripts/shodan_api.py search "port:22" --page 2
3. 统计结果数量
当用户只想知道匹配设备数量时:
调用脚本:
python scripts/shodan_api.py count "" [--facets ]
示例:
# 统计开放 80 端口的设备数量 python scripts/shodan_api.py count "port:80" # 按国家统计 python scripts/shodan_api.py count "port:80" --facets "country"
4. DNS 查询
当用户需要查询域名相关的 DNS 信息:
正向 DNS 查询:
python scripts/shodan_api.py dns-domain
反向 DNS 查询:
python scripts/shodan_api.py dns-reverse
示例:
# 查询 google.com 的 DNS 信息 python scripts/shodan_api.py dns-domain google.com # 反向查询 8.8.8.8 的域名 python scripts/shodan_api.py dns-reverse 8.8.8.8
5. 其他实用功能
获取端口列表:
python scripts/shodan_api.py ports
获取搜索查询列表:
python scripts/shodan_api.py queries [--page] [--sort ] [--order ]
获取当前 IP:
python scripts/shodan_api.py myip
获取账户信息:
python scripts/shodan_api.py profile
6. 数据分析与报告(智能体处理)
获取 API 数据后,智能体将:
- 分析返回的设备信息、安全数据和网络资产
- 识别潜在的安全风险和漏洞
- 生成结构化的安全评估报告
- 提供安全建议和最佳实践
资源索引
- API 脚本:见 scripts/shodan_api.py(统一 API 调用工具)
- API 参考:见 references/api-reference.md(完整的 API 文档、搜索语法和参数说明)
注意事项
- Shodan API 有查询限制,免费账户每分钟 1 次请求,付费账户有更高配额
- 使用
count接口可以节省查询配额 - 搜索查询语法详见 references/api-reference.md
- API Key 从环境变量
SHODAN_API_KEY自动读取,无需手动传递 - 所有 API 调用会自动处理鉴权和错误响应
使用示例
示例 1:分析特定 IP 的安全状态
用户请求:"帮我分析 8.8.8.8 的安全信息" 执行步骤:
- 调用脚本获取主机信息
- 智能体分析开放端口、服务版本、地理位置
- 生成安全评估报告
示例 2:搜索特定类型的设备
用户请求:"查找所有暴露在互联网上的摄像头设备" 执行步骤:
- 构建搜索查询:
webcam has_screenshot:true - 调用 search 接口获取结果
- 智能体分析并生成威胁报告
示例 3:资产发现
用户请求:"帮我发现某个组织的互联网资产" 执行步骤:
- 使用
org:"组织名"搜索 - 调用 count 接口统计资产分布
- 智能体生成资产清单和风险评估
热门AI工具








