Java隧道和tcp代理

时间:2018-05-22 17:44:07

标签: java tcp proxy

我需要通过tcp代理隧道。在Java中,代理类型只是socks,direct或HTTP。因此,在下面的示例中,正在创建一个套接字,然后从socketAddress创建代理对象,类型为socks。 如何指定代理是TCP?

    SocketAddress addr = new InetSocketAddress("socks.example.com", 1080);
    Proxy proxy = new Proxy(Proxy.Type.SOCKS, addr);
    Socket socket = new Socket(proxy);
    InetSocketAddress dest = new InetSocketAddress("server.example.org", 1234);
    try {
        socket.connect(dest);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return isValidated;

1 个答案:

答案 0 :(得分:0)

您希望在设置为隧道到目标的端口上使用DIRECT代理到Localhost。例如,如果您的隧道设置为从4000(本地)到3389(在您确实要连接的主机上),则目标是Localhost,1000,代理类型Direct。见SSH tunneling via JSch