public static void Main()
Console.WriteLine(IsIPInRange("192.168.147.17", "192.168.147.0", "192.168.147.255"));
public static bool IsIPInRange(string ip, string ipStart, string ipEnd)
var pIP = IPAddress.Parse(ip);
var pIPStart = IPAddress.Parse(ipStart);
var pIPEnd = IPAddress.Parse(ipEnd);
var bIP = pIP.GetAddressBytes().Reverse().ToArray();
var bIPStart = pIPStart.GetAddressBytes().Reverse().ToArray();
var bIPEnd = pIPEnd.GetAddressBytes().Reverse().ToArray();
var uIP = BitConverter.ToUInt32(bIP, 0);
var uIPStart = BitConverter.ToUInt32(bIPStart, 0);
var uIPEnd = BitConverter.ToUInt32(bIPEnd, 0);
return uIP >= uIPStart && uIP <= uIPEnd;