-->

Methods of programatically altering ipsec rules wi

2019-08-31 13:29发布

我知道如何执行的IPsec转变的唯一方法是调用的netsh做的修改。 有没有直接使用System.Management和WMI对象的方法? 如果是这样,是什么呢? 我有一个很难找到与MSDN相关的WMI信息。

或者是有一些其他有用的方法,有人在那里使用了?

编辑:我工作在C#,并希望C#示例对于基于.NET System.Management答案。

谢谢!

Answer 1:

1)精确:WMI。

该EnableIPFilterSec WMI类的静态方法可以在所有绑定了IP的网络适配器全局启用IP安全性。 在启用安全性,对任何特定的适配器的安全特性可以用的EnableIPSec WMI类的方法来改变。 MSDN这里前者:

http://msdn.microsoft.com/en-us/library/aa390381%28VS.85%29.aspx

并参阅有关的EnableIPSec及其参数(即允许你声明的端口和协议的列表)信息MSDN的条目:

http://msdn.microsoft.com/en-us/library/aa390382%28VS.85%29.aspx

最后,这是对WMI.NET代码目录,其中有使用System.Management执行WQL查询的代码有用样本的链接。

http://msdn.microsoft.com/en-us/library/ms257338.aspx

注意:

如果您需要周围的混乱广泛地与WQL测试您的ObjectQuery / SelectQuery System.Management对象,像我一样,给WBEMTEST一试。 这是Windows Management Instrumentation测试,并使得编写,测试和磨炼WQL为您的应用程序更好。

2)相关:或在Vista防火墙编程改变以后使用FirewallAPI,INetFwRule接口,和其他任何一个可能需要。

在Vista或更高版本,使用FirewallAPI.dll是一个容易的选择,如果你需要的IPSec功能,但不关心传统PolicyAgent将实施。

我不知道这是在第一种选择,因为我不知道的是,高级防火墙在Vista和更高版本真正融合了IPSec和世界粮食计划署(Windows过滤平台)中的防火墙,并保持传统的IPSec实现通过PolicyAgent将持续。

这意味着使用FirewallAPI.dll可以给IPSec协议的所有功能与防火墙,这正是我想要的状态化智能。 我只是添加黑名单规则(因为黑名单规则的优先级),并通过API在需要时添加到黑名单,世界粮食计划署开始下降的流量。 完成!



Answer 2:

在IIS 7 IP限制,可直接从配置文件操纵,而不与元数据库搞乱。 为了便于维护的配置文件可以用configSource被分割,使IPSecure部分可以保存到它自己的文件。

为文章全文:
http://boseca.blogspot.com/2010/12/programmatically-addremove-ip-security.html



Answer 3:

你不能用WMI做。 WMI仅限于TCP过滤,这意味着阻塞端口。 而已。

如果使用的是以前的Windows版本中,您可以:

一)使用命令行工具,在这种情况下,或者Ipseccmd.exe的或Ipsecpol.exe的(W2K),或netsh的

要么

b)写入策略注册表

我的猜测是,命令行工具做到这一点:他们将值写入注册表。

我已经到了一段时间了,我没有找到一个托管代码的解决方案。 太糟糕了,世界粮食计划署API是不是在以前的Windows版本。



文章来源: Methods of programatically altering ipsec rules with C#?
标签: c# wmi ipsec