有一个名为“TCP over SSL Tunnel”的应用程序。在他的办公室,他只能通过互联网访问教育网站。他正在使用此应用程序,通过互联网连接到可访问的网站并创建 TCP over SSL Tunnel。这使他能够在连接后访问互联网上的任何网站。我很好奇这个应用程序是如何工作的。我尝试搜索术语 TCP over SSL,但似乎它不是一个常用术语,因此我找不到太多关于它的信息。有人可以解释一下当我们创建 TC 时这个应用程序下面发生了什么吗?
答案1
它使用 TLS 扩展 SNI(服务器名称指示)。此扩展的正常职责(大致)是在 SSL 协商期间向服务器发送您想要访问的网站(因为同一 IP 上可以托管多个网站)。因此网站可以向您发送其证书以进行对称加密密钥交换。网站阻止主要通过此 SNI 指示符完成。
通过网络上的代理服务器和软件,您可以伪造此标头,将您想要浏览的主要网站隐藏在数据的加密部分中,并通过代理浏览网页而不会被阻止。无论您在哪里浏览,您的 IP 数据包看起来都像是在与允许的网站交换数据。
以下是扩展的 wireshark 输出
Extension: server_name (len=24)
Type: server_name (0)
Length: 24
Server Name Indication extension
Server Name list length: 22
Server Name Type: host_name (0)
Server Name length: 19
Server Name: clients5.google.com