WAN IP-Adresse aus DSL-Router auslesen und auf webspace hochladen

Begonnen von Klemmerle, 2015/04/06, 09:46:13

Vorheriges Thema - Nächstes Thema

Klemmerle

Hallo zusammen,
um von außerhalb eine ssh-Verbindung aufbauen zu können, möchte ich meine WAN-IP-Adresse auf meinen Web-Server als Datei hochladen.
(Dyndns o.ä. möchte ich nicht verwenden)

Dazu lese ich  die IP-Adresse aus meiner Vodafone-Starterbox aus.

Ein Skript-Beispiel für eine Fritz-box habe ich hier gefunden:

http://http://wiki.ubuntuusers.de/FritzBox/Skripte


wget 'http://fritz.box/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var:lang=de&var:menu=home&var:pagename=home' -q -O - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>' | grep -Ev "^0+\."


ohne weitere Skrip-Kenntnisse konnte ich das Skript ändern damit mir auch meine Starterbox die IP-Adresse auswirft:

wget 'http://192.168.2.1' -q -O - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>' | grep -Ev "^0+\."

Das Ergebnis ist dann z.B.:
88.69.6.152

Wie bekomme ich diese Ausgabe per ftp auf meinen webspace hochgeladen? - z.B. in eine Datei "IP-Home.txt"
Anschließend müßte ich diese Aktion 1x pro Stunde wiederholen (cron-job?)


Gruß Klemmerle

bluelupo

Hi Klemmerle,

das Kommando curl sollte das können.

Beispiel hier http://wiki.ubuntuusers.de/cURL unter Stichwort "Upload".

Klemmerle

Hallo bluelupo,

danke für Deinen Tipp.
Ich hänge jetzt bei einem Zertifikatsproblem:

curl: (51) SSL peer certificate or SSH remote key was not OK


weiß jemand, wie ich den Parameter
ssl_verify_host=0
mit in die Kommandozeile hineinbekomme?

Gruß Klemmerle

ab


Klemmerle

Danke, ab,

das hat geholfen!

die funktionierende Syntax lautet jetzt:

curl -T ip.txt sftp://user:passwd@server:22  --insecure

Mal schaun, ob ich das ganze jetzt noch in eine .sh verpackt bekomme...

Gruß Klemmerle

ab

@Klemmerle

Tipp vorweg: curl ifconfig.me - dauert etwas, funzt jedoch ganz gut.

So könnte es gehen:

1) Einen Editor hernehmen (Kate, vim, nano etc) und in eine Datei (hier: myIPscript.sh) hineinschreiben:

#!/bin/bash

#       NAME:   myIPscript.sh
#       LOCA:   /home/BENUTZERNAME/myIPscript.sh
#       DESC:   schreibt WAN-IP in ip.txt, sendet ip.txt an Server

curl ifconfig.me > /tmp/ip.txt && curl -T /tmp/ip.txt sftp://user:passwd@server:22  --insecure



2) Das Ganze im Terminal des geringsten Misstrauens ausführbar machen und zwei für die Cron-Tabelle notwendige Werte ermitteln:

chmod +x myIPscript.sh
...
echo 'SHELL='$SHELL && echo 'PATH='$PATH


3) Cron-Tabelle zum Editieren öffen:

crontab -e


Dort sollte eingetragen werden, ähnlich:

# ... Kommentare
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
@hourly /home/BENUTZERNAME/myIPscript.sh > /dev/null


Hoffe, das hilft.

Gruß (ab)

Klemmerle

Hallo ab,

Deine Anleitung hat super funktioniert (und war auch meinem Niveau angepasst :-)

Meine WAN-Adresse lese ich wie im 1.Posting genannt aus meiner easy.box (Starterbox von Vodafone) aus, dann brauche ich keine
externe Webseite bemühen.

Das Skript läuft inzwischen schon erfolgreich auf meinem Raspberry Pi.

Also Dank für Euren Support  :)

Gruß
Klemmerle