以下是目前网络上好用的 DNSLog 在线平台合集,这些平台常用于渗透测试中的回显检测、盲打验证、SSRF/RCE 漏洞利用验证、DNS 外带等安全测试环节。它们支持 DNS、HTTP、SMTP 等多协议回显捕捉,在安全圈内广泛使用。
🧭 常用 DNSLog 在线平台推荐
平台 | 地址 | 特点 |
---|---|---|
DNSLog.cn | http://www.dnslog.cn | 最经典,简洁易用,速度快 |
ceye.io | https://ceye.io | 支持 DNS + HTTP 回显,免费注册 |
Dnslog Platform(bugscaner.com) | http://dns.bugscaner.com | 国内稳定,带图形界面 |
dnslog.cc | http://dnslog.cc | 高并发环境下表现稳定 |
requestbin.net(Beeceptor 替代品) | https://requestbin.net | HTTP-only,适合 SSRF/接口测试 |
Interactsh | https://github.com/projectdiscovery/interactsh | 支持自部署,自动化工具配套丰富 |
BuuDNS(BuuOJ) | https://dnslog.buuoj.cn | CTF 比赛常用,速度不错(需登录) |
🧪 使用流程(以 dnslog.cn 为例)
- 打开网址: http://www.dnslog.cn
- 点击「获取域名」按钮,系统将分配一个临时二级域名
- 在你的漏洞利用 payload 中嵌入这个域名(如 SSRF、XXE、命令执行等)
- 执行后,回到平台页面查看是否有记录(说明 payload 成功触发)
🔐 使用建议与注意事项
- 用途合法合规:仅限安全测试授权目标或本地靶场
- DNS缓存延迟问题:如被运营商劫持可尝试 ceye.io 或国外 DNS 平台
- 数据保存有限:平台一般不长期保存数据,测试完尽快截图或导出
- 隐私保护:部分平台对 IP 和 User-Agent 会记录,敏感环境请本地部署
🏠 自建平台推荐(进阶)
如需要更高的隐私性或稳定性,可以自建 DNSLog 平台:
- dnslog-py:适合轻量部署
- Interactsh(ProjectDiscovery 出品)
- 高性能、自带 CLI 工具、支持 HTTP+DNS+SMTP
- GitHub:https://github.com/projectdiscovery/interactsh
- Burp Collaborator 自建版(企业级)
- BurpSuite Pro 专属功能,自建需搭建 DNS + HTTP + SMTP 服务
📚 延伸阅读与工具整合
好的!以下是一个功能完善的 Python 脚本,它可以帮助你自动从 dnslog.cn 平台获取域名、监听 DNS 回显记录,并支持你在本地或自动化测试中集成使用(例如 SSRF、XXE、命令执行等漏洞验证场景)。
✅ 脚本功能说明
- 自动访问 dnslog.cn,获取唯一测试域名
- 自动获取并打印 DNS/HTTP 回显日志
- 支持长轮询查看是否有记录回显
- 支持可选 payload 生成接口(可扩展)
🐍 脚本代码:dnslog_monitor.py
import requests
import time
import sys
class DNSLog:
def __init__(self):
self.session = requests.Session()
self.base_url = 'http://www.dnslog.cn'
self.token = ''
self.domain = ''
self.init_dnslog()
def init_dnslog(self):
try:
self.session.get(self.base_url)
r = self.session.get(f'{self.base_url}/getdomain.php')
self.domain = r.text.strip()
r = self.session.get(f'{self.base_url}/gettoken.php')
self.token = r.text.strip()
print(f'[+] 获取成功!当前 DNSLog 域名:{self.domain}')
except Exception as e:
print(f'[-] 初始化失败:{e}')
sys.exit(1)
def get_records(self):
try:
headers = {'token': self.token}
r = self.session.get(f'{self.base_url}/getrecords.php', headers=headers)
if r.status_code == 200:
return r.text.strip()
else:
return None
except Exception as e:
print(f'[-] 获取记录失败:{e}')
return None
def monitor(self, interval=5):
print(f'[*] 开始监听 DNS 回显记录,每 {interval} 秒刷新一次...')
try:
while True:
data = self.get_records()
if data:
print('\n[+] 发现 DNS/HTTP 回显记录:')
print(data)
break
time.sleep(interval)
except KeyboardInterrupt:
print("\n[*] 手动终止监听。")
if __name__ == '__main__':
print("===== DNSLog.cn 自动监听工具 =====")
dnslog = DNSLog()
print("[*] 你可以在测试中使用如下域名作为回显触发点:")
print(f" --> {dnslog.domain}")
print("[*] 等待攻击目标触发中...")
dnslog.monitor(interval=5)
🧪 使用方法
- 安装 Python3 环境(推荐 3.6+)
- 安装依赖(requests):
pip install requests
- 运行脚本:
python dnslog_monitor.py
- 使用脚本输出的域名进行测试(例如注入
http://xxxxxx.dnslog.cn
) - 等待目标触发后自动打印 DNS 回显记录
📦 脚本扩展建议
你可以扩展如下功能:
- 加入 telegram/bark/wechat 推送(实时通知)
- 集成漏洞扫描器(如
xray
输出结果对接) - 添加批量 payload 构造与测试功能
- 支持其他平台,如
ceye.io
API 接口
📂 本地部署 dnslog(可选)
如果你不想依赖公网平台,也可以自建:
- 项目推荐:https://github.com/BugScanTeam/DNSLog
- 环境要求:Python + Redis + Flask + 公网 DNS 记录
- 或使用更强的:https://github.com/projectdiscovery/interactsh
发表回复