Блокировать все сетевые подключения Windows с помощью Java - PullRequest
2 голосов
/ 09 июля 2011

Я бы хотел запрограммировать небольшое приложение на Java, которое по требованию блокировало бы все сетевые соединения (для всей ОС, а не только для ВМ).Приложение предназначено только для платформы Windows, и я хотел бы использовать специальные API для Windows.

Я посмотрел на API брандмауэра Windows , но не нашел ничего полезного.Кроме того, я не знаю, как вызывать эти API с помощью JNA.

Я прошу у вас несколько указателей или примеров того, как я могу выполнить эти задачи:

  • Использование брандмауэра Windows или других API в Java с использованием JNA или какой-либо другой библиотеки (JNIне является предпочтительным)
  • Заблокировать / разблокировать все соединения

Ответы [ 2 ]

1 голос
/ 09 июля 2011

Вы можете использовать командную строку "netsh", см. http://support.microsoft.com/kb/875357 Вызовите команду netsh с использованием синтаксиса followinf:

Runtime.getRuntime().exec(command)

Но, я думаю, брандмауэр - не то, что вам нужнодело.Вот утилита командной строки для включения / отключения сетевых интерфейсов для Windows: http://www.novell.com/communities/node/2338/network-configuration-command-line-control

0 голосов
/ 10 июля 2011

В Java нет поддержки API для этого. Вы не можете сделать это.

...