public static bool CheckIPFilter(IPAddress address, IPComparisonReasons reason) { var ipString = address.ToString(); var ret = true; if (ipString.StartsWith("fe")) { ret = false; } else if (ipString.StartsWith("169.254")) { ret = false; } else if (ipString.StartsWith("::")) { ret = false; } if (ret && reason == IPComparisonReasons.FOR_PROXY_OUTGOING) { if (ipString.StartsWith("127")) { ret = false; } else if (ipString.StartsWith("fc") || ipString.StartsWith("fd") || ipString.StartsWith("fe")) { ret = false; } else if (ipString.Equals("0.0.0.0")) { ret = false; } } return(ret); }
private static bool CheckIPFilter(UnicastIPAddressInformation ipAddressInformation, IPComparisonReasons reason) { return(CheckIPFilter(ipAddressInformation.Address, reason)); }