Externe IP-Adresse ohne UPnP oder Abfrage externer Seite bestimmen

Nimm einfach meine Lösung. Ich habe die Anmeldung nicht umsonst von GET auf POST umgestellt.
 
schandmaennchen schrieb:
Schon wieder die Log-In-Seite von der FritzBox
Hast du auch die "neue" Version genommen?!?

Jörg
 
Nur um klarzustellen ob ich etwas Grundlegendes falschgemacht habe: ich habe die Datei aus dem 1. Posting verwendet (get_ip_post.tar.bz2)

Der DS-Mod wurde damit gepatcht!

Öffne ich die Datei auf der FritzBox (Momentan die 7050 - eine "Testbox" als ATA) mit vi sehe ich das dies erfolgreich war: Methode: POST (Auschnitt)

Code:
    if [ $retval != 0 ]; then
      echo "get_ip error (exit code $retval)" >&2
      exit $retval
    fi
    export POST_DATA="getpage=/usr/www/all/html/query.txt&login:command/passwor
    ip=$(echo -n "$POST_DATA" | REQUEST_METHOD="POST" REMOTE_ADDR="127.0.0.1" C
    retval=$?
    ;;
  -d|--dsld)
    ip=$(/sbin/showdsldstat | grep "0: ip" | cut -d\/ -f1 | cut -d ' ' -f3)
    retval=$?
    ;;
  -e|--extquery)
    ip=$(wget -q -O - http://whatismyip.org)
    retval=$?
    ;;
  -?|--help)
    helpmsg
    exit 0
    ;;
  *)
    helpmsg >&2
    exit 1
esac
/usr/bin $ get_ip
192.168.123.20
/usr/bin $ get_ip -?
get_ip - determine external IP address

Usage: /usr/bin/get_ip [option]
    -w, --webcm    - use webcm CGI handler method [default]
    -d, --dsld     - use showdsldstat method (use only with kernel 2.6 firmware
)
    -e, --extquery - use external site query method (ask whatismyip.org)
    -?, --help     - print this help message

/usr/bin $ get_ip -d
192.168.123.20
/usr/bin $

Eine anschließende Abfrage zeigt die Korrekte IP (soll später als Router laufen)

Rufe ich jetzt über Firefox den von euch angegebenden Link auf:

http://192.168.123.20/cgi-bin/webcm?getpage=..%2Fip.txt

So komme ich leider nur zum Login.
Nach erfolgreichem Login rufe ich diesen Link noach einmal auf:

Es erscheint eine "leere" Seite (txt ist leer)

Ich glaube dass mein eigentliches Problem nicht ganz klar erkennbar war:

1) Bei Abfrage der Seite muss ich mich einloggen - eigentlich ja verständlich - wie kann diesen Login eventuell automatisieren

2) die Textdatei ist "leer" - seltsam, alle vorherigen IP-Abfragen über Telnet mit get_ip waren erfolgreich! Wie wird die datei ip.txt überhaupt beschrieben (in welcher Instanz von get_ip?)

Grüße
Steven

Edit:

Ich habe es sowohl mit wget -w (Also über das Formular, bzw. POST versucht, wie auch über -d (den dsldaemon)
 
Hi,

I see your point ;-), ich hatte dein Problem wohl noch nicht so ganz durchdrungen...

schandmaennchen schrieb:
Wie wird die datei ip.txt überhaupt beschrieben (in welcher Instanz von get_ip?)
... oops, das war die "ganz alte" Version, in der der Befehl in gerade diese Datei geschrieben wurde, die dann dem getpage= übergeben wurde).
Wenn ich den "getpage=..." mit PW direkt in die URL reinpacke, dann geht es bei mir auch nicht (ich habe das immer nur auf der Konsole benutze). Du könntest natürlich

Tja, wenn nicht jemand anderes noch was Schlaues weiß, wie es "direkt" per URL mit der PW-Übergabe geht... Ich muss auf jeden Fall dafür erstmal nochmal in mich gehen... Vielleicht geht es mit dem voranstellen von sowas wie
Code:
wget -O NUL --user-agent="Mozilla/5.0" --post-data="login:command/password=meinpasswort" "http://fbox/cgi-bin/webcm?getpage=../html/de/menus/menu2.html"
(nur abgeschrieben von hier, aber nicht getestet...)

Jörg
 
ip.txt ist aus einer alten Version und wird nicht mehr benötigt. Wie gesagt: Nimm die neue.
 
habe gerade den Beitrag gesehen und wollte mal fragen
ob es eine Möglichkeit gibt die aktuelle IP in der Statuszeile
des Browsers anzeigen zu lassen oder anders in einer lokalen
html Seite. Ich nutze eine lokal abgelegte Startseite in allen
Browser. Die IP wäre gut bei Freunde wenn ein remote Zugriff
fällig ist.
 
Hi,

@kriegaex: Er möchte das ganze halt direkt von einer anderen Box aus initiieren und da kommt ihm halt die PW-Abfrage davor ins Gehege.

@schandmaennchen:
Also, ich wollte es doch auch mal testen.
Bei mir geht ein
Code:
wget -O out_tmp.txt --post-data=login%3Acommand%2Fpassword=0815 http://192.168.178.1/cgi-bin/webcm
wget -O out_ip.txt "http://192.168.178.1/cgi-bin/webcm?getpage=/usr/www/all/html/query.txt&login:command/password=0815&var:cnt=1&var:n0=connection0:pppoe:status/ip"

Jörg
 
Wget-Problem

Servus!

@MaxMuster: Genau, du hast meine Problem erkannt ;)
Welche Version hast du von wget verwendet?
Ich bekomme beim wget der Busybox 1.4.1 des ds-mod nur folgende
Rückmeldung:

Code:
wget: unrecognized option `--post-data'

Offenbar kann mein wget keine Formulardaten senden :confused:

Gruß

Steven
 
Skript 'get_ip' über Rudi-Shell remote ausführen

Darum habe ich es ja so programmiert, wie es jetzt ist. Das Busybox-wget auf der Box kann kein POST, das geht nur von außen mit einem vollständigen wget. Letzteres kann man auch für die Box kompilieren, aber wozu, wenn es auch anders geht? Im übrigen kann man auch mein Skript remote per URL aufrufen und das Ergebnis anzeigen lassen, wo man will, indem man die Rudi-Shell per CGI-GET beauftragt, das zu erledigen.

Gib mal das in die Adreßzeile Deines Browsers (vorher Paßwort ersetzen):
Code:
http://admin:[COLOR="Blue"]dsmod-pw[/COLOR]@fritz.box:81/cgi-bin/rudi_shellcmd.cgi?script=get_ip

Solltest Du die Ergebnis-Webseite filtern wollen und nur die IP benötigen, arbeite (von der Shell aus) so:
Code:
wget -q -O - http://admin:[COLOR="blue"]dsmod-pw[/COLOR]@fritz.box:81/cgi-bin/rudi_shellcmd.cgi?script=get_ip | sed -n 's/.*id="cmd_output">//p'
 
Hi,

ich hab es einfach vom PC aus getestet (GNU Wget 1.9.1). Also müsstest du entweder ein "echtes" wget für deine Box komplieren, oder das busybox-wget anpassen (ich glaube aber fast, das kann das busybox wget nicht).

Jörg

EDIT: Zu spät, und Alexander hat schon wieder die Lösung gefunden...
 
@kriegaex:
Das wars!

Und ich hatte schon begonnen mir zu überlegen wie ich ein vollständiges wget kompiliere!

Diese Rudi-Shell ist natürlich sehr genial - davon hatte ich natürlich bisher noch nicht mal was gehört (ds-mod seit ein paar Tagen) ;)

Seltsamerweise klappte es bei mir in einem Test über ein paar Stunden auch mit dem "alten" get_ip-Skript aus dem ds-mod über GET zuverlässig - habe es aber trotzdem ausgetauscht...

Danke an an Euch für Eure Geduld und Hilfe! :p
 
Danke für die Blumen bzgl. der Rudi-Shell - ich finde auch, sie ist überraschend vielseitig. Ob ihrer minimalistischen Oberfläche wird sie häufig unterschätzt.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.