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

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

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

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

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

2 ответа

Решение

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

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

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

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