c# 查找 172.16 和 172.31 之间的所有私有 IP 地址
c# finding all private IP addresses between 172.16 and 172.31
我正在尝试查找 IP 地址是否在 172.16.0.0 和 172.31.255.255(B 类)IP 范围内。如果是,请将其视为私人地址,然后对其进行处理。但我不能确定我所做的是正确的。我为实现这一目标所做的代码:
// The requested IP
System.Net.IPAddress IP = System.Net.Dns.GetHostAddresses(uri)[0];
// Get the long values of the two IPs in question
long startIP = System.Net.IPAddress.Parse("172.16").Address;
long EndIP = System.Net.IPAddress.Parse("172.31").Address;
if (IP.Address >= startIP && IP.Address <= EndIP)
{
// OK the requested domain is an internal one so lets return this..
return true
}
我没有 172. 域,因此无法真正测试它。所以我希望你能理解我为什么问这个。
谢谢
我认为检查各个字节会更容易:
System.Net.IPAddress ipAddress = System.Net.Dns.GetHostAddresses("www.google.be")[0];
byte[] addressBytes = ipAddress.GetAddressBytes();
if (addressBytes[0] == 127
&& addressBytes[1] >= 16
&& addressBytes[1] <= 31)
{
// found
}
我正在尝试查找 IP 地址是否在 172.16.0.0 和 172.31.255.255(B 类)IP 范围内。如果是,请将其视为私人地址,然后对其进行处理。但我不能确定我所做的是正确的。我为实现这一目标所做的代码:
// The requested IP
System.Net.IPAddress IP = System.Net.Dns.GetHostAddresses(uri)[0];
// Get the long values of the two IPs in question
long startIP = System.Net.IPAddress.Parse("172.16").Address;
long EndIP = System.Net.IPAddress.Parse("172.31").Address;
if (IP.Address >= startIP && IP.Address <= EndIP)
{
// OK the requested domain is an internal one so lets return this..
return true
}
我没有 172. 域,因此无法真正测试它。所以我希望你能理解我为什么问这个。
谢谢
我认为检查各个字节会更容易:
System.Net.IPAddress ipAddress = System.Net.Dns.GetHostAddresses("www.google.be")[0];
byte[] addressBytes = ipAddress.GetAddressBytes();
if (addressBytes[0] == 127
&& addressBytes[1] >= 16
&& addressBytes[1] <= 31)
{
// found
}