Utilizando criptografía asimétrica. Cuando el servidor al que te conectas utiliza un certificado https, tiene configurada una clave privada que solo ellos conocen. Y te dan una clave pública que todo el mundo puede ver. Solo quien tiene la clave privada puede descifrar el tráfico. En este caso sería elhacker.net cuando me envías un mensaje por https. Si le das al candado a la izquierda de la url puedes ver que mecanismos de cifrado utilizan. Normalmente se utiliza un cifrado asimétrico para cifrar una clave. Y esa clave se usa para cifrar los archivos.
Cuanto tu escribes elhacker.net en el navegador, tu navegador no sabe en que ordenador está ubicado la página. Asique le pregunta a un servidor de nombres de dominios que tiene un documento de texto del tipo: elhacker.net IPDELSERVIDORDEELHACKER.NET
El servidor te da la IP actualizada para ese dominio.
Esta consulta se hace a los servidores DNS que tengas configurados en el router. Por defecto suelen ser los servidores de nombres de dominio de tu proveedor de internet. Puedes cambiarlos por los de Google, Cloudflare o IBM que suelen ser más rápidos.
A parte de esto, las paginas web actuales suelen estar formadas por numerosos archivos distintos que son llamados desde un página.html
Todos ellos en servidores distintos. Es decir, cuando accedes a mi página web por https, puede que yo esté usando una librería de javascript en otro servidor http, una imagen en
http://imagenesGratis.free/mifoto.jpg, un archivo css para el diseño de la web en
http://plantillascssgratuitassuperchulas.org/plantillaDeManoloDotCom.cssetc.
Entonces aunque tengas una conexión segura establecida con un sitio, puede que tu navegador descarge muchas páginas distintas y las una todas para ver lo que al final acabas viendo. Estos archivos van sin cifrado, asique tu ISP al ver que archivos descargas puede saber exactamente en que sitio estás aunque no pueda ver el nombre de dominio o la ip. (que si que puede xD)
Si quieres ser anónimo no uses internet.