示例#1
0
 public void TestParseIP()
 {
     Assert.IsTrue(IPBanFirewallUtility.TryNormalizeIPAddress("1.1.1.1", out _));
     Assert.IsTrue(IPBanFirewallUtility.TryNormalizeIPAddress("1.1.1.1:8080", out _));
     Assert.IsTrue(IPBanFirewallUtility.TryNormalizeIPAddress("1.1.1.1/24", out _)); // fe80::c872:be03:5c94:4af2%8
     Assert.IsTrue(IPBanFirewallUtility.TryNormalizeIPAddress("fe80::c872:be03:5c94:4af2%8", out _));
     Assert.IsFalse(IPBanFirewallUtility.TryNormalizeIPAddress("a.1.1.1", out _));
 }
示例#2
0
 public void TestIPV6()
 {
     string[] toBlock = new string[] { "fe80::c872:be03:5c94:4af2%8", "192.168.0.20" };
     firewall.BlockIPAddresses(null, toBlock).Sync();
     string[] bannedIP  = firewall.EnumerateBannedIPAddresses().ToArray();
     string[] bannedIP2 = firewall.EnumerateIPAddresses().Select(i => i.Begin.ToString()).ToArray();
     Assert.AreEqual(bannedIP.Length, bannedIP2.Length);
     for (int i = 0; i < bannedIP.Length; i++)
     {
         Assert.AreEqual(bannedIP[i], bannedIP2[i]);
     }
     foreach (string origIP in toBlock)
     {
         if (IPBanFirewallUtility.TryNormalizeIPAddress(origIP, out string normalizedIP))
         {
             Assert.IsTrue(bannedIP.Contains(normalizedIP));
         }
         else
         {
             Assert.Fail("Bad ip: " + origIP);
         }
     }
 }