Hi ! Ich suche ein Script, bzw. Hilfestellungen wie ich bei der einwahl ins internet die aktuelle ip auslesen kann, in eine html seite an eine definierte stelle schreiben, und per ftp auf einen server hochladen kann. Hat so etwas schon jemand, oder kann mir jemand dabei weiterhelfen ? Ich bin noch recht neu in Linux, und habe noch nicht allzuviel scripte geschrieben.... -- MfG Yann Wissenbach www : http://www.world-wide-wait.de mail : yann@world-wide-wait.de uin : 19606297 Linux - Life is too short for reboots --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
From: "Yann Wissenbach" <yann@world-wide-wait.de> Sent: Sunday, August 27, 2000 2:26 PM
Ich suche ein Script, bzw. Hilfestellungen wie ich bei der einwahl ins internet die aktuelle ip auslesen kann,
ifconfig zeigt die IP. Du kannst ein Perl-Wrapper-Skript schreiben, daß die Ausgabe analysiert und die IP anzeigt. Einfacher geht's mit den folgenden beiden Zeilen in der /etc/ip-up: rm /tmp/aktuelleip echo $LOCALIP >/tmp/aktuelleip Dann kannst du einfach diese Datei auslesen. Sind bei mir die letzten beiden Zeilen von ippp*) ip-up)
in eine html seite an eine definierte stelle schreiben,
Das geht mit Perl. Oder Abfrage über ein CGI-Skript.
und per ftp auf einen server hochladen kann. Hat so etwas schon jemand, oder kann mir jemand dabei weiterhelfen ? Ich bin noch recht neu in Linux, und habe noch nicht allzuviel scripte geschrieben....
Hast du CGI-Rechte auf dem Web-Server? Dann schreib in die /etc/ppp/ip-up eine Zeile wie wget http://www.meinesite.de/cgi-bin/meineip?ip=$LOCALIP Und ein CGI-Skript, daß eine HTML-Seite mit dieser IP generiert. Vielleicht gehst du aber doch mal bei www.justlinux.com oder www.dyndns.org oder so vorbeigucken und holst dir 'ne dynamische Adresse (ich.penguinpowered.com oder ich.dyndns.org oder wie auch immer) und das passende Update-Programm ;) -- Marco Dieckhoff icq# 22243433 PGP key 9EFA D64F 5DAA D36B E0E7 CE1B 9E1B 4903 0C51 1632 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Yann Wissenbach:
Ich suche ein Script, bzw. Hilfestellungen wie ich bei der einwahl ins internet die aktuelle ip auslesen kann, in eine html seite an eine definierte stelle schreiben, und per ftp auf einen server hochladen kann. Hat so etwas schon jemand, oder
Hallo! Das grösste Problem ist die "bestimmte Stelle" in der HTML-Datei. Ich würde das vielleicht so lösen: /sbin/ifconfig ppp0 | grep "inet addr:" | awk '{print $2}' | cut -c 6- | perl -pe 'chomp;' > ip-adresse.txt cat htmldatei.1.html ip-adresse.txt htmldatei.2.html > htmlfertig.html ncftpput -m -a -u username -p passwort server / htmlfertig.html Die HTML-Datei ist dabei in zwei Teile aufgeteilt, der erste bis zu der Stelle, an der die IP-Adresse hin soll; der zweite mit allem danach. Thorsten -- Random .signature #42: --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo, Thorsten Jens wrote:
/sbin/ifconfig ppp0 | grep "inet addr:" | awk '{print $2}' | cut -c 6- | perl -pe 'chomp;' > ip-adresse.txt
Schneller ist (ich habe zum Testen den ifconfig output in eine Datei gespeichert) cat ifconfig.out | sed -n s/'.*addr:\([0-9\.]*\).*'/'\1'/p Das perl -pe 'chomp' wuerde ich eh weglassen und die IP einfach auf eine eigene Zeile schreiben. Ansonsten ginge das z.B. mit echo -n cat ifconfig.out | echo -n $(sed -n s/'.*addr:\([0-9\.]*\).*'/'\1'/p) timings: ==== snip ==== #!/bin/bash trap "echo "Aborted!" && exit 1" 2 dh1() { sed -n s/'.*addr:\([0-9\.]*\).*'/'\1'/p; }; dh2() { grep "inet addr:" | sed s/'.*addr:\([0-9\.]*\).*'/'\1'/; }; dh3() { echo -n $(sed -n s/'.*addr:\([0-9\.]*\).*'/'\1'/p); } dh4() { echo -n $( grep "inet addr:" | sed s/'.*addr:\([0-9\.]*\).*'/'\1'/ ); } tj1() { grep "inet addr:" | awk '{print $2}' | cut -c 6- | perl -pe 'chomp;'; } tj2() { grep "inet addr:" | awk '{print $2}' | cut -c 6- ; } for m in dh1 dh2 dh3 dh4 tj1 tj2 do echo -ne "\n$m:" time for i in `seq 0 500` do cat /tmp/ifconfig.out | $m > /dev/null done done exit 0 ==== snap ==== real user sys dh1: 0m6.811s 0m4.230s 0m2.560s dh2: 0m8.096s 0m4.140s 0m3.960s dh3: 0m7.012s 0m4.360s 0m2.650s dh4: 0m9.048s 0m4.380s 0m4.670s tj1: 0m27.198s 0m18.130s 0m9.060s tj2: 0m16.847s 0m10.750s 0m6.080s
cat htmldatei.1.html ip-adresse.txt htmldatei.2.html > htmlfertig.html
Ginge z.B. auch mit einem Platzhalter in der Vorlage + einem "cat Vorlage | sed s/Platzhalter/$LOCALIP/ > fertig.html", Wie die IP in $LOCALIP kommt ist egal (aus ip-up, durch obiges). Oder ... oder ... ;) Den ganzen Vorgang koennte man per script (ip-up?) erledigen. CU David -- SeiŽs drum! Besser gut gesiggt als weggeklickt. [WoKo in dag°] --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (4)
-
David@dhaller.de
-
linux@jwr.de
-
thojens@gmx.de
-
yann@world-wide-wait.de