WebRTC IP Sızıntı Testi Nedir? Gerçek IP Adresinizi Kontrol Edin

TAKİP ET

WebRTC IP sızıntısı testi ile gerçek IP adresinizin tarayıcı üzerinden görünüp görünmediğini hızlıca analiz edin.

WebRTC IP sızıntı testi, tarayıcınızın gerçek IP adresinizi internet üzerinde açığa çıkarıp çıkarmadığını kontrol etmek için kullanılan önemli güvenlik araçlarından biridir. Günümüzde birçok kullanıcı VPN kullanmasına rağmen WebRTC teknolojisi nedeniyle gerçek IP adresinin görünür olabileceğini fark etmemektedir. Bu durum özellikle gizlilik ve çevrimiçi güvenlik açısından risk oluşturabilir.

Modern tarayıcılar; sesli ve görüntülü iletişim özellikleri için WebRTC teknolojisini kullanır. Ancak bazı durumlarda bu teknoloji, VPN aktif olsa bile lokal ağ IP adresi veya gerçek bağlantı bilgilerini açığa çıkarabilir. Bu nedenle WebRTC sızıntı testi, internet gizliliğini önemseyen kullanıcılar için oldukça önemli hale gelmiştir.

Online WebRTC test araçları sayesinde kullanıcılar tarayıcılarının IP bilgisi sızdırıp sızdırmadığını hızlı şekilde öğrenebilir. Böylece VPN, proxy ve tarayıcı güvenlik ayarları daha bilinçli şekilde kontrol edilebilir.

 

WebRTC IP Sızıntı Kontrolü

Tarayıcınızın WebRTC üzerinden IP bilgisi sızdırıp sızdırmadığını kontrol edin.

Test Durumu Kontrol ediliyor... WebRTC analizi başlatıldı. WebRTC Desteği Kontrol ediliyor... Bulunan IP Sayısı Kontrol ediliyor... Lokal IP Tespiti Kontrol ediliyor... Genel Risk Durumu Kontrol ediliyor... WebRTC Üzerinden Görünen IP / Aday Bilgileri

Kontrol ediliyor... Not: Modern tarayıcılar bazı IP adreslerini gizleyebilir veya mDNS adı olarak gösterebilir. /* ================= WEBRTC CSS ================= */ .webrtc-section { background: #f8fafc; } .webrtc-card { max-width: 960px; margin: auto; background: #ffffff; border-radius: 24px; padding: 35px; box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08); } .webrtc-title h2 { font-size: 34px; font-weight: 800; color: #111827; margin-bottom: 10px; } .webrtc-title p { color: #64748b; margin-bottom: 28px; } .webrtc-status { padding: 22px; border-radius: 20px; margin-bottom: 18px; background: #eff6ff; border: 1px solid #bfdbfe; } .webrtc-status span { display: block; color: #64748b; font-size: 14px; margin-bottom: 6px; } .webrtc-status strong { display: block; color: #2563eb; font-size: 28px; font-weight: 800; } .webrtc-status small { display: block; color: #475569; margin-top: 6px; } .webrtc-safe { background: #ecfdf5; border-color: #bbf7d0; } .webrtc-safe strong { color: #16a34a; } .webrtc-warning { background: #fff7ed; border-color: #fed7aa; } .webrtc-warning strong { color: #ea580c; } .webrtc-risk { background: #fef2f2; border-color: #fecaca; } .webrtc-risk strong { color: #dc2626; } .webrtc-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin-bottom: 15px; } .webrtc-box, .webrtc-list-box { background: #f1f5f9; border-radius: 18px; padding: 18px; } .webrtc-box span, .webrtc-list-box span { display: block; font-size: 14px; color: #64748b; margin-bottom: 6px; } .webrtc-box strong { color: #2563eb; font-size: 18px; word-break: break-word; } .webrtc-list-box ul { margin: 8px 0 0; padding-left: 20px; color: #2563eb; word-break: break-word; } .webrtc-list-box li { margin-bottom: 6px; } .webrtc-note { margin-top: 18px; background: #eff6ff; color: #1e40af; padding: 14px 16px; border-radius: 14px; font-size: 14px; } @media (max-width: 576px) { .webrtc-card { padding: 25px 18px; } .webrtc-grid { grid-template-columns: 1fr; } .webrtc-title h2 { font-size: 28px; } .webrtc-status strong { font-size: 22px; } } /* ================= WEBRTC IP SIZINTI JS ================= */ document.addEventListener("DOMContentLoaded", function () { const setText = (id, value) => { document.getElementById(id).textContent = value || "Bilinmiyor"; }; const statusBox = document.getElementById("webrtcStatusBox"); const statusText = document.getElementById("webrtcStatus"); const descText = document.getElementById("webrtcDesc"); const ipList = document.getElementById("webrtcIpList"); function setStatus(type, title, desc) { statusBox.classList.remove("webrtc-safe", "webrtc-warning", "webrtc-risk"); statusBox.classList.add(type); statusText.textContent = title; descText.textContent = desc; } function isLocalIp(ip) { return ( /^10\./.test(ip) || /^192\.168\./.test(ip) || /^172\.(1[6-9]|2[0-9]|3[0-1])\./.test(ip) || /^127\./.test(ip) || /^169\.254\./.test(ip) || /^fc00:/i.test(ip) || /^fd/i.test(ip) || /^fe80:/i.test(ip) || ip === "::1" ); } function addIpToList(items) { ipList.innerHTML = ""; if (!items.length) { ipList.innerHTML = "

WebRTC üzerinden açık IP bilgisi bulunamadı."; return; } items.forEach(function (item) { const li = document.createElement("li"); li.textContent = item; ipList.appendChild(li); }); } async function checkWebRTCLeak() { const RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection; if (!RTCPeerConnection) { setText("webrtcSupport", "Desteklenmiyor"); setText("webrtcIpCount", "0"); setText("webrtcLocalIp", "Yok"); setText("webrtcRisk", "Düşük"); addIpToList([]); setStatus( "webrtc-safe", "WebRTC Desteklenmiyor", "Tarayıcınızda WebRTC desteği bulunmadığı için sızıntı riski düşüktür." ); return; } setText("webrtcSupport", "Destekleniyor"); const foundItems = new Set(); const foundIps = new Set(); const ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3})|([a-f0-9:]{2,}:[a-f0-9:]+)/gi; const pc = new RTCPeerConnection({ iceServers: [ { urls: "stun:stun.l.google.com:19302" } ] }); pc.createDataChannel("webrtc-test"); pc.onicecandidate = function (event) { if (!event || !event.candidate || !event.candidate.candidate) { return; } const candidate = event.candidate.candidate; foundItems.add(candidate); const matches = candidate.match(ipRegex); if (matches) { matches.forEach(function (ip) { foundIps.add(ip); }); } }; try { const offer = await pc.createOffer(); await pc.setLocalDescription(offer); await new Promise(function (resolve) { setTimeout(resolve, 3000); }); pc.close(); const ipArray = Array.from(foundIps); const itemArray = Array.from(foundItems); const hasLocalIp = ipArray.some(isLocalIp); setText("webrtcIpCount", ipArray.length); setText("webrtcLocalIp", hasLocalIp ? "Tespit Edildi" : "Tespit Edilmedi"); if (ipArray.length > 0) { addIpToList(ipArray); } else if (itemArray.length > 0) { addIpToList(itemArray); } else { addIpToList([]); } if (hasLocalIp) { setText("webrtcRisk", "Orta"); setStatus( "webrtc-warning", "Lokal IP Görünebilir", "WebRTC üzerinden lokal ağ IP bilginiz veya aday bağlantı verileriniz görünebilir." ); } else if (ipArray.length > 0) { setText("webrtcRisk", "Orta"); setStatus( "webrtc-warning", "WebRTC IP Bilgisi Bulundu", "Tarayıcı WebRTC üzerinden bazı IP aday bilgilerini göstermektedir." ); } else { setText("webrtcRisk", "Düşük"); setStatus( "webrtc-safe", "Sızıntı Bulunamadı", "WebRTC üzerinden açık IP adresi tespit edilmedi." ); } } catch (error) { console.error(error); setText("webrtcIpCount", "Alınamadı"); setText("webrtcLocalIp", "Alınamadı"); setText("webrtcRisk", "Bilinmiyor"); addIpToList([]); setStatus( "webrtc-risk", "Test Başarısız", "WebRTC testi çalıştırılamadı. Tarayıcı veya güvenlik ayarları engellemiş olabilir." ); } } checkWebRTCLeak(); });