返回首页

SenPaiScanner:Cloudflare IP扫描器实战指南 | 2026年安全工具

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

评论