Туннель Java и прокси TCP

Мне нужно туннелировать через 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;
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
1 587
1

Ответы 1

Вам нужен ПРЯМОЙ прокси для Localhost на порту, который вы настроили для туннелирования к месту назначения. Например, если ваш туннель настроен на переход от 4000 (локальный) к 3389 (на хосте, к которому вы действительно хотите подключиться), то местом назначения будет Localhost, 1000, тип прокси-сервера Direct. См. SSH-туннелирование через JSch

Можно ли это сделать без SSH? У вас есть простой образец, который вы могли бы предоставить?

user1158745 24.05.2018 17:19

Не знаю, не пробовал. Я считаю, что то, что вы делаете, - это туннелирование, а то, что вы пробовали, было прокси, а это разные вещи. Если это туннель, то ваше приложение блаженно не знает, как данные попадают с одной машины на другую, ему просто нужно указать, куда подключиться.

Duston 24.05.2018 18:35

Возможно, мое слово о туннелировании было использовано неправильно. Почему java не поддерживает tcp-прокси, почему только socks и http? Мне нужно подключиться к прокси-серверу TCP. Думаю, это моя проблема, но Java не позволяет использовать этот метод. Любые идеи?

user1158745 20.06.2018 17:13

Другие вопросы по теме