Autor Beitrag
MarioW
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Do 06.11.08 16:43 
Hallo, im Moment programmiere ich ein Tool, was meine Server-Log Datei auswertet. Zum beispiel weise ich IP's den Providern zu, um zu sehen, woher die User kommen. Jetzt gibt es aber ein Problem. Die Telekom z.B. hat eine große IP-Range, nun ist das aber sehr umständlich jede einzelne IP abzufragen. Jetzt suche ich eine Routine, die das für mich abnimmt. Z.B. habe ich eine ip (Ich nehme mal locale IP'S) 192.168.4.3 und möchte wissen, ob sie in der Range 190.120.0.0 ist, in diesem Beispiel wäre sie es. Kann mir einer helfen ?

Grüße Mario
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 07.11.08 14:07 
IPv4 in Long-Format wandeln, die Grenzn vom IP-BEreich auch und dann nen Integer-Vergleich.

Ansonsten bei CIDR-Angaben:
(IP and (0-(1 shl (32-SubnetBits)))) xor RangeBase == 0

Für Die IP 141.55.192.50 mit CIDR 141.55/16 bekommst Du also: Long/IP 2369241138 Long IP, 2369191936, mit 16 Bits.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.