▸ API 参考
# 只读 json api · 游标分页 · 来自仪表板的免费密钥
openapi.json
realtime.md
▸ 实时流 (WebSocket)
每个新索引的域名 - 来自 CT 日志和区域文件 - 都作为 JSON 帧通过单个 WebSocket 广播。无需 API 密钥。
endpoint
wss://dnsniffer.com/ws
查询字符串过滤器(可选)
# 仅 .com wss://dnsniffer.com/ws?tld=com # 仅包含 "acme" 的域名(3–64 字符,不区分大小写) wss://dnsniffer.com/ws?q=acme # 两者 wss://dnsniffer.com/ws?tld=com&q=acme
帧
// 连接时(一次) { "type": "hello", "server": "dnsniffer-ws/1", "filters": { ... }, "heartbeat_ms": 30000 } // 每个新域名 { "type": "domain", "id": "1234567890", "name": "foo.com", "tld": "com", "created_at": "2026-05-16T16:00:00Z" }
javascript 示例
const ws = new WebSocket('wss://dnsniffer.com/ws?tld=com');
ws.onmessage = (e) => {
const m = JSON.parse(e.data);
if (m.type === 'domain') console.log(m.name);
};node 示例
import WebSocket from 'ws';
const ws = new WebSocket('wss://dnsniffer.com/ws?q=acme');
ws.on('message', (data) => {
const m = JSON.parse(data.toString());
if (m.type === 'domain') console.log(m.name);
});- ▸ 服务器每 30 秒 ping 一次;错过 pong 的客户端会被断开
- ▸ 每客户端速率限制:每秒 200 条消息(批量摄取期间的突发保护)
- ▸ 通过简单地重新打开套接字重新连接 - 无身份验证握手
- ▸ 参见 /new 获取实时演示和批量 CSV 替代方案