Kategorien

Suchen


Aktuelle Artikel

Archiv


« | Startseite | »

mySQL: IP Adresse in Integer umrechnen (und zurück)

Jockel | 17.07.2010

Netzwerkadressen werden üblicherweise als String (vier punktgetrennte Oktette) übergeben.
Um diesen Text in eine Zahl (integer) umzurechnen, nutzen Sie die Funktion “inet_aton()”.
Natürlich kann diese Funktion auch nur Teil-IP-Adresse umwandeln.
Das folgende Beispiel zeigt die Anwendung:

SELECT INET_ATON('192.168.0.200');

Ergebnis:

3232235720

Die Zahl berechnet sich aus folgender Formel:

192×2563 + 168×2562 + 0×256 + 200 = 3232235720

Um diese Zahl wieder in eine gültige IP Adresse zu konvertieren, zeigen wir im folgenden Beispiel
die Anwendung des mySQL Befehls “inet_ntoa()”:

SELECT INET_NTOA(3232235720);

Ergebnis:

192.168.0.200

Kategorie: Allgemeines, MySQL | 2 Kommentare »

2 Antworten auf “mySQL: IP Adresse in Integer umrechnen (und zurück)”

  1. akyl meint:
    11.08.2010 um 16:06

    Wie wird die Zahl jetzt genau berechnet?
    Ist das x eine Multiplikatikon oder was ist das und der Rest wird addiert oder?

    Danke!

    lG

  2. Jockel meint:
    12.08.2010 um 17:48

    Die Berechung erfolgt durch eine Bitverschiebung.
    Das folgende Beispiel soll einen kurzen Einblick geben:

    $ip = $one*pow(256,3) + $two*pow(256,2) + $three*pow(256,1) + $four*pow(256,0);

Kommentare