Choose: Simple Style

Fingerprinting WebRTC

║▌║▌│█║▌║│█│█║║

/Tracking/Fingerprinting/active/webrtc/

  • $ fingerprint@info:~ echo $WEBRTC
  • Name:

    WebRTC

    Original feature purpose:

    WebRTC (Real Time Communication) is a technology which enables Web applications and sites to capture and optionally stream audio and/or video media, as well as to exchange arbitrary data between browsers without requiring an intermediary. The set of standards, which is available via WebRTC, makes it possible to share data and perform teleconferencing peer-to-peer without requiring the user to install plug-ins or any other third-party software. For more details see, e.g., MDN web docs


    FP-Explanation:

    WebRTC IP-Leak: WebRTC allows requests to STUN servers that will return the public and the local IP addresses of the client. This also works with an active VPN connection (both, the local VPN address and your real public IP address can be revealed).

    Media Device IDs: Media Device IDs are unique identifiers of a media device installed or plugged in to your system. Examples for Media Devices are audio (connected microphones, connected speakers) and video (webcam) devices.

    The list of device IDs, i.e. connected and installed media devices, combined with supported or enabled WebRTC features by the client (e.g. screen capturing support) results in a WebRTC fingerprint.


    FP-Type:

    active

    FP-Categories:

    js, js-attrib, html5, unchanged-consistent

    Counter-measures:

    • Disable WebRTC
      Firefox: Disable via about:config (media.peerconnection)
      Chrome: Use Chrome extension (No setting option to deactivate WebRTC)
    • Use Incognito mode (Media Device API)
      Info: Generates new Device IDs

    Publications/References:


  • $ fingerprint@info:~ run webrtc-demo
  • Demo:

    >> Jump to WebRTC Demo <<


This WebRTC IP Detection demo secretly makes requests to STUN servers that can log your request. These requests do not show up in developer consoles and cannot be blocked by browser plugins (AdBlock, Ghostery, etc.) - except WebRTC is disabled.

Info: You can ignore the audio/video request info message displayed by your browser on this site (do not click allow).
          If you already clicked allow, you will see a more detailed fingerprint.

-- WebRTC disabled --




DetectRTC

A JavaScript library used to detect WebRTC features, e.g., the system having speakers, a microphone or webcam, support for screen capturing, or the number of audio/video devices.

WebRTC Fingerprint without device IDs/permissions:

WebRTC Fingerprint without permissions:

WebRTC Fingerprint with permissions (actual device names):