So rechnen Sie zwischen IPv4-Adressen und 32-Bit-Ganzzahlen um

Diese Seite wandelt eine IPv4-Adresse in Punktschreibweise in die vorzeichenlose 32-Bit-Zahl um, die ihre vier Oktette bilden, und wieder zurück. Aus 192.168.10.1 wird 3232238081, und 3232238081 ergibt wieder 192.168.10.1.

Beide Richtungen laufen im Browser-Tab, die Adresse wird an keinen Server gesendet. Ein Wert, der keine gültige IPv4-Adresse in Punktschreibweise oder keine ganze Zahl von 0 bis 4294967295 ist, wird mit einer Meldung abgelehnt, statt in ein falsches Ergebnis umgerechnet zu werden.

  1. Geben Sie eine IPv4-Adresse wie 192.168.10.1 oder eine ganze Zahl wie 3232238081 ein. Beispiel laden füllt 192.168.10.1 ein.
  2. Klicken Sie auf IPv4 → Ganzzahl, um die Adresse als Zahl zu lesen, oder auf Ganzzahl → IPv4 für den Rückweg. Die Richtung wird nicht aus der Eingabe erraten, deshalb gibt es zwei Schaltflächen.
  3. Lesen Sie das Ergebnis im zweiten Feld: eine Dezimalzahl oder eine Adresse in Punktschreibweise, ohne Auffüllnullen und ohne Trennzeichen.
  4. Ergebnis kopieren legt den Wert in die Zwischenablage, Leeren macht beide Felder frei.
  5. Wird die Eingabe abgelehnt, nennt der Hinweis über den Schaltflächen den Grund: Oktettanzahl, Oktettbereich, führende Null, Vorzeichen, Dezimalpunkt, Exponent oder ein Wert außerhalb von 0–4294967295.

Was die Umrechnung leistet und was sie ablehnt

Warum die Zahl zur Adresse passt

Eine IPv4-Adresse ist eine 32-Bit-Zahl, geschrieben als vier dezimale Oktette. Der Wert folgt der Netzwerk-Bytereihenfolge, das erste Oktett ist also das höchstwertige Byte: Es wird mit 16.777.216 (256³) multipliziert, das zweite mit 65.536, das dritte mit 256 und das letzte mit 1. So wird aus 192.168.10.1 die Zahl 3232238081, und deshalb liegen die Enden des Bereichs bei 0.0.0.0 = 0 und 255.255.255.255 = 4294967295.

Datenbanken und Netzwerk-APIs speichern Adressen so, weil sich eine einzelne Ganzzahl schneller vergleichen, sortieren und indizieren lässt als eine Zeichenkette: ip2long() von PHP und INET_ATON() von MySQL liefern denselben Wert, den diese Seite anzeigt (geprüft auf dem Server, der sie ausliefert). Die Zahl ist vorzeichenlos; dieselben 32 Bits als vorzeichenbehaftete Ganzzahl gelesen wären ab 128.0.0.0 (2147483648) negativ.

Akzeptierte und abgelehnte Eingaben

Für die Adresse sind genau vier dezimale, durch Punkte getrennte Oktette nötig, jedes von 0 bis 255 und ohne führende Nullen: 192.168.010.1 wird abgelehnt, weil die führende Null das Oktett mehrdeutig macht. Drei Oktette, ein fünftes Oktett, Buchstaben oder ein Leerzeichen im Wert werden ebenfalls abgelehnt; die frühere Form mit fünf Oktetten 192.168.10.1.5 wurde stillschweigend gekürzt.

Für die Zahl sind reine Dezimalziffern nötig, ohne Vorzeichen, Dezimalpunkt und Exponent: -1, 1.5 und 3.232238081e9 werden abgelehnt, ebenso alles über 4294967295. Die Seite rechnet nur IPv4 um: IPv6-Adressen wie ::1, eine Präfixlänge wie /24 sowie hexadezimale oder oktale Schreibweise werden nicht umgerechnet, sondern als ungültige Eingabe gemeldet.

Das Ergebnis weiterverwenden

Die Ausgabe ist bewusst schlicht: eine Dezimalzahl ohne Tausendertrennzeichen oder eine Adresse in Punktschreibweise ohne führende Nullen, direkt geeignet für SQL, Konfigurationsdateien oder Quellcode. Nutzen Sie Ergebnis kopieren statt Text von Hand zu markieren; das Kopieren geschieht im Browser und braucht keine Übertragung.

Da nichts an einen Server geht, funktioniert die Umrechnung nach dem Laden auch ohne Netzwerk, und derselbe Wert lässt sich mit ip2long(), INET_ATON() oder inet_aton() prüfen. Das Ergebnisfeld hält immer nur einen Wert: Jede Umrechnung ersetzt ihn, Leeren macht beide Felder frei.

Zuletzt verwendet: