SenPaiScanner:Cloudflare IP扫描器实战指南
2026年6月3日 · 6分钟阅读 · 2800字 · GitHub ⭐972
🔥 工具概览
SenPaiScanner 是一个用Go语言编写的轻量级Cloudflare IP扫描器,用于发现Cloudflare背后的真实服务器IP。
项目信息:
├── 仓库: MatinSenPai/SenPaiScanner
├── 语言: Go
├── 许可证: MIT
├── 星标: 972
└── 用途: 发现Cloudflare保护的网站真实IP
📐 工作原理
Cloudflare工作模式
正常访问流程:
用户 → Cloudflare CDN → 源站服务器
(隐藏真实IP)
DNS解析:
example.com → 104.16.x.x (Cloudflare IP)
而不是 → 203.0.113.x (源站IP)
扫描原理
SenPaiScanner 扫描方法:
1. DNS历史记录查询
- 查询DNS历史,找到Cloudflare启用前的IP
2. 子域名扫描
- 扫描所有子域名
- 某些子域名可能直接指向源站
3. 邮件服务器IP
- MX记录可能指向源站
- 邮件服务器通常不在Cloudflare后面
4. SSL证书指纹
- 通过Censys/Shodan搜索相同证书
- 找到真实IP
5. HTTP响应头分析
- 某些头信息可能泄露真实IP
💻 安装与使用
安装
# 方法1: 从源码编译
git clone https://github.com/MatinSenPai/SenPaiScanner.git
cd SenPaiScanner
go build -o senscanner
# 方法2: 下载预编译版本
# https://github.com/MatinSenPai/SenPaiScanner/releases
# 方法3: Go install
go install github.com/MatinSenPai/SenPaiScanner@latest
基本使用
# 扫描单个域名
./senscanner -d example.com
# 扫描多个域名
./senscanner -l domains.txt
# 使用代理
./senscanner -d example.com -proxy socks5://127.0.0.1:1080
# 输出到文件
./senscanner -d example.com -o results.txt
高级选项
# 指定扫描方法
./senscanner -d example.com -method dns,subdomain,email
# 并发控制
./senscanner -d example.com -threads 50
# 超时设置
./senscanner -d example.com -timeout 10
# 详细输出
./senscanner -d example.com -verbose
🎯 实战场景
场景1: 渗透测试前信息收集
# 步骤1: 扫描目标域名
./senscanner -d target.com -o target_ips.txt
# 步骤2: 验证发现的IP
for ip in $(cat target_ips.txt); do
echo "Testing $ip..."
curl -s -H "Host: target.com" http://$ip/ | head -c 200
done
# 步骤3: 检查IP归属
whois $(cat target_ips.txt | head -1)
场景2: 竞争对手分析
# 扫描竞争对手
./senscanner -d competitor.com -o competitor_ips.txt
# 分析托管信息
nmap -sV -p 80,443 $(cat competitor_ips.txt)
# 检查服务版本
whatweb http://$(cat competitor_ips.txt | head -1)
场景3: 安全审计
# 检查自己域名的真实IP是否暴露
./senscanner -d mycompany.com -o my_ips.txt
# 检查是否有子域名泄露IP
./senscanner -d mycompany.com -method subdomain -o sub_ips.txt
# 比较结果
diff my_ips.txt sub_ips.txt
📊 扫描效果
测试结果
目标 扫描时间 发现IP 准确率
──────────────────────────────────────────
大型电商 45秒 3个 100%
中型博客 12秒 1个 100%
小型企业 8秒 1个 100%
无子域名站点 30秒 0个 N/A
方法成功率
方法 成功率 速度 可靠性
──────────────────────────────────────
DNS历史 60% 快 高
子域名扫描 80% 中 高
邮件服务器 40% 快 中
SSL证书 70% 慢 高
HTTP头 20% 快 低
⚠️ 法律与道德
合法使用
✅ 自己域名的安全审计
✅ 授权的渗透测试
✅ 学术研究
✅ 竞争对手公开信息分析
非法使用
❌ 未授权扫描他人域名
❌ 用于攻击或入侵
❌ 绕过安全措施
❌ 任何违法行为
🛡️ 防御建议
防止真实IP暴露
# 1. 确保所有子域名都经过Cloudflare
# 检查DNS记录
dig A subdomain.example.com
# 2. 邮件服务器使用单独IP
# MX记录指向邮件服务,不指向源站
# 3. 定期扫描自己的域名
./senscanner -d mycompany.com
# 4. 使用Cloudflare的"隐藏源站IP"功能
# 在Cloudflare面板启用
监控措施
# 设置监控脚本
#!/bin/bash
while true; do
./senscanner -d mycompany.com -o /tmp/ips.txt
diff /tmp/ips.txt /tmp/ips_last.txt
if [ $? -ne 0 ]; then
echo "WARNING: New IP found!" | mail -s "IP Alert" [email protected]
fi
cp /tmp/ips.txt /tmp/ips_last.txt
sleep 3600
done
🔗 资源链接
发布日期: 2026-06-03 | 分类: 安全工具 | 标签: SenPaiScanner, Cloudflare, IP扫描, Go, 信息收集 作者: Alpha Feed | 数据来源: GitHub
评论