Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 27

Thema: Externe IP-Adresse auslesen

  1. #1
    IPPF-Fan
    Registriert seit
    16.05.2005
    Beiträge
    169

    Externe IP-Adresse auslesen

    Hallo, *!

    Nachdem mich heute die DynDNS-Registrierung geleimt hat, möchte ich gerne regelmäßig meine externe IP-Adresse auslesen und mit dem DynDNS-Eintrag vergleichen.

    Leider erzählt mir die Box mit ifconfig aber nur, auf welcher Adresse sie das Modem anspricht (nämlich 192.168.179.1). Die externe IP-Adresse finde ich nirgends.

    Klar steht sie im Web-Interface. Da kann ich sie aber mit wget auch nicht auslesen...

    Gibt es hier jemanden, der einen Tip für mich hat?

    Herzlichen Dank schonmal!

    HSS

  2. #2
    Moderator Avatar von wichard
    Registriert seit
    16.06.2005
    Ort
    Aachen
    Beiträge
    6.935
    Möchtest Du das von Hand machen, oder scriptgesteuert? Wenn Du PHP-fähigen Webspace zur Verfügung hast, kannst Du die aktuelle externe IP beim Aufruf der Seite aus der Variablen $_SERVER['REMOTE_ADDR'] auslesen. Wenn Du dann die aktuelle Einstellung beim DynDNS auch noch irgendwie in das PHP-Script bekommst, kannst Du die beiden IPs direkt vergleichen und eine entsprechende Meldung ausgeben lassen.

    HTH,
    WIchard
    VoIP-Hardware: 7170, 29.04.49-9710 7270, 54.04.56-10927 FBF 7390, 84.05.04freetz-devel-7298M, NETCAPI, Siemens Gigaset S675IP (Beta-Test)
    VoIP-Dienste: Sipgate (01801, 0241, 05252) | GMX (0241) | dus.net starter | Asterisk 1.4.11 auf vServer
    ENUM: Alle Nummern bei e164.org eingetragen | Festnetznummer zusätzlich bei e164.arpa eingetragen
    Anbindung: T-DSL 6.000 (RAM) "Call&Surf Comfort (5)"
    Telefone: 1 alte Gigaset-Basis (analog) 1 Gigaset micro, 1 Gigaset S675IP + 2 S67H (Beta-Test), 1 Gigaset DX800A, 1 Cisco 7960

  3. #3
    IPPF-Fan
    Registriert seit
    16.05.2005
    Beiträge
    169
    Ich hatte eher vor, ein script per cronjob laufen zu lassen.

    Und: Nur mal für mich als PHP-Laien: Wenn DynDNS meinen Eintrag ignoriert, also ins Nirvana zeigt, wie soll ich denn meinen Browser auf den richtigen Server lenken, so dass ich mir REMOTE_ADDR anzeigen lassen kann?

    Danke für weiter Hilfen!

    HSS
    Router: 2x Fritz!Box 7390, 2x Fritz!Box 7270, Fritz!Box 7170 , Fritz!Box 7050 , Fritz!Box SL WLAN, alle mit Freetz
    Provider: 1&1, 1.147 kBit/s up, 14.249 kBit/s down (Augenblickswerte)
    Features: LCR, dropbear (ssh), OpenVPN, busybox, dnsmasq
    VoIP-Provider: 1&1

  4. #4
    Moderator Avatar von wichard
    Registriert seit
    16.06.2005
    Ort
    Aachen
    Beiträge
    6.935
    Du mußt das PHP-Script schon auf einem externen Server laufen lassen und nicht auf einem Rechner hinter der Box - sonst bekommst Du sowieso nur die interne IP...
    Ansonsten kannst Du auch externe Services wie http://www.AllesEDV.at/ip.asp benutzen, um an Deine IP zu kommen.
    Ob Du von einem Rechner hinter der FBF direkt aus der Box die aktuelle externe IP ablesen kannst, kann ich Dir leider nicht sagen, da ich gerade nicht an meine Box drankomme - ich sollte mal die Fernwartung einbauen...
    VoIP-Hardware: 7170, 29.04.49-9710 7270, 54.04.56-10927 FBF 7390, 84.05.04freetz-devel-7298M, NETCAPI, Siemens Gigaset S675IP (Beta-Test)
    VoIP-Dienste: Sipgate (01801, 0241, 05252) | GMX (0241) | dus.net starter | Asterisk 1.4.11 auf vServer
    ENUM: Alle Nummern bei e164.org eingetragen | Festnetznummer zusätzlich bei e164.arpa eingetragen
    Anbindung: T-DSL 6.000 (RAM) "Call&Surf Comfort (5)"
    Telefone: 1 alte Gigaset-Basis (analog) 1 Gigaset micro, 1 Gigaset S675IP + 2 S67H (Beta-Test), 1 Gigaset DX800A, 1 Cisco 7960

  5. #5
    IPPF-Tausend-VIP Avatar von RB
    Registriert seit
    22.06.2004
    Ort
    40883 Ratingen
    Beiträge
    1.311
    Moin!

    Hab für meine eigenen Belange das Minimal-Skript[php:1:ef6bd6dd2f]<?php
    print $_SERVER['REMOTE_ADDR'];
    ?>[/php:1:ef6bd6dd2f]
    auf einen meiner Experimentier-vServer gestellt. Der Link ist http://fo-pa.de/IP.php. Das Ergebnis ist die rein numerische IP-Adresse. Die sollte per wget sehr schön auswertbar sein...

    Steht natürlich zur freien Verfügung
    </Ralf>
    Das Licht am Ende des Tunnels koennte auch ein entgegenkommender Zug sein...

    Bei uns gibt es auch einen TEAMSPEAK-Server! Hier sind die Zugangsdaten!

    Router: Bintec X1200 II - FW 7.1.12p2
    VoIP-Hardware: Cisco 7960 - FW 7.4
    VoIP-Software: SIPPS | X-Pro | PURtel-Client | Skype
    VoIP-Dienste: Sipgate (02102+01801) | GMX | Nikotel | PURtel | blueSIP| pbx-network | sipsnip | FWD | Skype
    Anbindung: Kabel (ish) 2048 down / 512 up

  6. #6
    IPPF-Fan
    Registriert seit
    16.05.2005
    Beiträge
    169
    Danke, das ist sehr nett!

    Lieber wäre es mir allerdings, wenn ich irgendwie "von innen" die externe IP-Adresse auslesen könnte.

    Irgendwelche Ideen?

    Danke schonmal!

    HSS
    Router: 2x Fritz!Box 7390, 2x Fritz!Box 7270, Fritz!Box 7170 , Fritz!Box 7050 , Fritz!Box SL WLAN, alle mit Freetz
    Provider: 1&1, 1.147 kBit/s up, 14.249 kBit/s down (Augenblickswerte)
    Features: LCR, dropbear (ssh), OpenVPN, busybox, dnsmasq
    VoIP-Provider: 1&1

  7. #7
    Semi-Moderator Avatar von olistudent
    Registriert seit
    19.10.2004
    Ort
    Kaiserslautern
    Beiträge
    14.321
    Mach doch einen ping auf die DynDns-Adresse. Solange der geht ist sie registriert und falls der nicht geht, machst du z.B. ein restart des multid.
    Ungefähr so:
    Code:
    #!/bin/sh 
    while (true); do
    while (ping -c 1 meinedyndns.mine.nu); do
    sleep 5
    done
    echo "restart multid"
    multid -s
    sleep 5
    multid
    done
    echo "finished"
    MfG Oliver
    Geändert von olistudent (03.01.2006 um 16:20 Uhr)
    Router: Fritz!Box Fon WLAN 7570, 7390, 7320, 7270, 3170
    Anbindung: T-Online DSL 16.000 RAM

    Visit ##fritzbox on Freenode for help
    Spenden für Freetz

  8. #8
    IPPF-Fan
    Registriert seit
    16.05.2005
    Beiträge
    169
    Hey, Leute!

    Ihr habt ja echt kreative Ideen!

    Scheint aber leider notwendig zu sein, ein Workaround zu basteln, weil offensichtlich das Modem in der Box so blöd verbaut ist, dass man nicht "mal eben so" die externe IP auslesen kann.

    Ich mache es jetzt per cronjob alle 10 Minuten über ein script:

    #!/bin/bash
    wget http://www.xxxxxx.de/ip.php --output-document=/var/data/my_ip
    MY_REAL_IP=`cat /var/data/my_ip`
    MY_DYNDNS=`host xxxxxx.homelinux.org | cut -d ' ' -f4`

    if [ "$MY_REAL_IP" == "$MY_DYNDNS" ] ; then
    exit 0
    else
    wget -q http://user:razz:ass@members.dyndns.....homelinux.org --output-document=/var/data/dyndns_antwort
    fi


    Danke an Euch alle für Eure Hilfe!

    HSS

  9. #9
    IPPF-Fan Avatar von Pumbaa80
    Registriert seit
    17.05.2005
    Beiträge
    378
    Wie wärs denn mit
    Code:
    wget -O /var/tmp/indexseite "http&#58;//localhost/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var&#58;lang=de&var&#58;menu=home&var&#58;pagename=home"
    Dann müsste man nur noch mit sed ein bissle rumbasteln (bin zu doof ), um die IP-Adresse aus der /var/tmp/indexseite auszulesen.
    Sie steht im Klartext hinter
    IpAdrDisplay("
    Hakuna Matata !

    Mein Haus: FRITZ!Box Fon WLAN 7050, Firmware-Version 14.03.89, de-brandet, Telnet
    Mein Auto: Alice Super 6000 (7304/1015kbit) - 20%/75% schneller als 1&1
    Mein Boot: Siemens Gigaset CX100ISDN

  10. #10
    IPPF-Fan
    Registriert seit
    30.09.2004
    Beiträge
    165
    Guten Abend,
    In diesem Fall hilft dieses SED-Script:
    Code:
    sed -n 's/^.*IpAdrDisplay&#40;"\&#40;&#91;0-9&#93;\&#123;1,3\&#125;\.&#91;0-9&#93;\&#123;1,3\&#125;\.&#91;0-9&#93;\&#123;1,3\&#125;\.&#91;0-9&#93;\&#123;1,3\&#125;\&#41;"&#41;.*$/\1/p' /var/tmp/indexseite
    Hth Sascha
    Router: FRITZ!Box Fon WLAN 7170-29.04.67VoIP: GMXNetz: Alice_Fun

  11. #11
    Admin-Team Avatar von Novize
    Registriert seit
    17.08.2004
    Beiträge
    19.634
    Zitat Zitat von sascha
    Guten Abend,
    In diesem Fall hilft dieses SED-Script:
    Code:
    sed -n 's/^.*IpAdrDisplay&#40;"\&#40;&#91;0-9&#93;\&#123;1,3\&#125;\.&#91;0-9&#93;\&#123;1,3\&#125;\.&#91;0-9&#93;\&#123;1,3\&#125;\.&#91;0-9&#93;\&#123;1,3\&#125;\&#41;"&#41;.*$/\1/p' /var/tmp/indexseite
    Hth Sascha
    Meine antwort darauf ist:
    Code:
    weitere telnet Verbindung aufgebaut
    #  sed -n 's/^.*IpAdrDisplay&#40;"\&#40;&#91;0-9&#93;\&#123;1,3\&#125;\.&#91;0-9&#93;\&#123;1,3\&#125;\.&#91;0-9&#93;\&#123;1,3\&#125;\.&#91;0-9&#93;\&#123;1,3\&#125;\&#41;"&#41;.*$/\1/p' /var/tmp/indexseite
    sed&#58; /var/tmp/indexseite&#58; No such file or directory
    #
    MfG Novize

    DSL: 3DSL 16MBit; S/R: 8/9dB; D: 11/7dB; Router: Fritz! 7390-A151 (84.05.22); WDS: Fritz! 7050 (14.04.33)
    7390: LAN: 3 PCs; CPU315-2 PN/DP; Auerswald COMpact 3000 ISDN; 1x S675 IP & 2x S67H;
    WLAN: 2 Notebooks; Thomson IP 1101; WDS: Sonos Connect & 2x Play:3;
    PBX: Auerswald COMpact 3000 ISDN FW 4.0F / 1x S0 extern, 1x S0 intern; 2x SIP intern, 4 Analog-Teilnehmer (Fons & Fax)
    SIP intern: 2x zur S675 IP; S0 intern: 1x Euracom P4; 1x Europa 30; Net-CAPI: F!B7390 -> Fritz!Fax & PC-Anywhere 12.5

    Bitte keine Anfrage per PN - Support gehört ins Forum!

  12. #12
    IPPF-Fünfhundert-Club Avatar von fritzchen
    Registriert seit
    29.12.2004
    Beiträge
    813
    @novize:
    die indexseite musst Du ja auch erst runterladen, so wie Pumbaa es vorgestellt hat...

  13. #13
    Admin-Team Avatar von Novize
    Registriert seit
    17.08.2004
    Beiträge
    19.634
    die indexseite musst Du ja auch erst runterladen, so wie Pumbaa es vorgestellt hat...
    - Ich schliesse mich dem Spruch von Pumbaa an: Ich bin zu doof...
    MfG Novize

    DSL: 3DSL 16MBit; S/R: 8/9dB; D: 11/7dB; Router: Fritz! 7390-A151 (84.05.22); WDS: Fritz! 7050 (14.04.33)
    7390: LAN: 3 PCs; CPU315-2 PN/DP; Auerswald COMpact 3000 ISDN; 1x S675 IP & 2x S67H;
    WLAN: 2 Notebooks; Thomson IP 1101; WDS: Sonos Connect & 2x Play:3;
    PBX: Auerswald COMpact 3000 ISDN FW 4.0F / 1x S0 extern, 1x S0 intern; 2x SIP intern, 4 Analog-Teilnehmer (Fons & Fax)
    SIP intern: 2x zur S675 IP; S0 intern: 1x Euracom P4; 1x Europa 30; Net-CAPI: F!B7390 -> Fritz!Fax & PC-Anywhere 12.5

    Bitte keine Anfrage per PN - Support gehört ins Forum!

  14. #14
    IPPF-Fan
    Registriert seit
    30.09.2004
    Beiträge
    165
    Router: FRITZ!Box Fon WLAN 7170-29.04.67VoIP: GMXNetz: Alice_Fun

  15. #15
    Admin-Team Avatar von Novize
    Registriert seit
    17.08.2004
    Beiträge
    19.634
    Zitat Zitat von Sascha
    Ja, streu ruhig Salz in die Wunde
    MfG Novize

    DSL: 3DSL 16MBit; S/R: 8/9dB; D: 11/7dB; Router: Fritz! 7390-A151 (84.05.22); WDS: Fritz! 7050 (14.04.33)
    7390: LAN: 3 PCs; CPU315-2 PN/DP; Auerswald COMpact 3000 ISDN; 1x S675 IP & 2x S67H;
    WLAN: 2 Notebooks; Thomson IP 1101; WDS: Sonos Connect & 2x Play:3;
    PBX: Auerswald COMpact 3000 ISDN FW 4.0F / 1x S0 extern, 1x S0 intern; 2x SIP intern, 4 Analog-Teilnehmer (Fons & Fax)
    SIP intern: 2x zur S675 IP; S0 intern: 1x Euracom P4; 1x Europa 30; Net-CAPI: F!B7390 -> Fritz!Fax & PC-Anywhere 12.5

    Bitte keine Anfrage per PN - Support gehört ins Forum!

  16. #16
    IPPF-Fan
    Registriert seit
    30.09.2004
    Beiträge
    165
    Man kann sich den Umweg über die Datei allerdings auch sparen, und piped die Ausgabe direkt in den Stream Editor. Das würde dann so aussehen:
    Code:
    PASSWORD="test" # Passwort ggf anpassen
    
    export REQUEST_METHOD="POST"
    export REMOTE_ADDR="127.0.0.1"
    export CONTENT_TYPE="application/x-www-form-urlencoded"
    POST_DATA="login&#58;command/password=$PASSWORD"
    export CONTENT_LENGTH=$&#123;#POST_DATA&#125;
    echo -n "$POST_DATA" | /usr/www/html/cgi-bin/webcm > /dev/null
    
    export REQUEST_METHOD="GET"
    export REMOTE_ADDR="127.0.0.1"
    export QUERY_STRING="getpage=../html/de/menus/menu2.html&var&#58;lang=de&var&#58;menu=home&var&#58;pagename=home"
    cd /usr/www/html/cgi-bin
    ./webcm |
    sed -n 's/^.*IpAdrDisplay&#40;"\&#40;&#91;0-9&#93;\&#123;1,3\&#125;\.&#91;0-9&#93;\&#123;1,3\&#125;\.&#91;0-9&#93;\&#123;1,3\&#125;\.&#91;0-9&#93;\&#123;1,3\&#125;\&#41;"&#41;.*$/\1/p'
    [EDIT]
    Der neue Code arbeitet auch bei gesetztem Passwort und ohne den Umweg über wget. Basiert auf Fritzchens Lösung.
    [/EDIT]

    Gruß Sascha
    Router: FRITZ!Box Fon WLAN 7170-29.04.67VoIP: GMXNetz: Alice_Fun

  17. #17
    IPPF-Fan Avatar von Pumbaa80
    Registriert seit
    17.05.2005
    Beiträge
    378
    Fein.
    Noch ein Vereinfachungsvorschlag:
    Code:
    ./webcm | sed -n 's/.*IpAdrDisplay&#40;"\&#40;.*\&#41;".*/\1/p'
    tut's auch (anstatt ./webcm | sed -n 's/^.*IpAdrDisplay("\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)").*$/\1/p' ).


    Hat jemand eine Ahnung, warum an dieser Stelle der Aufruf des webcm aus einem anderen Verzeichnis heraus nicht zum gewünschten Ergebnis führt?
    (Auch wenn man bei getpage den absoluten Pfad
    /usr/www/all/htmlde/menus/menu2.html&var:lang=de&var:menu=home&varagename=home
    einträgt.)
    Hakuna Matata !

    Mein Haus: FRITZ!Box Fon WLAN 7050, Firmware-Version 14.03.89, de-brandet, Telnet
    Mein Auto: Alice Super 6000 (7304/1015kbit) - 20%/75% schneller als 1&1
    Mein Boot: Siemens Gigaset CX100ISDN

  18. #18
    IPPF-Fan
    Registriert seit
    30.09.2004
    Beiträge
    165
    Hallo Pumbaa80,

    Dein Verfeinerungsforschlag funktioniert natürlich auch. Mit der Einschränkung, das er nicht prüft, ob zwischen den Anführungszeichen wirklich eine IP-Adresse steht. Ein weiteres Problem könnte auftreten, wenn in der Zeile nochmal irgendwo Anführungszeichen Auftauchen. Zeigt er dann alles bis zum ersten Anführungszeichen oder bis zum letzten? Ich weis es nicht.
    Das würde dazu führen, das du hinterher ggf. noch prüfen mußt, ob du wirklich eine IP-Adresse bekommen hast.
    Etwas verkürzen (nicht vereinfachen) kann man es noch so:
    Code:
    sed -n 's/^.*IpAdrDisplay&#40;"\&#40;\&#40;&#91;0-9&#93;\&#123;1,3\&#125;\.\&#41;\&#123;3\&#125;&#91;0-9&#93;\&#123;1,3\&#125;\&#41;"&#41;.*$/\1/p'
    Wobei diese Formulierungen auch nicht ganz richtig sind, da sie Adressen von 0.0.0.0 bis 999.999.999.999 akzeptiert. Etwas besser, aber viel zu kompliziert währe:
    Code:
    sed -n 's/^.*IpAdrDisplay&#40;"\&#40;\&#40;\&#40;&#91;01&#93;\?&#91;0-9&#93;\&#123;1,2\&#125;\|2&#91;0-4&#93;&#91;0-9&#93;\|25&#91;0-5&#93;\&#41;\.\&#41;\&#123;3\&#125;&#91;01&#93;\?&#91;0-9&#93;\&#123;1,2\&#125;\|2&#91;0-4&#93;&#91;0-9&#93;\|25&#91;0-5&#93;\&#41;"&#41;.*$/\1/p'
    Dieser Ausdruck trifft 0.0.0.0 bis 255.255.255.255. Wobei wahrscheinlich 2 ungültige Adressen (abhängig von der Netzmaske) immer noch erlaubt sind.
    Wenn man davon ausgeht, das die Box keine falschen IP-Adressen ausgibt, würde wahrscheinlich auch das reichen:
    Code:
    sed -n 's/^.*IpAdrDisplay&#40;"\&#40;&#91;\.0-9&#93;*\&#41;".*/\1/p'
    Wobei dieser Ausdruck jede Kombination von Punkten und Ziffern akzeptiert.
    [hr:b257dbcd48]Das Zeilenanfangszeichen ^ auf jeden Fall stehen lassen, da sich die Ausführungszeit auf der Box wesentlich verkürzt!

    Gruß Sascha
    Router: FRITZ!Box Fon WLAN 7170-29.04.67VoIP: GMXNetz: Alice_Fun

  19. #19
    IPPF-Einsteiger
    Registriert seit
    19.09.2005
    Beiträge
    6
    Und noch ein Script!

    Code:
    ;
    ; AutoHotkey Version&#58; 1.x
    ;
    ; Externe IP der Fritz!Box Fon &#40;WLAN&#41; ermitteln
    
     
    page1=http&#58;//fo-pa.de/IP.php
    page2=http&#58;//www.netikus.net/show_ip.html
    
    URLDownloadToFile,%page1%, %A_ScriptDir%\ip.txt 
    if ErrorLevel = 1 
      &#123; 
        Progress,b2 w200 h200 zh15 ZY10 CBFFFFFF FM14 CTFFFFFF CW800000,,Die externe IP konnte nicht ermittelt werden!,
      &#125; 
    FileReadLINE,extip,%A_ScriptDir%\ip.txt, 1 
    Progress, b2 w400 h50 zh0 ZY10 CBFFFFFF FM14 CTFFFFFF CW800000,,Die externe IP lautet&#58; &#91; %extip% &#93;,
    FileDelete, ip.txt
    sleep, 6000
    Progress, Off
    Dieses Script ist "nur" zum Anzeigen der IP. Kann aber entsprechend modifiziert werden.
    Angehängte Dateien Angehängte Dateien

  20. #20
    Moderator Avatar von wichard
    Registriert seit
    16.06.2005
    Ort
    Aachen
    Beiträge
    6.935
    Zitat Zitat von OctaVerba
    Und noch ein Script!
    Das läuft dann aber auf dem Windows-PC und nicht auf der Box selbst, oder?


    Gruß,
    Wichard
    VoIP-Hardware: 7170, 29.04.49-9710 7270, 54.04.56-10927 FBF 7390, 84.05.04freetz-devel-7298M, NETCAPI, Siemens Gigaset S675IP (Beta-Test)
    VoIP-Dienste: Sipgate (01801, 0241, 05252) | GMX (0241) | dus.net starter | Asterisk 1.4.11 auf vServer
    ENUM: Alle Nummern bei e164.org eingetragen | Festnetznummer zusätzlich bei e164.arpa eingetragen
    Anbindung: T-DSL 6.000 (RAM) "Call&Surf Comfort (5)"
    Telefone: 1 alte Gigaset-Basis (analog) 1 Gigaset micro, 1 Gigaset S675IP + 2 S67H (Beta-Test), 1 Gigaset DX800A, 1 Cisco 7960

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Externe IP lässt sich nicht mehr per UPNP auslesen
    Von dr. snuggles im Forum FRITZ!Box Fon: DSL, Internet und Netzwerk
    Antworten: 3
    Letzter Beitrag: 27.10.2007, 08:28
  2. Antworten: 51
    Letzter Beitrag: 01.06.2007, 19:23
  3. 2002L MAC-Adresse auslesen?
    Von Alexx im Forum ZyXEL
    Antworten: 3
    Letzter Beitrag: 07.11.2005, 12:48
  4. IP Adresse Auslesen aber wie?
    Von lutze im Forum SPA-1000/1001/2000/2002/, PAP2
    Antworten: 2
    Letzter Beitrag: 18.07.2004, 11:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •