화상 통화에 쓰는 WebRTC가 내부 IP나 실제 공인 IP를 드러내는지 봅니다. VPN을 켠 상태에서 검사하면 VPN 밖의 주소가 새는지 알 수 있습니다.
검사할 때 이 STUN 서버에 연결해 바깥에서 보이는 주소를 묻습니다. 판정은 모두 이 브라우저 안에서 하고, 결과를 서버로 보내지 않습니다. 비교할 공인 주소는 이 사이트에서 받습니다(기록하지 않음).
웹사이트가 보는 주소
WebRTC로 보이는 공인 주소
모은 ICE 후보
브라우저별로 줄이는 방법
VPN을 쓴다면: VPN 앱 설정에 WebRTC 보호나 모든 연결을 VPN으로 보내는 항목이 있는지 봅니다. 바꾼 뒤 「다시 검사」로 공인 주소가 VPN 주소와 같아지는지 확인합니다.
Chrome, Edge: 일반 설정 화면에는 WebRTC를 끄는 항목이 없습니다. 내부 IP는 기본으로 .local 이름으로 가립니다. 공인 주소까지 줄이려면 WebRTC 동작을 바꾸는 확장 프로그램을 쓰거나, 회사가 관리하는 기기라면 관리 정책 WebRtcIPHandling으로 정합니다.
Firefox: 주소창에 about:config를 열고 media.peerconnection.enabled를 false로 바꾸면 WebRTC가 꺼집니다. 끄지 않고 줄이려면 media.peerconnection.ice.default_address_only와 media.peerconnection.ice.no_host를 true로 합니다.
Safari: 일반 설정에는 WebRTC 항목이 없습니다. 공인 주소가 다르게 나오면 VPN 앱 쪽 설정으로 줄입니다.
카메라, 마이크 권한: 이 권한을 준 사이트에는 브라우저가 내부 IP를 가리지 않고 보여 주기도 합니다. 쓰지 않는 사이트의 권한은 거둡니다.
WebRTC를 끄면: 브라우저에서 하는 화상 회의, 음성 통화, 일부 파일 전송 사이트가 동작하지 않습니다.
알아 두기
검사 방법: 브라우저 안에서 WebRTC 연결을 하나 만들어 ICE 후보(연결에 쓸 수 있는 주소 목록)를 모읍니다. 검사할 때 공개 STUN 서버 stun.l.google.com:19302에 연결해 바깥에서 보이는 주소를 묻습니다. 다른 사람과 실제로 연결하지는 않습니다.
보내지 않음: 후보와 판정 결과는 어디로도 보내지 않습니다. 비교에 쓰는 「웹사이트가 보는 주소」는 내 IP 확인과 같은 이 사이트의 주소 확인 기능에서 받으며, 사이트는 이 주소를 기록하지 않습니다.
후보 종류: host는 기기 자신의 주소, srflx는 STUN 서버가 본 공인 주소, prflx는 연결 중에 상대가 알려 준 주소, relay는 TURN 중계 서버의 주소입니다. 이 검사는 TURN을 쓰지 않아 relay는 보통 나오지 않습니다.
mDNS 가림: 최신 브라우저는 host 후보에 내부 IP 대신 1ba9…-….local 같은 임의의 이름을 내놓습니다. 웹사이트는 이 이름으로 공유기 안쪽 주소를 알 수 없습니다.
결과 읽기: VPN을 켰는데 「WebRTC로 보이는 공인 주소」가 VPN을 끈 때의 주소와 같다면 실제 주소가 새는 것입니다. VPN을 켜고 끄며 두 번 검사해 비교해 보세요.
시간 제한: STUN 응답이 5초 안에 오지 않으면(UDP 차단, 인터넷 끊김) 그때까지 모은 후보로 판정합니다. 이때는 공인 주소를 비교하지 못합니다.