Установление TCP-соединения через ограничительный исходящий брандмауэр

Я использую Java для создания клиент-серверного приложения, которое обменивается данными с помощью TCP. Сеть, в которой работает клиент, имеет брандмауэр исходящего трафика, который не позволяет клиенту подключаться к серверу. Есть ли способ / обходной путь для создания TCP-соединения через этот брандмауэр?

Я попытался использовать общие открытые порты, такие как порт 80, 443 и 113, однако брандмауэр, кажется, разрывает соединение после его создания (возможно, путем обнаружения непротокольных пакетов).

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

Любая помощь будет принята с благодарностью.


person Jephir    schedule 12.01.2010    source источник
comment
Брандмауэр был бы не лучшим, если бы был способ обойти его ...   -  person skaffman    schedule 13.01.2010


Ответы (2)


Вы можете попробовать общаться с помощью http или https. Путем туннелирования вашего протокола через них возможно, что брандмауэр пропустит ваш трафик.

person villintehaspam    schedule 12.01.2010
comment
Пытался установить соединение через HTTP (80) и HTTPS (443), хотя брандмауэру удается заблокировать / разорвать соединение даже через эти порты. - person Jephir; 13.01.2010
comment
Вы пробовали сделать настоящий HTTP-запрос? Как вы сказали, брандмауэр может разорвать соединение на основе проверки пакетов - вы указали, что смогли установить соединение, но оно затем разрывается, как только вы начинаете его использовать (если я правильно понял). Таким образом, вам нужно будет отправлять фактические HTTP-запросы и отвечать HTTP-ответами. Википедия показывает, как это сделать: en.wikipedia.org/wiki/Hypertext_Transfer_Protocol. - person villintehaspam; 13.01.2010

Предполагая, что у пользователей есть доступ к Интернету, а вы не можете использовать telnet через порт 80/443, это, вероятно, означает, что пользователи подключаются через прокси-сервер HTTP, настроенный в браузере. Вы можете попробовать изучить различные методы туннелирования через HTTP-прокси ... Хотя это будет очень нестабильный взлом.

Я рекомендую связаться с системным администратором, объяснить ваши потребности и посмотреть, что он предлагает.

person Gili Nachum    schedule 24.10.2010