Norbert: eigene IP-Nummer ermitteln

Hallo,

wenn man eine PHP-Seite bei einem Hoster aufruft, steht in $_SERVER['REMOTE_ADDR'] die aufrufende IP-Nummer, also die, welche mir die Telekom bei der Einwahl zugewiesen hat. Leider ist mein Hoster ein unzuverlaessiger Billiganbieter, was mich selbst nicht stoert, aber deshalb schlaegt die Abfrage der IP-Adresse oft fehl.

Meine Frage:
Gibt es einen verlaesslichen Service, bei dem ich meine IP-Adresse abfragen kann?

Es geht darum dies ueber die 'REMOTE_ADDR' zu realisieren, um die Verbindng zum Netz zu ueberpruefen, was natuerlich Unfug ist, wenn der Host des oefteren vom Netz geht.

Gruss und Dank
Norbert

  1. Moin Norbert,

    Es geht darum dies ueber die 'REMOTE_ADDR' zu realisieren, um die Verbindng zum Netz zu ueberpruefen, was natuerlich Unfug ist, wenn der Host des oefteren vom Netz geht.

    Möchtest Du diese IP mit einem Programm auswerten?
    Deine aktuelle IP erfährst Du auch in der DOS Box mit:
    ipconfig /all

    regds
    Mike©

    --
    Freunde kommen und gehen. Feinde sammeln sich an.
    1. Hallo,

      Deine aktuelle IP erfährst Du auch in der DOS Box mit:
      ipconfig /all

      nein, nicht wirklich. Damit erfährst du nur die interne IP deines Rechners im eigenen Netz. Deine öffentliche IP-Adresse, mit der du auch im Internet gesehen wirst, wird nicht vom einzelnen PC verwaltet, sondern vom Router.

      Dessen aktuelle IP-Adresse erfährst du aber in der Regel über sein Konfigurations- und Statusmenü.

      So long,
       Martin

      --
      Ich bin im Prüfungsstress, ich darf Scheiße sagen.
        (Hopsel)
      1. Moin Martin,

        nein, nicht wirklich. Damit erfährst du nur die interne IP deines Rechners im eigenen Netz. Deine öffentliche IP-Adresse, mit der du auch im Internet gesehen wirst, wird nicht vom einzelnen PC verwaltet, sondern vom Router.

        Dessen aktuelle IP-Adresse erfährst du aber in der Regel über sein Konfigurations- und Statusmenü.

        Yep, sorry. Du hast Recht.

        regds
        Mike©

        --
        Freunde kommen und gehen. Feinde sammeln sich an.
      2. Hallo Martin,

        erfahren kann ich die IP-Nummer auch ueber den Router.
        Auf http://192.168.2.1//top_status.stm stehen neben der IP auch DSL-Downstream und DSL-Upstream.
        Aber ich will sie ja "von aussen" bekommen, damit ich weiss, dass die DSL-Leitung ok ist.

        Gruss und Dank
        Norbert

  2. Hallo,

    http://www.wieistmeineip.de

    Gruß, Don P

    1. Hallo Don,

      http://www.wieistmeineip.de

      super,
      nur wie kann ich die mit PHP auslesen ... :-((

      Gruss und Dank
      Norbert

      1. Moin Norbert,

        super,
        nur wie kann ich die mit PHP auslesen ... :-((

        Verstehe ich jetzt nicht. Wo hostest Du denn Deine PHP Scripte?
        Etwa bei dem besagten Billiganbieter?
        In diesem Fall würde das Ganze ja keinen Sinn machen.

        Hilf mir mal auf die Sprünge.

        regds
        Mike©

        --
        Freunde kommen und gehen. Feinde sammeln sich an.
        1. Hai Mike©,

          Hilf mir mal auf die Sprünge.

          ok,
          gelegentlich setzt hier im Wald die Verbindung teilweise aus. Was eigentlich immer geht, ist der DNS. Deshalb suche ich verlaessliche Methoden um die Verbindung zu testen. Als erstes viel mir dazu dies ein. Dabei msste ich jedoch feststellen, dass die Verfuegbarkeit von uris.de nicht wirklich gut ist. Aber man zahlt bei diesem Provider im Jahr das, was man bei 1&1 im Monat abdruecke muss. Also suche ich Ausweichloesungen. Das Testscript laeuft natuerlich hier local alle 2 min als Cli-PHP-Script unter "geplante Tasks".

          Reicht das erst mal, sonst frag einfach ...

          Gruss und Dank
          Norbert

          1. Moin Norbert,

            gelegentlich setzt hier im Wald die Verbindung teilweise aus. Was eigentlich immer geht, ist der DNS. Deshalb suche ich verlaessliche Methoden um die Verbindung zu testen. Als erstes viel mir dazu dies ein. Dabei msste ich jedoch feststellen, dass die Verfuegbarkeit von uris.de nicht wirklich gut ist. Aber man zahlt bei diesem Provider im Jahr das, was man bei 1&1 im Monat abdruecke muss. Also suche ich Ausweichloesungen. Das Testscript laeuft natuerlich hier local alle 2 min als Cli-PHP-Script unter "geplante Tasks".

            Aha, lokaler WebServer. Prima.

            Ich habe das ganze wie folgt gelöst.

            Bei DNIP kostenlos registrieren.
            Eines der Update Tools herunterladen und laufen lassen.

            Dann mit einem Script die Verfügbarkeit testen.

            Nehmen wir an, das Du dir bei DNIP folgende URL registriert hast:
            norbert100.dnip.net
            dann könnte das Kontroll Script (auf Deinem localhost) so aussehen:

            [code lang=php]
            <?PHP

            $host='norbert100.dnip.net';
            $port=80;

            $IP=gethostbyname($host);

            $starttime=microtime();
            $Timestamp_Start=time();
            $socket=fsockopen($host,$port);
            $endtime=microtime();
            $Timestamp_End=time();

            $Current_Date=date('d/m/Y');
            $Current_Time=date('H:i');

            if ( $socket!=false )
               {
             fclose($socket);
             list($msec,$sec)=explode(" ",$starttime);
             $starttime=(float)$msec+(float)$sec;
             list($msec,$sec)=explode(" ",$endtime);
             $endtime=(float)$msec+(float)$sec;
             $pingtime=($endtime-$starttime)*1000;
             $Seconds=$Timestamp_End-$Timestamp_Start;
               }
            else
               {
             $pingtime=-1;
               }

            if ( $pingtime != -1 )
               $Ping_String=sprintf("%s | %s | %s | %d sec | %0.2f ms |\r\n",$Current_Date,$Current_Time,$IP,$Seconds,$pingtime );
            else
               $Ping_String=sprintf("%s | %s | No connect\r\n",$Current_Date,$Current_Time);

            $pointer=fopen("c:/daten/WebServer_Logs/ping_log.txt","a");

            if ( $pointer)
               {
             fwrite($pointer,$Ping_String);
             fclose($pointer);
               }
            ?>
            [/code

            regds
            Mike©

            --
            Freunde kommen und gehen. Feinde sammeln sich an.
            1. Moin Mike©,

              also ich treibe da etwas mehr Aufwand:
              1. den DNS-Cache leeren
              2. die IP-Nummer von Google ermitteln
                 Die Wahrscheinlichkeit, dass Google tot ist, ist gering (IMHO)
              3. meinen Router auslesen, IP, Up- und Downstream
              4. irgendwoher die eigene IP holen, jetzt von hier
                 bleibt zu hoffen, dass der Host verlaesslich ist

              Die IP parse ich aus dem HTML-Code wie folgt:

              <?php  
              $line = file_get_contents('http://www.wieistmeineip.de');  
              $AA = explode('<h1 class="ip">', $line);  
              if (isset($AA[1])) {  
                  $line = $AA[1];  
                  $AA = explode('</h1>', $line);  
                  $IPnr = $AA[0];  
              }  
              ?>
              

              Wenn man die Datei via file_get_contents() holt, sendet der Server
              einen gringfuegig anderen Quellcode, als wenn man mit dem Browser
              vorbei schaut.
              War also gar nicht so schlimm ... :)

              Gruss und Dank
              Norbert