添加fw规则抛出异常

时间:2014-08-12 06:57:36

标签: c# windows-firewall

我想添加fw规则来阻止所有入站流量。如果我想将此规则添加到防火墙应用程序catch exception HRESULT: 0xD000000D. 这个应用程序工作2周后,但现在给我上述例外。

我用这个代码添加fw规则:

public static void CreateRule(string address)
    {
    Type typeFwPolicy2 = Type.GetTypeFromProgID("HNetCfg.FwPolicy2", false);
    INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(typeFwPolicy2);

    Type typeFWRule = Type.GetTypeFromProgID("HNetCfg.FwRule", false);
    INetFwRule newRule = (INetFwRule)Activator.CreateInstance(typeFWRule);

    newRule.Name = "Black List";
    newRule.Description = "Block inbound traffic over TCP";
    newRule.Protocol = (int)NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_ANY;
    newRule.RemoteAddresses = address;
    newRule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_IN;
    newRule.Enabled = true;
    newRule.Profiles = fwPolicy2.CurrentProfileTypes;
    newRule.Action = NET_FW_ACTION_.NET_FW_ACTION_BLOCK;

    fwPolicy2.Rules.Add(newRule);
}

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的错误几次,我发现它是由无效的IP地址引起的。黑客有时会发出无效的ip,比如破折号或空文本。在存储之前尝试验证ip。