Сокеты сервера Java: найдите открытый порт, НЕ заблокированный брандмауэром - PullRequest
0 голосов
/ 29 февраля 2012

У меня есть проблема, похожая на этот вопрос, который ранее задавался, но моя проблема другая. Мне нужно, чтобы увидеть, если порт открыт и не заблокирован брандмауэром автоматически. Все примеры, которые я нашел, просто находят порты, к которым может быть привязан сервер, но не проверяют, не заблокирован ли порт брандмауэром или нет. Если он заблокирован брандмауэром, клиент, не находящийся в локальной сети, не сможет подключиться к серверу. У кого-нибудь есть какой-нибудь способ сделать это автоматически? Я знаю, что вы можете использовать CMD в Windows для проверки портов вручную, но мне нужно это автоматически. Спасибо и прошу прощения за путаницу.

Ответы [ 2 ]

2 голосов
/ 29 февраля 2012

Это не руководство, а немного за пределами Java, но вы можете запустить NMAP и затем прочитать результаты в java. Это поможет вам понять, какие порты открыты.

1 голос
/ 20 апреля 2012

Если вы хотите использовать Java и Nmap, вы можете использовать nmap4j.sourceforge.net, это Java API для запуска Nmap и разбирает результаты на Java-объекты для вас.

...