|
Posted by Sandman on 02/27/06 22:27
In article <mYIMf.60881$mf2.26167@newsfe6-win.ntli.net>,
Oli Filth <catch@olifilth.co.uk> wrote:
> Sandman said the following on 27/02/2006 19:59:
> > So, I have this list of valid IP scopes, in the form below. How do I
> > match if $_SERVER[REMOTE_ADDR] is covered in any of these scopes?
> >
> > 193.11.120.0/21
> > 193.11.128.0/24
> > 193.11.129.0/24
> > 193.11.130.0/24
> > 193.11.131.0/24
> >
> >
> > First, I don't really know how to interprete the "/24" ending. I am
> > guessing that "193.11.131.0/24" means "193.11.131.X to 193.11.131.Y"
> > or something, but what? When that's translated to something useful,
> > how do I match IP numbers reliably?
>
> The /XX represents the length of the subnet mask in bits, so your hunch
> is pretty much correct.
>
> An IP address matches a given network IP address if:
>
> (Address ^ Mask) == (NetAddress ^ Mask)
>
> where Mask = 11111...0000, the number of ones given by the /XX.
Ok, but how do I calculate it? Bits you say, but how do I translate 24
bits to addresses? For instance, the first line above, what addresses
does it cover?
--
Sandman[.net]
[Back to original message]
|