TL;DR
Yes, URLs viewed during HTTPS transactions from a single IP address can be distinguishable, despite encryption. This is primarily due to Server Name Indication (SNI) and other techniques. While the content of the communication is protected, metadata about *where* you’re connecting can often be observed.
Understanding the Problem
HTTPS encrypts the data exchanged between your browser and a website. However, simply establishing an encrypted connection isn’t enough to hide everything. Several factors allow identification of URLs even with HTTPS:
- Server Name Indication (SNI): This is the biggest issue.
- IP Address Sharing: Many websites share IP addresses (e.g., through CDNs or shared hosting).
- Certificate Transparency Logs: Public logs record certificate information.
Solution Guide
- Understand Server Name Indication (SNI)
- SNI is an extension to the TLS protocol that allows a server to present multiple certificates on the same IP address. Your browser tells the server which website you’re trying to reach before encryption begins.
- Without SNI, a single certificate would be needed for every domain hosted on an IP, which isn’t practical.
- This means your ISP (and anyone monitoring network traffic) can see the hostname you are connecting to, even if they can’t read the content.
- Mitigation 1: Use a VPN
- A Virtual Private Network (VPN) encrypts all your internet traffic and routes it through a server controlled by the VPN provider.
- This hides your real IP address, making it appear as if you are browsing from the VPN server’s location.
- The ISP only sees communication with the VPN server’s IP, not the websites you visit directly.
- Mitigation 2: Use a Proxy
- Similar to a VPN, a proxy acts as an intermediary between your computer and the internet. However, proxies typically don’t encrypt all traffic like a VPN does.
- HTTP proxies won’t help with HTTPS; you need an HTTPS proxy (sometimes called an SSL proxy).
- Mitigation 3: Use DNS over HTTPS (DoH) or DNS over TLS (DoT)
- Standard DNS queries are unencrypted, revealing the websites you visit. DoH and DoT encrypt these queries.
- This prevents your ISP from seeing which domains you’re resolving. However it doesn’t hide SNI.
- DoH Example (Firefox): Go to
about:config, search fornetwork.trr.modeand set it to 2 or 3.
- Mitigation 4: Encrypted Client Hello (ECH) – Emerging Technology
- ECH aims to encrypt the SNI field, hiding the hostname from eavesdroppers.
- It’s still relatively new and not widely supported by all browsers or servers yet. Support is growing in Firefox and Chrome.
- Mitigation 5: Tor Browser
- Tor routes your traffic through a network of relays, providing strong anonymity.
- It hides both your IP address and the websites you visit.
- Tor is slower than VPNs or proxies due to the multiple layers of encryption and routing.
- Checking SNI Visibility (Example using Wireshark)
- Install Wireshark: Wireshark Website
- Start capturing network traffic on your interface.
- Visit an HTTPS website.
- Filter for TLS handshake packets (e.g.,
tls.handshake). - Look for the Server Name field in the packet details – this shows the hostname sent via SNI.

