JAVA中如何通过与防火墙交互来封锁IP?

JAVA中如何通过与防火墙交互来封锁IP?

我已经用 JAVA 构建了一个入侵检测系统。我有一个显示黑名单 IP 的 Web 界面。IP 分为 Web 攻击、SIP 攻击、SSH 攻击、探测和恶意软件。现在我需要阻止属于这些类别的 IP。有没有办法在 Java 中通过与防火墙交互来实现这一点?所有 wincap lib 或包装器在内联模式下都不起作用,有什么办法吗?

答案1

如果它是 Windows 防火墙,您可以使用 java 向其发送 powershell 防火墙配置命令。

示例:允许内部和外部的 ICMP:

Import-Module NetSecurity

New-NetFirewallRule -Name Allow_Ping -DisplayName “Allow Ping”`

  -Description “Packet Internet Groper ICMPv4” `

  -Protocol ICMPv4 -IcmpType 8 -Enabled True -Profile Any -Action Allow 

您将代码保存为 .ps1 并从 java 内部调用它,就像尝试运行任何 .exe 一样。

相关内容