Eine IP-Adresse besteht aus vier Dezimalzahlen, die jeweils von 0 bis 255 reichen können. Jede dieser Zahlen entspricht einer zweistelligen Hexadezimal- oder Acht-Bit-Binärzahl und wird daher als Oktett bezeichnet. Diese vier kurzen Zahlen müssen beim Schreiben von Skripten manchmal in eine lange übersetzt werden.
Anleitung
Schritt 1
Multiplizieren Sie das erste Oktett der IP-Adresse mit 16777216 oder entsprechend 256 hoch drei. Wenn wir zum Beispiel von der IP-Adresse 192.168.1.1 sprechen (sie wird oft in kleinen lokalen Netzwerken gefunden), dann erhalten Sie nach der Multiplikation der Zahl 192 mit 16777216 3221225472.
Schritt 2
Multiplizieren Sie die zweite Zahl mit 65536 - das ist der Betrag, den Sie erhalten, wenn Sie 256 in die zweite Potenz erhöhen. In der Adresse 192.168.1.1 müssen Sie beispielsweise 168 mit 65536 multiplizieren und erhalten 11010048.
Schritt 3
Multiplizieren Sie das dritte Oktett mit 256 mit der ersten Potenz – also mit der Zahl 256 selbst. Wenn Sie die IP-Adresse 192.168.1.1 in die Langform umwandeln, ist das Ergebnis dieser Multiplikation 256 * 1 = 256.
Schritt 4
Lassen Sie die vierte Zahl unverändert, was einer Multiplikation mit eins entspricht. Dies liegt daran, dass Sie 1 erhalten, wenn Sie die Zahl 256 (oder eine andere Zahl) mit Null potenzieren. In der IP-Adresse 192.168.1.1 ist das Ergebnis der Multiplikation 1 * 1 = 1.
Schritt 5
Addiere alle vier Multiplikationsergebnisse zusammen. Für das hier betrachtete Beispiel sieht der Betrag so aus: 3232235777.
Schritt 6
Verwenden Sie beim Programmieren in PHP die vorgefertigte Funktion ip2long, um eine IP-Adresse in eine Langform zu übersetzen. Eine Funktion mit ähnlichem Zweck kann zusammengestellt und in ein Programm oder ein separates Modul in einer anderen Programmiersprache eingefügt werden.
Schritt 7
Die Aufgabe, eine IP-Adresse von einer langen Form wieder in eine kurze zu übersetzen, kommt viel seltener vor. Teilen Sie dazu die lange Adresse durch 16777216, und der gesamte Teil des Divisionsergebnisses wird zum ersten Oktett. Teilen Sie den Rest (nicht mit dem Bruchteil verwechseln) durch 65536, um das zweite Oktett zu erhalten, und so weiter. Berechnen Sie den Modul auf technischen Rechnern wie folgt: [C] erste Zahl [MOD] zweite Zahl [=]. Die einfachsten Taschenrechner haben diese Funktion nicht.
Schritt 8
Verwenden Sie beim Schreiben einer Funktion zum Durchführen einer Rückwärtsübersetzung in einer bestimmten Programmiersprache Funktionen zur Ganzzahldivision und zum Berechnen des Rests der Division. In Pascal heißen sie beispielsweise div bzw. mod. Ein Fragment des Programms zur Durchführung einer solchen Übersetzung kann wie folgt aussehen:
Oktett [1]: = Longip div 16777216;
nextnumber: = longip mod 16777216;
Oktett [2]: = nächste Nummer div 65536;
nächste Nummer: = nächste Nummer mod 65536;
Oktett [3]: = nextnumber div 256;
Oktett [4]: = nächste Nummer mod 256;