How to check a input IP fall in a specific IP range - TechNet Articles - United States (English) - TechNet Wiki

An IP address can be represented by different notations. The most common way to represent an IP address is XXX.XXX.XXX.XXX. 

To convert an IP address to integer, break it into four octets. For example, the ip adntent-fragment page no-wrapper" id="fragment-6615">

How to check a input IP fall in a specific IP range

An IP address can be represented bdress 192.168.52.255 can be broken into

First Octet: 192
Second Octet: 168
Third Octet: 52
Fourth Octet: 255
To calculate the decimal address from a dotted string, perform the following calculation.
(first octet * 256³) + (second octet * 256²) + (third octet * 256) + (fourth octet)
= (first octet * 16777216) + (second octet * 65536) + (third octet * 256) + (fourth octet)
= (192 * 16777216) + (168 * 65536) + (52 * 256) + (255)
= 3232249087

public bool IsInRange(string startIp, string endIp, string ipAddress)
       {
           string[] start = startIp.Split('.');
           string[] end = endIp.Split('.');
           string[] ipArray = ipAddress.Split('.');
 
           Int64 resultStart = (Convert.ToInt64(start[0]) * 16777216) + (Convert.ToInt64(start[1]) * 65536) + (Convert.ToInt64(start[2]) * 256) + (Convert.ToInt64(start[3]));
           Int64 resultEnd = (Convert.ToInt64(end[0]) * 16777216) + (Convert.ToInt64(end[1]) * 65536) + (Convert.ToInt64(end[2]) * 256) + (Convert.ToInt64(end[3]));
           Int64 ip = (Convert.ToInt64(ipArray[0]) * 16777216) + (Convert.ToInt64(ipArray[1]) * 65536) + (Convert.ToInt64(ipArray[2]) * 256) + (Convert.ToInt64(ipArray[3]));
 
 
           return ip >= resultStart && ip <= resultEnd; //edited
       }