WebRTC 누출 테스트
VPN이 웹사이트로부터 실제 IP를 숨기고 있어도 브라우저는 WebRTC를 통해 이를 드러낼 수 있습니다. 이 테스트는 내 브라우저가 그런지 확인합니다 — 전부 브라우저 안에서 실행되며, 데이터를 어디로도 보내지 않습니다.
WebRTC 누출이란?
WebRTC는 P2P 오디오·비디오·데이터를 위한 브라우저 기능으로, Google Meet, Discord 등 많은 웹 앱이 사용합니다. P2P 연결을 맺기 위해 브라우저는 STUN 서버를 통해 로컬 주소와 NAT 뒤의 주소를 포함한 자신의 IP 주소들을 알아냅니다. 웹사이트는 브라우저가 이 탐색을 조용히 실행하게 한 뒤 JavaScript로 결과 IP를 읽을 수 있습니다 — VPN을 완전히 우회해서요.
테스트 작동 방식
브라우저가 가짜 RTCPeerConnection을 만들고 createOffer를 호출한 뒤 생성된 ICE 후보를 읽습니다. ICE 후보에는 브라우저가 찾을 수 있는 모든 IP가 들어 있습니다 — VPN이 다른 모든 트래픽을 터널링하고 있어도 실제 IP까지 포함해서요. 테스트는 로컬에서 실행되며, 우리 서버로는 아무것도 전송되지 않습니다.
WebRTC 누출 해결법
세 가지 방법: (1) WebRTC 누출을 능동적으로 차단하는 VPN을 사용하세요(Doppler의 iOS·Android 앱은 터널 밖 WebRTC를 비활성화합니다). (2) WebRTC를 비활성화하는 브라우저 확장 프로그램을 설치하세요(uBlock Origin에 해당 옵션이 있습니다). (3) Firefox에서는 about:config의 media.peerconnection.enabled를 false로 설정하세요. WebRTC를 끄면 브라우저 내 영상 통화가 작동하지 않으니 네이티브 앱을 대신 사용하세요.