gpt4 book ai didi

socks 代理上的 SSL 套接字 - 客户端 <---> 服务器数据是否加密?

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:24 24 4
gpt4 key购买 nike

我正在使用以下 java 代码通过 socks 代理创建一个 ssl 套接字。

SocketAddress addr = new InetSocketAddress(proxy_ip, prox_port);
Proxy proxy = new Proxy(Proxy.Type.SOCKS, addr);
Socket plainSocket = new Socket(proxy);
InetSocketAddress dest = new InetSocketAddress(server_ip, 443);
plainSocket.connect(dest);
socket = (SSLSocket) sslSocketFactory.createSocket(plainSocket, config.getApiHost(), config.getApiPort(), true);
socket.startHandshake();

此代码有效;但我不确定客户端到代理的数据是否加密。在 wireshark 中,我看到只有代理和服务器之间的数据被加密。谁能告诉我,为什么会这样,我们如何加密客户端和代理之间的数据?

最佳答案

SOCKS 本身不会加密任何东西,也不会破坏任何加密。它所做的只是在不做任何更改的情况下在客户端和目标服务器之间转发数据。因此,如果您的数据已经加密,它将保持不变。如果它没有加密,那么它将被打开以供嗅探和修改,因为 SOCKS 不会为传输添加任何保护。

在您的特定情况下,您在 SOCKS 连接中使用 SSL,这意味着应用程序数据将以与没有 SOCKS 代理相同的方式加密:如果您正确使用 SSL(强密码,正确的服务器身份验证),它也将是强使用 SOCKS 代理时 protected 。相反,如果您未能正确执行 SSL(例如未正确验证服务器证书),SOCKS 将无助于保护数据。相反,在这种情况下,SOCKS 服务器的运算符(operator)可能很容易将您不安全的 SSL 连接作为中间人,因为他已经在网络中的正确位置执行此操作。

关于socks 代理上的 SSL 套接字 - 客户端 <---> 服务器数据是否加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47548608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com