infohlaingbwar/d0rk3r

GitHub: infohlaingbwar/d0rk3r

一款无需 Shodan API key、通过代理轮换爬取 Shodan 公开搜索结果并批量提取 IP 的安全侦察工具。

Stars: 0 | Forks: 0

# D0RK3R
``` ____ _____ ____ _ ____ _____ ____ ( _ \( _ )( _ \( )/ ___)( _ )( _ )(_) ))(_)(( )(_) )|\___ \ )(_)(( )___/ (____/(_____)(____/(_)(____/(_____)(__) ``` **🔍 Shodan IP 爬虫,支持自动代理轮换。无需 API key。** [![Python](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![Stars](https://img.shields.io/github/stars/infohlaingbwar/d0rk3r?style=social)](https://github.com/infohlaingbwar/d0rk3r/stargazers) [![GitHub Issues](https://img.shields.io/github/issues/infohlaingbwar/d0rk3r)](https://github.com/infohlaingbwar/d0rk3r/issues) [![Contributions Welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](CONTRIBUTING.md) 非常适合 OSINT、bug bounty 和渗透测试。 [功能](#features) • [安装](#install) • [用法](#usage) • [示例](#shodan-dork-syntax)
## 功能 ✅ **自动代理** — 自动从 GitHub 获取可用代理 ✅ **代理轮换** — 绕过 Shodan 速率限制 ✅ **智能缓存** — 代理复用时长为 6 小时 ✅ **无需 API key** — 爬取公开的 Shodan 搜索结果 ✅ **快速提取** — 几秒钟内获取数百至数千个 IP ## 安装 ``` git clone https://github.com/infohlaingbwar/d0rk3r cd d0rk3r pip install requests[socks] python3 d0rk3r.py -q "port:443" --auto-proxy ``` 如果缺少 `requests` 会自动安装。 ### Termux ``` pkg install python pip install requests[socks] git clone https://github.com/infohlaingbwar/d0rk3r cd d0rk3r python d0rk3r.py -q "port:443" --auto-proxy ``` ### Kali / Debian / Ubuntu / WSL (PEP 668 错误) ``` pip3 install --break-system-packages requests[socks] python3 d0rk3r.py -q "port:443" --auto-proxy ``` ## 用法 ### 自动代理(推荐) ``` # CVE hunting python3 d0rk3r.py -q "Apache/2.4.49" --auto-proxy -o results.txt # Bug bounty recon python3 d0rk3r.py -q 'org:"Tesla Motors"' --auto-proxy --pages 3 # IoT devices python3 d0rk3r.py -q "port:554 rtsp country:MM" --auto-proxy # Vulnerable hosts python3 d0rk3r.py -q "vuln:CVE-2021-41773" --auto-proxy ``` ### 手动代理文件 创建 `proxy.txt`: ``` http://user:pass@1.2.3.4:8080 socks5://5.6.7.8:1080 http://9.10.11.12:3128 ``` 然后: ``` python3 d0rk3r.py -q "port:443" -p proxy.txt --pages 5 ``` ### 无代理(直连) ``` python3 d0rk3r.py -q "nginx country:MM" ``` ## Shodan Dork 语法 | 语法 | 示例 | 描述 | |--------|---------|-------------| | `port:` | `port:22` | 开放 SSH 的主机 | | `country:` | `country:MM` | 缅甸服务器 | | `city:` | `city:Yangon` | 城市位置 | | `org:` | `org:"MPT"` | 组织 | | `hostname:` | `hostname:gov.mm` | 域名 | | `os:` | `os:Windows` | 操作系统 | | `product:` | `product:nginx` | 软件 | | `vuln:` | `vuln:CVE-2021-41773` | 存在漏洞的 CVE | | `http.title:` | `http.title:"admin"` | 页面标题 | | `ssl:` | `ssl:"Myanmar"` | SSL 证书信息 | **组合查询:** ``` python3 d0rk3r.py -q "Apache/2.4.49 country:MM port:443" --auto-proxy ``` ## 参数标志 | 标志 | 描述 | |------|-------------| | `-q` | Shodan dork 查询(必填) | | `--auto-proxy` | 从 GitHub 自动获取代理 | | `-p` | 手动代理文件的路径 | | `--pages` | 每个代理的请求数(默认:2) | | `--page-max` | 最大总请求数(0 = 自动) | | `-o` | 将输出保存到文件 | | `--timeout` | 请求超时时间(秒)(默认:10) | | `--delay` | 请求之间的延迟(秒)(默认:0.5) | | `--no-banner` | 跳过 banner | ## 工作原理 ### 自动代理 1. 从 GitHub 公开列表中获取最新代理 2. 验证可用代理(测试 100 个样本) 3. 将代理缓存 6 小时 4. 在爬取过程中轮换代理 ### 绕过 Shodan 免费的 Shodan 每个IP大约允许访问 ~2 页。 使用代理轮换: ``` Proxy A → page 1 (~300 IPs) Proxy B → page 1 (~300 new IPs) Proxy C → page 1 (~300 new IPs) ... ``` 10 个代理 × 2 页 = 600-3000+ 个独立 IP。 ## 示例输出 ``` $ python3 d0rk3r.py -q "nginx" --auto-proxy --pages 1 [*] Auto-fetching proxies... [+] Loaded 13 working proxies ┌─ Proxies : 13 ├─ Requests : 13 (1 per proxy) └─ Query : nginx ════════════════════════════════════════════════ ✔ 1005 unique IPs │ 1 req OK │ 12 fail │ 55.0s ════════════════════════════════════════════════ ├─ 101.230.14.203 ├─ 102.182.100.18 ├─ 103.100.84.76 ... └─ 1005 total ``` ## 文件 | 文件 | 用途 | |------|---------| | `d0rk3r.py` | 主脚本 | | `proxy_fetcher.py` | 自动代理模块 | | `.proxy_cache.txt` | 缓存的代理(自动生成) | ## 注意 本项目爬取的是 Shodan 的公开网页搜索结果。不保证 IP 的准确性。请务必自行验证结果。 仅供教育和授权测试使用。 ## 许可证 MIT ## 贡献者 欢迎贡献!随时欢迎提交 issue 或 PR。
标签:OSINT工具, Python, 安全测试, 实时处理, 密码管理, 攻击性安全, 无后门, 系统独立性, 网络资产收集, 逆向工具