Help
RSS
API
Feed
Maltego
Contact
Domain > nat64.vsva911.cf
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-07-21
104.16.0.0
(
ClassC
)
2025-11-15
162.159.60.33
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Sat, 15 Nov 2025 06:13:28 GMTContent-Type: text/html;charsetUTF-8Content-Length: 24422Connection: keep-aliveVary: accept-encodingReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?s5O%2FM%2BXzeeVv3%2BNn4C4nHV7PZoCpYVtNRFKhrKgSGSVXMS1RwsjN%2FdRmPxRpAGOkcxCtF5ysX5srP4Hz3W65BcGH4lk4%2BUXzP7h90NiBP}}Nel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Server: cloudflareCF-RAY: 99ec9a568fca83f8-LAXalt-svc: h3:443; ma86400 !DOCTYPE html>html langzh-CN>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>Check NAT64/DNS64 可用性检测/title> link relicon hrefhttps://cf-assets.www.cloudflare.com/dzlvafdwdttg/19kSkLSfWtDcspvQI5pit4/c5630cf25d589a0de91978ca29486259/performance-acceleration-bolt.svg typeimage/x-icon> style> * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, PingFang SC, Microsoft YaHei, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; } .container { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); border-radius: 20px; padding: 40px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 600px; width: 100%; } .header { text-align: center; margin-bottom: 40px; } .header h1 { color: #333; font-size: 2.5em; margin-bottom: 10px; background: linear-gradient(135deg, #667eea, #764ba2); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .header p { color: #666; font-size: 1.1em; } .form-group { margin-bottom: 30px; } .form-group label { display: block; color: #333; font-weight: 600; margin-bottom: 10px; font-size: 1.1em; } .dns64-container { position: relative; display: flex; align-items: center; } .dns64-input { width: 100%; padding: 15px 50px 15px 15px; border: 2px solid #e1e5e9; border-radius: 12px; font-size: 1em; transition: all 0.3s ease; background: #fff; } .dropdown-arrow { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 6px; transition: all 0.3s ease; color: #666; } .dropdown-arrow:hover { background: rgba(102, 126, 234, 0.1); color: #667eea; } .dropdown-arrow.active { transform: translateY(-50%) rotate(180deg); color: #667eea; } .dns64-input:focus { outline: none; border-color: #667eea; box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); } .dropdown { position: absolute; top: 100%; left: 0; right: 0; background: #fff; border: 2px solid #667eea; border-top: none; border-radius: 0 0 12px 12px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); z-index: 1000; display: none; max-height: 200px; overflow-y: auto; } .dropdown.show { display: block; } .dropdown-item { padding: 12px 15px; cursor: pointer; transition: all 0.2s ease; border-bottom: 1px solid #f0f0f0; font-size: 0.95em; } .dropdown-item:last-child { border-bottom: none; } .dropdown-item:hover { background: #667eea; color: white; } .check-btn { width: 100%; padding: 18px; background: linear-gradient(135deg, #667eea, #764ba2); color: white; border: none; border-radius: 12px; font-size: 1.2em; font-weight: 600; cursor: pointer; transition: all 0.3s ease; margin-bottom: 30px; } .check-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(102, 126, 234, 0.3); } .check-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; } .result { margin-top: 30px; padding: 25px; border-radius: 12px; display: none; } .result.success { background: linear-gradient(135deg, #5cbf60, #4caf50); color: white; } .result.error { background: linear-gradient(135deg, #f44336, #e53935); color: white; } .result h3 { margin-bottom: 20px; font-size: 1.3em; } .copy-section { display: grid; gap: 15px; margin: 20px 0; } .copy-item { background: rgba(255, 255, 255, 0.2); padding: 15px; border-radius: 8px; cursor: pointer; transition: all 0.3s ease; border: 2px solid transparent; } .copy-item:hover { background: rgba(255, 255, 255, 0.3); border-color: rgba(255, 255, 255, 0.5); } .copy-item .label { font-weight: 600; margin-bottom: 5px; } .copy-item .value { font-family: Courier New, monospace; word-break: break-all; } .ip-info { margin-top: 20px; padding: 15px; background: rgba(255, 255, 255, 0.2); border-radius: 8px; } .ip-info h4 { margin-bottom: 10px; } .loading { display: none; text-align: center; margin: 20px 0; } .loading-spinner { width: 40px; height: 40px; border-radius: 50%; background: conic-gradient(from 0deg, #667eea, #764ba2, #667eea); mask: radial-gradient(circle at center, transparent 50%, black 52%); -webkit-mask: radial-gradient(circle at center, transparent 50%, black 52%); animation: spin 1s linear infinite; margin: 0 auto; } .loading-text { font-size: 1.1em; color: #333; position: relative; overflow: hidden; } .loading-dots { display: inline-block; animation: loadingDots 1.5s infinite; } .loading-progress { display: inline-block; animation: loadingProgress 2s ease-in-out infinite; } .loading-pulse { animation: loadingPulse 1.2s ease-in-out infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes loadingDots { 0%, 20% { content: ; opacity: 0; } 25% { content: .; opacity: 1; } 50% { content: ..; opacity: 1; } 75% { content: ...; opacity: 1; } 100% { content: ; opacity: 0; } } @keyframes loadingProgress { 0% { transform: translateX(-100%); opacity: 0.5; } 50% { transform: translateX(0%); opacity: 1; } 100% { transform: translateX(100%); opacity: 0.5; } } @keyframes loadingPulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.7; transform: scale(1.02); } } .loading-wave { display: inline-block; animation: wave 1.5s ease-in-out infinite; } @keyframes wave { 0%, 100% { transform: translateY(0px); } 25% { transform: translateY(-3px); } 50% { transform: translateY(0px); } 75% { transform: translateY(3px); } } @keyframes octocat-wave { 0%, 100% { transform: rotate(0) } 20%, 60% { transform: rotate(-25deg) } 40%, 80% { transform: rotate(10deg) } } .toast { position: fixed; bottom: 20px; right: 20px; background: #5cbf60; color: white; padding: 15px 20px; border-radius: 8px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); transform: translateX(200%); transition: all 0.3s ease; z-index: 1000; max-width: 300px; word-wrap: break-word; } .toast.show { transform: translateX(0); } .github-corner { position: fixed; top: 0; right: 0; z-index: 1000; transition: all 0.3s ease; } .github-corner:hover { transform: scale(1.05); } .github-corner svg { fill: rgba(102, 126, 234, 0.9); color: #fff; width: 80px; height: 80px; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.2)); transition: all 0.3s ease; } .github-corner:hover svg { fill: rgba(102, 126, 234, 1); } .github-corner:hover .octo-arm { animation: octocat-wave 560ms ease-in-out; } @media (max-width: 768px) { .github-corner svg { width: 60px; height: 60px; } .github-corner:hover .octo-arm { animation: none; } .github-corner .octo-arm { animation: octocat-wave 560ms ease-in-out; } } /style>/head>body> a hrefhttps://github.com/cmliu/CF-Workers-CheckNAT64 target_blank classgithub-corner aria-labelView source on Github> svg viewBox0 0 250 250 aria-hiddentrue> path dM0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z>/path> path dM128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2 fillcurrentColor styletransform-origin: 130px 106px; classocto-arm>/path> path dM115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z fillcurrentColor classocto-body>/path> /svg> /a> div classcontainer> div classheader> h1>🌐 DNS64/NAT64 检测/h1> p>检测DNS64作为NAT64的PROXYIP可用性/p> /div> div classform-group> label fordns64Input>DNS64 Server/NAT64 Prefix/label> div classdns64-container> input typetext iddns64Input classdns64-input placeholder请选择预设值或输入自定义值> div classdropdown-arrow iddropdownArrow onclicktoggleDropdown()> svg width12 height8 viewBox0 0 12 8 fillcurrentColor> path dM1 1l5 5 5-5 strokecurrentColor stroke-width2 fillnone stroke-linecapround stroke-linejoinround/> /svg> /div> div classdropdown iddropdown> div classdropdown-item onclickselectPreset(2001:67c:2960:6464::/96)>level66.services(德国)/div> div classdropdown-item onclickselectPreset(dns64.trex.fi)>Trex(芬兰)/div> div classdropdown-item onclickselectPreset(dns64.ztvi.hw.090227.xyz)>ZTVI(美国)/div> /div> /div> /div> button classcheck-btn onclickcheckNAT64()>🚀 开始检测/button> div classloading idloading> div classloading-spinner>/div> /div> div classresult idresult> !-- 结果将在这里显示 --> /div> /div> div classtoast idtoast>/div> script> const dns64Input document.getElementById(dns64Input); const dropdown document.getElementById(dropdown); const dropdownArrow document.getElementById(dropdownArrow); // 本地存储键名 const STORAGE_KEY dns64_nat64_server; // 从本地存储读取值 function loadFromStorage() { try { const savedValue localStorage.getItem(STORAGE_KEY); if (savedValue) { dns64Input.value savedValue; } } catch (error) { console.warn(无法读取本地存储:, error); } } // 保存到本地存储 function saveToStorage(value) { try { localStorage.setItem(STORAGE_KEY, value); } catch (error) { console.warn(无法保存到本地存储:, error); } } function selectPreset(value) { dns64Input.value value; saveToStorage(value); hideDropdown(); } function showDropdown() { dropdown.classList.add(show); dropdownArrow.classList.add(active); } function hideDropdown() { dropdown.classList.remove(show); dropdownArrow.classList.remove(active); } function toggleDropdown() { if (dropdown.classList.contains(show)) { hideDropdown(); } else { showDropdown(); } } // 文本框聚焦时显示下拉框(如果为空) dns64Input.addEventListener(focus, function() { if (this.value.trim() ) { showDropdown(); } }); // 文本框失去焦点时隐藏下拉框 dns64Input.addEventListener(blur, function() { // 延迟隐藏,以便点击下拉选项时有时间处理 setTimeout(() > { // 检查是否点击的是下拉箭头,如果是则不隐藏 if (!dropdownArrow.matches(:hover)) { hideDropdown(); } }, 150); }); // 监听输入事件 dns64Input.addEventListener(input, function() { const value this.value.trim(); saveToStorage(this.value); // 保存原始值(包含空格) }); // 监听键盘事件 dns64Input.addEventListener(keydown, function(e) { if (e.key Escape) { hideDropdown(); } }); // 点击页面其他地方时隐藏下拉框 document.addEventListener(click, function(e) { if (!e.target.closest(.dns64-container)) { hideDropdown(); } }); function showToast(message) { const toast document.getElementById(toast); toast.textContent message; toast.classList.add(show); setTimeout(() > { toast.classList.remove(show); }, 3000); } function copyToClipboard(text) { navigator.clipboard.writeText(text).then(() > { showToast(已复制到剪贴板); }).catch(() > { // fallback for older browsers const textArea document.createElement(textarea); textArea.value text; document.body.appendChild(textArea); textArea.select(); document.execCommand(copy); document.body.removeChild(textArea); showToast(已复制到剪贴板); }); } async function checkNAT64() { const dns64Value dns64Input.value.trim(); const loading document.getElementById(loading); const result document.getElementById(result); const checkBtn document.querySelector(.check-btn); // 显示加载状态 loading.style.display block; result.style.display none; checkBtn.disabled true; const MAX_RETRIES 3; let retryCount 0; let lastError null; // 检测函数 async function performCheck() { const apiUrl dns64Value ? `https://nat64.vsva911.cf/check?nat64${encodeURIComponent(dns64Value)}` : `https://nat64.vsva911.cf/check`; const checkResponse await fetch(apiUrl); const checkData await checkResponse.json(); if (!checkData.success) { throw new Error(checkData.message || 检测失败); } return checkData; } // 重试逻辑 while (retryCount MAX_RETRIES) { retryCount++; try { // 第一步:检测NAT64 const checkData await performCheck(); // 检测成功,生成复制值 const nat64Value `${checkData.nat64_ipv6}`; const proxyIPValue `ProxyIP.${checkData.nat64_ipv6.replace(/:/g, -)}.ip.090227.xyz`; result.className result success; result.innerHTML ` h3>✅ 检测成功/h3> p>此DNS64/NAT64服务器可用作PROXYIP/p> ${retryCount > 1 ? `p stylecolor: rgba(255,255,255,0.8); font-size: 0.9em;>经过 ${retryCount} 次尝试后成功/p>` : } div classcopy-section> div classcopy-item onclickcopyToClipboard(${nat64Value})> div classlabel>PROXYIP (IPv6格式)/div> div classvalue>${nat64Value}/div> /div> div classcopy-item onclickcopyToClipboard(${proxyIPValue})> div classlabel>PROXYIP (域名格式)/div> div classvalue>${proxyIPValue}/div> /div> div classcopy-item onclickcopyToClipboard(${checkData.nat64_prefix})> div classlabel>NAT64 (IPv6前缀)/div> div classvalue>${checkData.nat64_prefix}/div> /div> /div> div idipInfo classip-info styledisplay: none;> h4>🌍 落地IP信息/h4> div idipInfoContent>/div> /div> `; // 第二步:获取IP信息 if (checkData.trace_data && checkData.trace_data.ip) { try { const ipInfoResponse await fetch(`https://nat64.vsva911.cf/ip-info?token0c2d46a2741b505c3d8277ffba09fcfd&ip${checkData.trace_data.ip}`); const ipInfoData await ipInfoResponse.json(); if (ipInfoData.status success) { document.getElementById(ipInfo).style.display block; document.getElementById(ipInfoContent).innerHTML ` p>strong>IP地址:/strong>${ipInfoData.query}/p> p>strong>国家:/strong>${ipInfoData.country} (${ipInfoData.countryCode})/p> p>strong>地区:/strong>${ipInfoData.regionName}, ${ipInfoData.city}/p> p>strong>ISP:/strong>${ipInfoData.isp}/p> p>strong>AS:/strong>${ipInfoData.as}/p> `; } } catch (ipError) { console.error(获取IP信息失败:, ipError); } } result.style.display block; loading.style.display none; checkBtn.disabled false; return; // 成功退出函数 } catch (error) { console.error(`检测错误 (第${retryCount}次尝试):`, error); lastError error; // 如果还有重试机会,等待100毫秒后继续 if (retryCount MAX_RETRIES) { await new Promise(resolve > setTimeout(resolve, 100)); continue; } } } // 所有重试都失败了 result.className result error; result.innerHTML ` h3>❌ 检测失败/h3> p>经过 ${MAX_RETRIES} 次尝试后仍然失败/p> p>strong>最后一次错误:/strong>${lastError?.message || 未知错误}/p> p>此DNS64/NAT64服务器不可用作PROXYIP/p> p stylecolor: rgba(255,255,255,0.8); font-size: 0.9em; margin-top: 10px;> 建议:请尝试其他DNS64服务器 /p> `; result.style.display block; loading.style.display none; checkBtn.disabled false; } // 回车键触发检测 dns64Input.addEventListener(keypress, function(e) { if (e.key Enter) { checkNAT64(); } }); // 页面加载时读取缓存值 loadFromStorage(); /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]