Kiểm tra rò rỉ WebRTC
Đang chạy bài kiểm tra rò rỉ...
IPv4 (HTTP) Đang kiểm tra...
IPv6 (HTTP) Đang kiểm tra...
ICE candidate đã thu được
Không thu được ICE candidate nào.
Vị trí gần đúng
Đang định vị mạng của bạn…

Điểm đánh dấu chỉ ra tâm gần đúng của khu vực mà nhà mạng bạn phục vụ , không phải nhà, con phố hay thiết bị của bạn. Lệch vài chục ki-lô-mét là chuyện bình thường.

Cách ngăn rò rỉ WebRTC
Chrome / Edge — cài một tiện ích chặn WebRTC (ví dụ "WebRTC Leak Prevent"), hoặc dùng ứng dụng VPN có chặn hẳn lưu lượng WebRTC — Chrome hiện đại không còn công tắc tích hợp cho việc này.
Firefox — mở about:config, tìm media.peerconnection.enabled và đặt thành false để tắt hẳn WebRTC.
Safari — Không thể tắt WebRTC trên toàn cục; hãy tắt quyền truy cập camera/micro theo từng trang trong Safari > Cài đặt > Websites, hoặc dựa vào một VPN chặn WebRTC ở tầng mạng.
Brave — mở bảng Shields và đặt bộ giới hạn mạng WebRTC về chế độ nghiêm ngặt nhất/"Proxied" để ngăn lộ IP nội bộ.
Về bài kiểm tra rò rỉ WebRTC

WebRTC là công nghệ trình duyệt được xây dựng cho cuộc gọi video thời gian thực và truyền tệp ngang hàng. Để kết nối trực tiếp hai máy tính, nó cần khám phá mọi địa chỉ mạng mà mỗi bên có thể được liên lạc tới, nên nó hỏi một máy chủ STUN công cộng rằng "nhìn từ bên ngoài, kết nối này mang địa chỉ IP nào?" rồi thu câu trả lời dưới dạng một ICE candidate. Quá trình trao đổi candidate này bình thường diễn ra vô hình giữa hai bên trong cuộc gọi — nhưng bất kỳ website nào cũng có thể âm thầm kích hoạt nó ở nền, đọc các candidate và bóc địa chỉ của bạn ra.

Điều này trở thành vấn đề riêng tư đặc biệt với người dùng VPN. VPN định tuyến lại lưu lượng HTTP thông thường qua đường hầm của nó, nên website thấy địa chỉ IP của VPN thay vì của bạn. Tuy nhiên WebRTC nói chuyện với máy chủ STUN qua kết nối riêng của nó, và ở một số cấu hình kết nối đó đi vòng hoàn toàn ra ngoài đường hầm VPN — làm lộ IP Internet thật của bạn ngay cả khi thanh địa chỉ cho thấy bạn đang "được bảo vệ". Các trình duyệt hiện đại cũng cố giấu địa chỉ mạng nội bộ bằng cách thay nó bằng một tên mDNS ngẫu nhiên, dùng một lần, kết thúc bằng .local thay vì một IP thô như 192.168.1.5; phép thay thế đó là một cải thiện quyền riêng tư thực sự chứ không phải dấu hiệu hỏng hóc.

Công cụ này chạy đúng quy trình thu thập ICE mà một trang độc hại có thể chạy, dùng hai máy chủ STUN độc lập để tăng độ tin cậy, rồi so sánh mọi candidate công cộng thu được với địa chỉ IP HTTP thật của bạn. Nếu chúng khớp nhau, WebRTC không phơi bày thêm gì ngoài những gì mọi website vốn đã thấy. Nếu chúng khác nhau trong khi bạn tin rằng mình đang dùng VPN, chính chỗ lệch ấy là rò rỉ — và các cách khắc phục phía trên giải thích cách bịt nó cho từng trình duyệt cụ thể.

Bài kiểm tra này chỉ cho thấy những gì chính trình duyệt của bạn phơi bày qua quá trình thu thập ICE của WebRTC; nó không phát hiện được rò rỉ xảy ra ở tầng hệ điều hành hay router.

Kiểm tra rò rỉ WebRTC: VPN của bạn có làm lộ địa chỉ IP thật?

Công cụ kiểm tra rò rỉ WebRTC này thực hiện cơ chế kết nối ngang hàng (peer-to-peer) hệt như các đoạn mã theo dõi người dùng, giúp bạn xác định xem có bất kỳ địa chỉ nào bị thu thập là IP thật mà VPN đáng lẽ phải che giấu hay không. Công cụ mở một kết nối RTCPeerConnection với kênh dữ liệu trống — không dùng camera, không micro, không hiện yêu cầu cấp quyền —, gửi truy vấn đến hai máy chủ STUN công cộng để kiểm tra góc nhìn từ bên ngoài và so sánh trực tiếp với IP gửi yêu cầu HTTPS thông thường của bạn.

Cách đọc danh sách ứng viên ICE hiển thị trong bài kiểm tra

Giao thức WebRTC cần phát hiện mọi đường dẫn mạng mà thiết bị khác có thể liên lạc với bạn, do đó nó tạo ra danh sách các ứng viên ICE (ICE candidates). Trang này hiển thị danh sách thô với loại địa chỉ và giao thức truyền tải tương ứng, sau đó tự động dừng quét sau 5 giây.

Phía trên danh sách là địa chỉ IPv4 và IPv6 tiêu chuẩn nhận diện qua giao thức HTTP — hoàn toàn trùng khớp với kết quả trên trang địa chỉ IP của tôi là gì. Đây là mốc đối chiếu cơ bản; kết luận cuối cùng dựa trên sự sai lệch giữa hai nguồn dữ liệu này.

host, srflx và relay — ý nghĩa các nhãn phân loại

  • Nội bộ (host) — địa chỉ thuộc về card mạng trên máy bạn: một IP mạng LAN như 192.168.1.14 hoặc một tên miền .local ngẫu nhiên.
  • Công cộng (qua STUN) — ứng viên srflx, tức địa chỉ công cộng mà máy chủ STUN nhận diện được khi gói tin đến. Đây là thông số quan trọng nhất khi đánh giá VPN.
  • Chuyển tiếp (TURN) — lưu lượng định tuyến qua máy chủ trung gian; do bài kiểm tra chỉ dùng STUN nên dòng relay rất hiếm khi xuất hiện.

Ý nghĩa của từng kết quả đánh giá

  • Phát hiện rò rỉ — ứng viên công cộng STUN khác với IP HTTP của bạn; khi bật VPN, điều này chứng tỏ gói tin WebRTC đã đi vòng ngoài đường hầm bảo mật.
  • Không rò rỉ — cả hai địa chỉ hoàn toàn trùng khớp.
  • Lộ IP nội bộ — hiển thị trực tiếp địa chỉ LAN riêng thay vì tên mDNS ẩn danh.
  • Được bảo vệ — địa chỉ nội bộ của bạn được che chắn an toàn dưới tên máy chủ .local ngẫu nhiên.
  • Không có IP công cộng / WebRTC bị chặn — không thể kết nối tới STUN hoặc WebRTC đã bị tắt trên trình duyệt.

Vì sao WebRTC lại làm rò rỉ IP mà VPN đang cố che giấu

WebRTC được tạo ra nhằm hỗ trợ gọi video, đàm thoại thoại và truyền tệp tin trực tiếp giữa các trình duyệt. Để kết nối hai thiết bị nằm sau các bộ định tuyến độc lập, giao thức cần vượt qua NAT, đòi hỏi câu trả lời từ bên ngoài: kết nối này thực chất xuất phát từ địa chỉ nào? Máy chủ STUN trả lời câu hỏi đó, và bất kỳ trang web nào cũng có thể kích hoạt quá trình này ngầm qua JavaScript.

Lỗ hổng xuất hiện khi bạn muốn ẩn danh. VPN định tuyến lưu lượng web HTTP thông thường qua đường hầm mã hóa, nhưng WebRTC lại phát các gói tin UDP riêng tới STUN. Khi gặp chế độ phân chia đường hầm (split-tunneling), các gói UDP này đi theo đường truyền mạng mặc định của nhà mạng. Các tiện ích mở rộng VPN trên trình duyệt là ví dụ điển hình: chúng chỉ đóng vai trò proxy cho yêu cầu web mà không gom gói UDP của hệ thống — dẫn đến kết quả trái ngược với một bài kiểm tra VPN qua HTTP.

Tên máy chủ .local ngẫu nhiên không phải là lỗi rò rỉ

Nếu ứng viên host hiển thị một chuỗi như 7b3f9c21-4d0a-48e7.local thay vì 192.168.1.14, hệ thống đang hoạt động hoàn hảo. Đây là cơ chế ẩn danh mDNS: trình duyệt tạo ra một tên DNS multicast dùng một lần cho card mạng và gửi đi thay thế cho IP mạng LAN. Chrome, Edge, Brave, Firefox và Safari đều bật tính năng này theo mặc định — uBlock Origin đã gỡ bỏ tùy chọn WebRTC riêng từ bản v1.38 vì trình duyệt đã tích hợp sẵn. Cần ghi nhớ: cơ chế này chỉ bảo vệ IP nội bộ (không ngăn được rò rỉ IP công cộng qua VPN), và trang web được cấp quyền micro hoặc camera vẫn có thể thấy IP LAN thực tế.

Cách khắc phục rò rỉ WebRTC trên Chrome và Edge

Cả hai trình duyệt này đều không có nút bật/tắt WebRTC đơn giản, và các tùy chọn trong chrome://flags hay edge://flags không còn vô hiệu hóa được WebRTC. Có ba phương án xử lý hiệu quả trong thực tế:

  • Sử dụng phần mềm VPN toàn hệ thống (Full-Tunnel) thay vì tiện ích mở rộng. Khi toàn bộ gói tin UDP đi qua đường hầm mã hóa, STUN chỉ có thể nhận diện địa chỉ máy chủ VPN.
  • Cấu hình chính sách xử lý IP bằng tiện ích mở rộng. Các tiện ích như WebRTC Leak Prevent sẽ chuyển chrome.privacy.network.webRTCIPHandlingPolicy sang default_public_interface_only hoặc disable_non_proxied_udp để chặn việc lộ IP nội bộ.
  • Thiết lập chính sách hệ thống (Registry/GPO). Trên Windows, gán chính sách WebRtcIPHandling cho Chrome hoặc WebRtcLocalhostIpHandling tại SOFTWARE\Policies\Microsoft\Edge thành AllowPublicInterfaceOnly hoặc DisableNonProxiedUdp. Cần khởi động lại trình duyệt; kiểm tra tại edge://policy.

Cách vô hiệu hóa hoàn toàn WebRTC trên Firefox

Firefox là trình duyệt máy tính phổ biến duy nhất giữ lại công tắc tắt triệt để. Nhập about:config vào thanh địa chỉ, chấp nhận cảnh báo, tìm từ khóa media.peerconnection.enabled và nhấp đúp để đổi giá trị thành false. WebRTC sẽ tắt hoàn toàn trên mọi trang web mà không cần khởi động lại, và bài kiểm tra này sẽ báo bị chặn.

Đây là giải pháp triệt để: các cuộc họp trực tuyến trên nền web như Meet, Teams, Discord và Zoom sẽ không thể kết nối. Để duy trì gọi điện, hãy giữ tùy chọn trên là true và đổi media.peerconnection.ice.default_address_only thành true — Firefox sẽ chỉ cung cấp địa chỉ cổng mặc định (tức từ VPN).

Cách ngăn chặn rò rỉ WebRTC trong trình duyệt Brave

Brave cung cấp sẵn bảng điều khiển mà Chrome giấu kín. Truy cập brave://settings/privacy và tìm mục WebRTC IP handling policy. Hai tùy chọn quan trọng khi dùng VPN hoặc proxy:

  • Default — quét toàn bộ giao diện mạng và có thể để lộ IP nội bộ.
  • Default Public and Private Interfaces — sử dụng tuyến mặc định nhưng vẫn hiển thị IP riêng tương ứng.
  • Default Public Interface Only — chỉ dùng tuyến mặc định, giấu kín địa chỉ nội bộ; các cuộc gọi thoại hoạt động tốt. Đây là lựa chọn tối ưu hàng ngày.
  • Disable Non-Proxied UDP — buộc chạy TCP qua proxy trừ khi proxy hỗ trợ UDP. Cài đặt nghiêm ngặt nhất (mặc định trong cửa sổ Tor), nhưng có thể làm gián đoạn cuộc gọi P2P.

Lưu ý đối với Safari, iPhone và thiết bị Android

Trên thiết bị di động và môi trường WebKit, các chỉ dẫn thông thường cho máy tính để bàn thường không còn áp dụng được.

Safari trên hệ điều hành macOS

Safari hiện đại không còn công tắc tắt vĩnh viễn toàn cục. Các mục trong menu Phát triển chỉ có hiệu lực trong phiên làm việc. Do Safari mặc định ẩn IP nội bộ sau mDNS cho đến khi bạn cấp quyền camera/micro, giải pháp hữu hiệu nhất là quản lý quyền trong Safari > Cài đặt > Trang web kết hợp với một ứng dụng VPN toàn hệ thống.

iPhone và iPad (iOS/iPadOS)

Mọi trình duyệt trên iOS đều buộc phải sử dụng nhân WebKit. Chrome hay Firefox trên iPhone đều không có about:config hay tiện ích mở rộng; các trình chặn nội dung không thể lọc WebRTC. Để chặn rò rỉ, hãy cài đặt hồ sơ VPN trong Cài đặt > VPN hỗ trợ gom toàn bộ lưu lượng UDP và kiểm tra lại trên Safari.

Hệ điều hành Android

Chrome trên Android không có cờ WebRTC hay tiện ích mở rộng. Brave trên Android cung cấp đầy đủ danh mục chính sách xử lý IP trong phần cài đặt bảo mật. Firefox cho Android chỉ cho phép vào about:config trên bản Beta hoặc Nightly. Phương án toàn diện là bật VPN luôn bật và Chặn kết nối không có VPN trong cài đặt máy.

Những giới hạn mà bài kiểm tra này không thể phát hiện

Trang web này chỉ ghi nhận những thông tin mà trình duyệt của bạn cung cấp cho đoạn mã thực thi tại đây. Nó không thể phát hiện các lỗi rò rỉ ở tầng hệ điều hành — như kết nối hệ thống đi sai luồng hoặc lộ đường truyền IPv6 mà VPN không hỗ trợ — và không kiểm tra rò rỉ truy vấn DNS. Nếu tường lửa chặn STUN, màn hình sẽ báo „Không có IP công cộng“, nghĩa là truy vấn không có phản hồi. Ngoài ra, IP chỉ là một trong nhiều dấu hiệu định danh: thông số màn hình, phông chữ và tiêu đề liệt kê tại trang Trình duyệt của tôi là gì vẫn có thể nhận diện thiết bị của bạn ngay cả khi đang bật VPN.

Câu hỏi thường gặp (FAQ)

WebRTC có làm lộ IP thật ngay cả khi tôi đang kết nối VPN không?

Có, trường hợp này rất phổ biến. WebRTC tự gửi các gói tin UDP riêng tới máy chủ STUN. Khi dùng VPN dạng tiện ích trình duyệt hoặc chia luồng tunnel, các gói UDP này đi tắt qua mạng nhà mạng thông thường thay vì qua VPN. Máy chủ STUN nhận biết IP thật của bạn và trang web có thể đọc được bằng JavaScript. Ứng dụng VPN toàn hệ thống sẽ khắc phục triệt để lỗi này.

Có cách nào để tắt hẳn WebRTC trên trình duyệt Edge không?

Không thể tắt qua cài đặt thông thường: Edge không có công tắc tắt và tùy chọn cũ trong about:flags đã bị xóa. Trên Windows, bạn có thể thiết lập chính sách WebRtcLocalhostIpHandling thành AllowPublicInterfaceOnly hoặc DisableNonProxiedUdp trong Registry tại SOFTWARE\Policies\Microsoft\Edge. Khởi động lại trình duyệt và kiểm tra tại edge://policy.

Nơi tắt WebRTC và PeerConnection trong Firefox ở đâu?

Trong about:config: tìm kiếm media.peerconnection.enabled và nhấp đúp để đổi thành false. Thao tác này tắt hoàn toàn WebRTC mà không cần khởi động lại, nhưng các ứng dụng gọi video trên web sẽ ngừng hoạt động. Nếu muốn tiếp tục gọi điện, hãy để mục này là true và đổi media.peerconnection.ice.default_address_only thành true.

Làm thế nào để tắt WebRTC vĩnh viễn trên Safari?

Trên các phiên bản Safari mới, bạn không thể tắt vĩnh viễn tính năng này. Tùy chọn thử nghiệm trước đây đã bị loại bỏ và menu Phát triển sẽ bị đặt lại khi đóng trình duyệt. Do Safari mặc định che IP nội bộ bằng mDNS, giải pháp tốt nhất là quản lý quyền trong Safari > Cài đặt > Trang web và dùng ứng dụng VPN toàn hệ thống.

Thiết lập nào tối ưu nhất để chặn rò rỉ WebRTC trên Brave?

Mở brave://settings/privacy và đặt WebRTC IP handling policy thành „Disable Non-Proxied UDP“ khi đang dùng VPN hoặc proxy. WebRTC sẽ truyền TCP qua proxy và STUN không bao giờ thấy IP thật. Tùy chọn „Default Public Interface Only“ là giải pháp cân bằng giúp duy trì cuộc gọi thoại bình thường.

Tôi nên chọn chính sách xử lý IP WebRTC nào?

„Default Public Interface Only“ phù hợp với hầu hết người dùng: giấu toàn bộ card mạng nội bộ, duy trì UDP và giúp các cuộc gọi video hoạt động trơn tru. Chỉ chọn „Disable Non-Proxied UDP“ khi cần ẩn danh tuyệt đối qua proxy/VPN. Các tùy chọn mặc định vẫn để lộ địa chỉ nội bộ của bạn.

Tại sao địa chỉ IP riêng của tôi lại bị lộ công khai qua WebRTC?

Trên các trình duyệt hiện đại, điều này không còn diễn ra công khai. Chrome, Edge, Brave, Firefox và Safari thay thế IP nội bộ bằng tên máy chủ mDNS ngẫu nhiên kết thúc bằng .local. Trang web chỉ thấy tên đó thay vì 192.168.1.14. Nếu kết quả hiện IP nội bộ thô, lớp bảo vệ mDNS đang bị tắt và cần kiểm tra lại.