使用 Java 阻止所有 Windows 网络连接

发布于 2024-11-19 06:38:27 字数 396 浏览 1 评论 0原文

我想用 Java 编写一个小应用程序,它将根据需要阻止所有网络连接(对于整个操作系统,而不仅仅是虚拟机)。该应用程序仅适用于 Windows 平台,我想使用 Windows 特定的 API。

我查看了 Windows 防火墙 API ,但没有发现任何有用的东西。另外,我不知道如何使用 JNA 调用这些 API。

我要求您提供一些关于如何完成这些任务的指示或示例:

  • 在 Java 中使用 Windows 防火墙或其他 API 使用 JNA 或其他一些库(不首选 JNI)
  • 阻止/取消阻止所有连接

I'd like to program a little application in Java which would block all network connections (for whole os, not just VM) on demand. The application is for the Windows platform only and I would like to use Windows specific APIs.

I looked at the Windows Firewall API, but didn't find anything useful. Also, I don't know how to call these APIs using JNA.

I'm asking you for a few pointers or examples for how I could accomplish these tasks:

  • Using Windows Firewall or other APIs in Java using JNA or some other library (JNI is not preferred)
  • Block/Unblock all connections

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浮云落日 2024-11-26 06:38:27

您可以使用“netsh”命令行,请参阅 http://support.microsoft.com/kb/875357< /a>
使用以下语法调用 netsh 命令:

Runtime.getRuntime().exec(command)

但是,我认为在这种情况下您不需要防火墙。以下是用于启用/禁用 Windows 网络接口的命令行实用程序: http://www.novell.com/communities/node/2338/network-configuration-command-line-control

You can use the "netsh" command line, see http://support.microsoft.com/kb/875357
Invoke netsh command using the followinf syntax:

Runtime.getRuntime().exec(command)

But, I think, firewall is not what you need in this case. Here is the command line utility to enable/disable network interfaces for Windows: http://www.novell.com/communities/node/2338/network-configuration-command-line-control

三生一梦 2024-11-26 06:38:27

Java 中没有对此的 API 支持。你做不到。

There is no API support for this in Java. You cannot do it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文