【发布时间】:2021-11-10 22:38:08
【问题描述】:
我正在使用 Microsoft.AspNetCore.HttpOverrides.IPNetwork 类来检查一个 ip 地址是否在子网中,但结果不是我所期望的
void Main()
{
var ipnw = new Microsoft.AspNetCore.HttpOverrides.IPNetwork(
IPAddress.Parse("10.10.10.1"), 30);
// expect these to be true
Console.WriteLine(ipnw.Contains(IPAddress.Parse("10.10.10.0")));
Console.WriteLine(ipnw.Contains(IPAddress.Parse("10.10.10.1")));
Console.WriteLine(ipnw.Contains(IPAddress.Parse("10.10.10.2")));
Console.WriteLine(ipnw.Contains(IPAddress.Parse("10.10.10.3")));
// expect these to be false
Console.WriteLine(ipnw.Contains(IPAddress.Parse("10.10.10.4")));
Console.WriteLine(ipnw.Contains(IPAddress.Parse("10.10.10.5")));
Console.WriteLine(ipnw.Contains(IPAddress.Parse("10.10.10.6")));
Console.WriteLine(ipnw.Contains(IPAddress.Parse("10.10.10.7")));
}
我全是假的,我不明白为什么。我在https://tehnoblog.org/ip-tools/ip-address-in-cidr-range/ 找到了一个免费的在线检查网站(可怕的界面),它显示了我的期望......
我做错了什么?
【问题讨论】:
-
先生有进展吗?
-
@TinyWang:不,同样的结果,我不知道我做错了什么,或者只是不明白应该发生什么。
-
我看到你编辑了一个high-vote answer,关于如果在子网中如何判断IP地址,它对你不起作用?
标签: asp.net-core ip-address cidr