【发布时间】:2012-09-17 12:28:59
【问题描述】:
我想检查一个 IP 地址是否在私有 IP 地址范围内。我在 .NET 中没有找到任何方法,也不知道如何自己构建它?
例如CheckIsIpPublic("192.168.0.1", upperIp, lowerIp) //should return false
例如CheckIsIpPublic("78.60.143.29", upperIp, lowerIp) //should return true
var upperIp = new List<IPAddress>
{
IPAddress.Parse("192.168.0.0"),
IPAddress.Parse("10.0.0.0"),
IPAddress.Parse("172.16.0.0"),
IPAddress.Parse("224.0.0.0")
};
var lowerIp = new List<IPAddress>
{
IPAddress.Parse("192.168.255.255"),
IPAddress.Parse("10.255.255.255"),
IPAddress.Parse("172.31.255.255"),
IPAddress.Parse("255.255.255.255")
};
【问题讨论】:
-
@JesseJames 该解决方案在该答案中不起作用,我不知道为什么它被认为是正确的!
-
稍微不相关:您还想检查以 169. 开头的 IP 以获取私有地址。
-
@PhonicUK 169.254.0.0-169.254.255.255 将被添加。谢谢!