Shodan Reconnaissance and Pentesting

SKILL开发
开发 未标注权限 许可证不明确

This skill should be used when the user asks to "search for exposed devices on the internet," "perform Shodan reconnaissance," "find vulnerable services using Shodan," "scan IP ranges with Shodan," or "discover IoT devices and open ports." It provides comprehensive guidance for using Shodan's search engine, CLI, and API for penetration testing reconnaissance.

一句话选型结论

按资料字段整理

Shodan Reconnaissance and Pentesting是开发类的 Agent Skill,安装方式:GitHub 仓库,权限级别未标注,许可证不明确,没有现成安装命令,需按说明手动放置 SKILL.md。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式GitHub 仓库 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 3,664 仓库 claude-code-guide
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

GitHub 仓库
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    按安装说明或仓库 README,把 SKILL.md 放到客户端的 skills 目录(一般一个技能一个文件夹)。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方zebbern仓库 claude-code-guide · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式GitHub 仓库安装包 zebbern/claude-code-guide
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 未标注
正文体量13.5 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 仓库有一定关注度(星标 3,664)。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有现成安装命令,要按安装说明或仓库 README 手动放置。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Shodan Reconnaissance and Pentesting当前 未标注权限 GitHub 仓库 未标注 未标注 无
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

13.5 KB
模型实际读到的说明书原文,来自技能仓库

Shodan Reconnaissance and Pentesting

Purpose

Provide systematic methodologies for leveraging Shodan as a reconnaissance tool during penetration testing engagements. This skill covers the Shodan web interface, command-line interface (CLI), REST API, search filters, on-demand scanning, and network monitoring capabilities for discovering exposed services, vulnerable systems, and IoT devices.

Inputs / Prerequisites

  • Shodan Account: Free or paid account at shodan.io
  • API Key: Obtained from Shodan account dashboard
  • Target Information: IP addresses, domains, or network ranges to investigate
  • Shodan CLI: Python-based command-line tool installed
  • Authorization: Written permission for reconnaissance on target networks

Outputs / Deliverables

  • Asset Inventory: List of discovered hosts, ports, and services
  • Vulnerability Report: Identified CVEs and exposed vulnerable services
  • Banner Data: Service banners revealing software versions
  • Network Mapping: Geographic and organizational distribution of assets
  • Screenshot Gallery: Visual reconnaissance of exposed interfaces
  • Exported Data: JSON/CSV files for further analysis

Core Workflow

1. Setup and Configuration

Install Shodan CLI

# Using pip
pip install shodan

# Or easy_install
easy_install shodan

# On BlackArch/Arch Linux
sudo pacman -S python-shodan

Initialize API Key

# Set your API key
shodan init YOUR_API_KEY

# Verify setup
shodan info
# Output: Query credits available: 100
#         Scan credits available: 100

Check Account Status

# View credits and plan info
shodan info

# Check your external IP
shodan myip

# Check CLI version
shodan version

2. Basic Host Reconnaissance

Query Single Host

# Get all information about an IP
shodan host 1.1.1.1

# Example output:
# 1.1.1.1
# Hostnames: one.one.one.one
# Country: Australia
# Organization: Mountain View Communications
# Number of open ports: 3
# Ports:
#   53/udp
#   80/tcp
#   443/tcp

Check if Host is Honeypot

# Get honeypot probability score
shodan honeyscore 192.168.1.100

# Output: Not a honeypot
#         Score: 0.3

3. Search Queries

Basic Search (Free)

# Simple keyword search (no credits consumed)
shodan search apache

# Specify output fields
shodan search --fields ip_str,port,os smb

Filtered Search (1 Credit)

# Product-specific search
shodan search product:mongodb

# Search with multiple filters
shodan search product:nginx country:US city:"New York"

Count Results

# Get result count without consuming credits
shodan count openssh
# Output: 23128

shodan count openssh 7
# Output: 219

Download Results

# Download 1000 results (default)
shodan download results.json.gz "apache country:US"

# Download specific number of results
shodan download --limit 5000 results.json.gz "nginx"

# Download all available results
shodan download --limit -1 all_results.json.gz "query"

Parse Downloaded Data

# Extract specific fields from downloaded data
shodan parse --fields ip_str,port,hostnames results.json.gz

# Filter by specific criteria
shodan parse --fields location.country_code3,ip_str -f port:22 results.json.gz

# Export to CSV format
shodan parse --fields ip_str,port,org --separator , results.json.gz > results.csv

4. Search Filters Reference

Network Filters

ip:1.2.3.4                  # Specific IP address
net:192.168.0.0/24          # Network range (CIDR)
hostname:example.com        # Hostname contains
port:22                     # Specific port
asn:AS15169                 # Autonomous System Number

Geographic Filters

country:US                  # Two-letter country code
country:"United States"     # Full country name
city:"San Francisco"        # City name
state:CA                    # State/region
postal:94102                # Postal/ZIP code
geo:37.7,-122.4             # Lat/long coordinates

Organization Filters

org:"Google"                # Organization name
isp:"Comcast"               # ISP name

Service/Product Filters

product:nginx               # Software product
version:1.14.0              # Software version
os:"Windows Server 2019"    # Operating system
http.title:"Dashboard"      # HTTP page title
http.html:"login"           # HTML content
http.status:200             # HTTP status code
ssl.cert.subject.cn:*.example.com  # SSL certificate
ssl:true                    # Has SSL enabled

Vulnerability Filters

vuln:CVE-2019-0708          # Specific CVE
has_vuln:true               # Has any vulnerability

Screenshot Filters

has_screenshot:true         # Has screenshot available
screenshot.label:webcam     # Screenshot type

5. On-Demand Scanning

Submit Scan

# Scan single IP (1 credit per IP)
shodan scan submit 192.168.1.100

# Scan with verbose output (shows scan ID)
shodan scan submit --verbose 192.168.1.100

# Scan and save results
shodan scan submit --filename scan_results.json.gz 192.168.1.100

Monitor Scan Status

# List recent scans
shodan scan list

# Check specific scan status
shodan scan status SCAN_ID

# Download scan results later
shodan download --limit -1 results.json.gz scan:SCAN_ID

Available Scan Protocols

# List available protocols/modules
shodan scan protocols

6. Statistics and Analysis

Get Search Statistics

# Default statistics (top 10 countries, orgs)
shodan stats nginx

# Custom facets
shodan stats --facets domain,port,asn --limit 5 nginx

# Save to CSV
shodan stats --facets country,org -O stats.csv apache

7. Network Monitoring

Setup Alerts (Web Interface)

1. Navigate to Monitor Dashboard
2. Add IP, range, or domain to monitor
3. Configure notification service (email, Slack, webhook)
4. Select trigger events (new service, vulnerability, etc.)
5. View dashboard for exposed services

8. REST API Usage

Direct API Calls

# Get API info
curl -s "https://api.shodan.io/api-info?key=YOUR_KEY" | jq

# Host lookup
curl -s "https://api.shodan.io/shodan/host/1.1.1.1?key=YOUR_KEY" | jq

# Search query
curl -s "https://api.shodan.io/shodan/host/search?key=YOUR_KEY&query=apache" | jq

Python Library

import shodan

api = shodan.Shodan('YOUR_API_KEY')

# Search
results = api.search('apache')
print(f'Results found: {results["total"]}')
for result in results['matches']:
    print(f'IP: {result["ip_str"]}')

# Host lookup
host = api.host('1.1.1.1')
print(f'IP: {host["ip_str"]}')
print(f'Organization: {host.get("org", "n/a")}')
for item in host['data']:
    print(f'Port: {item["port"]}')

Quick Reference

Essential CLI Commands

Command Description Credits
shodan init KEY Initialize API key 0
shodan info Show account info 0
shodan myip Show your IP 0
shodan host IP Host details 0
shodan count QUERY Result count 0
shodan search QUERY Basic search 0*
shodan download FILE QUERY Save results 1/100 results
shodan parse FILE Extract data 0
shodan stats QUERY Statistics 1
shodan scan submit IP On-demand scan 1/IP
shodan honeyscore IP Honeypot check 0

*Filters consume 1 credit per query

Common Search Queries

Purpose Query
Find webcams webcam has_screenshot:true
MongoDB databases product:mongodb
Redis servers product:redis
Elasticsearch product:elastic port:9200
Default passwords "default password"
Vulnerable RDP port:3389 vuln:CVE-2019-0708
Industrial systems port:502 modbus
Cisco devices product:cisco
Open VNC port:5900 authentication disabled
Exposed FTP port:21 anonymous
WordPress sites http.component:wordpress
Printers "HP-ChaiSOE" port:80
Cameras (RTSP) port:554 has_screenshot:true
Jenkins servers X-Jenkins port:8080
Docker APIs port:2375 product:docker

Useful Filter Combinations

Scenario Query
Target org recon org:"Company Name"
Domain enumeration hostname:example.com
Network range scan net:192.168.0.0/24
SSL cert search ssl.cert.subject.cn:*.target.com
Vulnerable servers vuln:CVE-2021-44228 country:US
Exposed admin panels http.title:"admin" port:443
Database exposure port:3306,5432,27017,6379

Credit System

Action Credit Type Cost
Basic search Query 0 (no filters)
Filtered search Query 1
Download 100 results Query 1
Generate report Query 1
Scan 1 IP Scan 1
Network monitoring Monitored IPs Depends on plan

Constraints and Limitations

Operational Boundaries

  • Rate limited to 1 request per second
  • Scan results not immediate (asynchronous)
  • Cannot re-scan same IP within 24 hours (non-Enterprise)
  • Free accounts have limited credits
  • Some data requires paid subscription

Data Freshness

  • Shodan crawls continuously but data may be days/weeks old
  • On-demand scans provide current data but cost credits
  • Historical data available with paid plans

Legal Requirements

  • Only perform reconnaissance on authorized targets
  • Passive reconnaissance generally legal but verify jurisdiction
  • Active scanning (scan submit) requires authorization
  • Document all reconnaissance activities

Examples

Example 1: Organization Reconnaissance

# Find all hosts belonging to target organization
shodan search 'org:"Target Company"'

# Get statistics on their infrastructure
shodan stats --facets port,product,country 'org:"Target Company"'

# Download detailed data
shodan download target_data.json.gz 'org:"Target Company"'

# Parse for specific info
shodan parse --fields ip_str,port,product target_data.json.gz

Example 2: Vulnerable Service Discovery

# Find hosts vulnerable to BlueKeep (RDP CVE)
shodan search 'vuln:CVE-2019-0708 country:US'

# Find exposed Elasticsearch with no auth
shodan search 'product:elastic port:9200 -authentication'

# Find Log4j vulnerable systems
shodan search 'vuln:CVE-2021-44228'

Example 3: IoT Device Discovery

# Find exposed webcams
shodan search 'webcam has_screenshot:true country:US'

# Find industrial control systems
shodan search 'port:502 product:modbus'

# Find exposed printers
shodan search '"HP-ChaiSOE" port:80'

# Find smart home devices
shodan search 'product:nest'

Example 4: SSL/TLS Certificate Analysis

# Find hosts with specific SSL cert
shodan search 'ssl.cert.subject.cn:*.example.com'

# Find expired certificates
shodan search 'ssl.cert.expired:true org:"Company"'

# Find self-signed certificates
shodan search 'ssl.cert.issuer.cn:self-signed'

Example 5: Python Automation Script

#!/usr/bin/env python3
import shodan
import json

API_KEY = 'YOUR_API_KEY'
api = shodan.Shodan(API_KEY)

def recon_organization(org_name):
    """Perform reconnaissance on an organization"""
    try:
        # Search for organization
        query = f'org:"{org_name}"'
        results = api.search(query)

        print(f"[*] Found {results['total']} hosts for {org_name}")

        # Collect unique IPs and ports
        hosts = {}
        for result in results['matches']:
            ip = result['ip_str']
            port = result['port']
            product = result.get('product', 'unknown')

            if ip not in hosts:
                hosts[ip] = []
            hosts[ip].append({'port': port, 'product': product})

        # Output findings
        for ip, services in hosts.items():
            print(f"\n[+] {ip}")
            for svc in services:
                print(f"    - {svc['port']}/tcp ({svc['product']})")

        return hosts

    except shodan.APIError as e:
        print(f"Error: {e}")
        return None

if __name__ == '__main__':
    recon_organization("Target Company")

Example 6: Network Range Assessment

# Scan a /24 network range
shodan search 'net:192.168.1.0/24'

# Get port distribution
shodan stats --facets port 'net:192.168.1.0/24'

# Find specific vulnerabilities in range
shodan search 'net:192.168.1.0/24 vuln:CVE-2021-44228'

# Export all data for range
shodan download network_scan.json.gz 'net:192.168.1.0/24'

Troubleshooting

Issue Cause Solution
No API Key Configured Key not initialized Run shodan init YOUR_API_KEY then verify with shodan info
Query Credits Exhausted Monthly credits consumed Use credit-free queries (no filters), wait for reset, or upgrade
Host Recently Crawled Cannot re-scan IP within 24h Use shodan host IP for existing data, or wait 24 hours
Rate Limit Exceeded >1 request/second Add time.sleep(1) between API requests
Empty Search Results Too specific or syntax error Use quotes for phrases: 'org:"Company Name"'; broaden criteria
Downloaded File Won't Parse Corrupted or wrong format Verify with gunzip -t file.gz, re-download with --limit

常见问题

5 问
答案由本站依据条目字段整理
Shodan Reconnaissance and Pentesting怎么安装?

没有现成安装命令:按安装说明或仓库 README,把 SKILL.md 放进客户端的 skills 目录(一般一个技能一个文件夹)。

Shodan Reconnaissance and Pentesting支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Shodan Reconnaissance and Pentesting权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Shodan Reconnaissance and Pentesting收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Shodan Reconnaissance and Pentesting用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。