Создание TCP-соединения через ограничительный исходящий брандмауэр
Я использую Java для создания клиент-серверного приложения, которое взаимодействует по протоколу TCP. Сеть, в которой работает клиент, имеет исходящий брандмауэр, который не позволяет клиенту подключиться к серверу. Есть ли способ / обходной путь для создания соединения TCP через этот брандмауэр?
Я попытался использовать общие порты, которые открыты, такие как порты 80, 443 и 113, однако брандмауэр, по-видимому, сбрасывает соединение, как только оно установлено (возможно, путем обнаружения непротокольных пакетов).
Альтернативой может быть запуск клиентского программного обеспечения в виде Java-апплета, размещенного на внешнем веб-сайте, однако я не уверен, сможет ли исходящий брандмауэр блокировать это соединение.
Любая помощь будет принята с благодарностью.
2 ответа
Вы можете попробовать общаться, используя http или https. При туннелировании вашего протокола через них, возможно, брандмауэр пропускает ваш трафик.
Предполагая, что у пользователей есть доступ к Интернету, и вы не можете использовать telnet через порт 80/443, это, вероятно, означает, что пользователи подключаются через HTTP-прокси, настроенный в браузере. Вы можете попытаться исследовать различные методы туннелирования через HTTP-прокси... Хотя, это будет очень нестабильный хак.
Я рекомендую связаться с системным администратором, объяснить ваши потребности и посмотреть, что он / она предлагает.