Проверка брандмауэра Java? Скажите администратору сервера отключить брандмауэр - PullRequest
0 голосов
/ 23 июня 2011

Я создаю приложение, в котором я использую Socket Programming в Java, используя TCP.Когда запущен брандмауэр на стороне сервера, я не могу подключиться к серверу.Так как я могу проверить в Java, что брандмауэр работает, и сказать администратору сервера, что он должен выключить его.

Ответы [ 3 ]

1 голос
/ 23 июня 2011

@ Сурадж прав. Если вы не можете использовать определенный порт TCP, вы не знаете, недоступен ли хост, никто не слушает порт, или брандмауэр блокирует вас. Но есть хитрость, которая помогает в 90% случаев. Обычно конфигурация брандмауэра имеет исключения, такие как HTTP: 80, ICMP и т. Д. Итак, вы можете попробовать подключиться к вашему порту. Если это работает, вы сделали. В противном случае попробуйте установить любое другое соединение с хостом (HTTP, ICMP и т. Д.). Если вам удалось это сделать, брандмауэр заблокировал вас. В противном случае, вероятно, хост недоступен.

1 голос
/ 23 июня 2011

Единственный гарантированный способ сделать это - попытаться установить соединение с портом host :.

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

0 голосов
/ 23 июня 2011

Ваш вопрос неясен, но в целом единственный надежный способ проверить, доступен ли какой-либо ресурс, - это попытаться его использовать. Вы должны справиться с исключениями, которые возникают в любом случае, и использование какого-либо другого теста до реальной попытки не гарантирует использование тех же путей и создает проблему с временным окном. Так что не делай этого. Просто напишите код и поймайте исключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...