Hallo, Liste!
Eine große Frage: wie kann ich (per Programm) das Subnet einer IP rechnen? Beispiel: ich schicke meinem Server eine Anfrage von der IP 1.2.3.4, diese ist Teil des Netzes 1.2.3.0/24. Wie kann ich "1.2.3.0/24" bekommen, von der IP "1.2.3.4"?
Danke für eure Tipps! Luca Bertoncello (lucabert@lucabert.de)
Am Montag 10 Dezember 2007 15:08:25 schrieb Luca Bertoncello:
Wie kann ich "1.2.3.0/24" bekommen, von der IP "1.2.3.4"?
Siehe Anhang. Aber das nur als didaktische Übung. Denn spätestens mit IPv6 möchte man das natürlich nicht mehr von Hand machen. Bereits bei IPv4 sind ein paar Dinge zu beachten, die das Skript nicht mit abdeckt. Dafür gibt es bereits fertige Bibliotheken.
$ apt-cache search cidr calculation libnet-subnets-perl - A Perl library for subnet calculations
Ich habe das deshalb nur mal der Gerechtigkeit halber in Python gehackt :)
Josef
Luca Bertoncello lucabert@lucabert.de (Mo 10 Dez 2007 15:08:25 CET):
Hallo, Liste!
Eine große Frage: wie kann ich (per Programm) das Subnet einer IP rechnen? Beispiel: ich schicke meinem Server eine Anfrage von der IP 1.2.3.4, diese ist Teil des Netzes 1.2.3.0/24. Wie kann ich "1.2.3.0/24" bekommen, von der IP "1.2.3.4"?
Gar nicht. Weil 1.2.3.4 ja auch 1.2.3.4/8 sein kann.
Wenn Du die A/B/C/D-Netze meinst, dann helfen die ersten paar Bits des ersten Bytes, bzw. die daraus entstehenden Bereiche. Jedes halbwegs gescheites Netzwerk-Buch (oder gar Wikipedia) sollte dazu Auskünfte geben.)
Am Montag, 10. Dezember 2007 schrieb Heiko Schlittermann:
Luca Bertoncello lucabert@lucabert.de (Mo 10 Dez 2007 15:08:25
CET):
Hallo, Liste!
Eine große Frage: wie kann ich (per Programm) das Subnet einer IP rechnen? Beispiel: ich schicke meinem Server eine Anfrage von der IP 1.2.3.4, diese ist Teil des Netzes 1.2.3.0/24. Wie kann ich "1.2.3.0/24" bekommen, von der IP "1.2.3.4"?
Gar nicht. Weil 1.2.3.4 ja auch 1.2.3.4/8 sein kann.
dto: http://de.wikipedia.org/wiki/Netzklasse#Veraltete_Lehre
"Es bleibt festzustellen, dass Netzklassen keinerlei praxisrelevante Bedeutung mehr haben, da die Größe eines Netzes nicht mehr nur aus der IP-Adresse abzuleiten ist, sondern zwingend die Angabe einer Netzmaske erforderlich ist."
lug-dd@mailman.schlittermann.de