Server soll die aktuelle public ip senden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
CastroRama
Beiträge: 13
Registriert: 05.05.2011 05:49:08

Server soll die aktuelle public ip senden

Beitrag von CastroRama » 23.02.2016 18:52:44

Hi Freunde,

ich möchte, dass ein Server die aktuelle öffentliche ip adresse sendet. Der server steht hinter einem ganz gewöhnlichen Router und läuft mit debian 7.9. Bisher konnte ich keine Lösung finden, dyndns ist eingerichtet, doch arbeitet nicht zuverlässig und daher das hier als Sicherung. Gibt es ne Möglichkeit wie der server selbst die Adresse ermittelt und sie zu mir dann via mail versendet?

Benutzeravatar
whisper
Beiträge: 3377
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Server soll die aktuelle public ip senden

Beitrag von whisper » 23.02.2016 19:15:14

Zum Beispiel so

Code: Alles auswählen

ip addr show| grep inet|mail deine.adresse
Das ist natürlich ausbaufähig.
Oh, edit, du meinst deine Internet IP.
Einfach mit wget irgendeinen Dienst im Internet aufrufen, der dir die IP angibt.
z.B.
wget http://www.wieistmeineip.de/
das Ergebnis dann per mail verschicken
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt. 😉

Benutzeravatar
TRex
Moderator
Beiträge: 8319
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Server soll die aktuelle public ip senden

Beitrag von TRex » 23.02.2016 19:24:50

Warum arbeitet dyndns nicht zuverlässig? Liegts am service?
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

CastroRama
Beiträge: 13
Registriert: 05.05.2011 05:49:08

Re: Server soll die aktuelle public ip senden

Beitrag von CastroRama » 23.02.2016 22:51:30

whisper hat geschrieben: Oh, edit, du meinst deine Internet IP.
Einfach mit wget irgendeinen Dienst im Internet aufrufen, der dir die IP angibt.
z.B.
wget http://www.wieistmeineip.de/
das Ergebnis dann per mail verschicken
Das sieht aber dann nur so aus bei mir:

Code: Alles auswählen

wget http://www.wieistmeineip.de/
--2016-02-23 22:48:52--  http://www.wieistmeineip.de/
Auflösen des Hostnamen »www.wieistmeineip.de«.... 212.19.62.76, 2a02:2e0:3fd::76
Verbindungsaufbau zu www.wieistmeineip.de|212.19.62.76|:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: nicht spezifiziert [text/html]
In »index.html« speichern.

    [ <=>                                                                                       ] 43.076      --.-K/s   in 0,05s

2016-02-23 22:48:53 (824 KB/s) - »index.html« gespeichert [43076]
Es wird also nur die öffentliche ip von wieistmeineip.de aufgelöst - nicht die des servers.
TRex hat geschrieben:Warum arbeitet dyndns nicht zuverlässig? Liegts am service?
Ja, immer wieder. Das ist ein kostenloser.

thoerb
Beiträge: 1685
Registriert: 01.08.2012 15:34:53
Lizenz eigener Beiträge: MIT Lizenz

Re: Server soll die aktuelle public ip senden

Beitrag von thoerb » 23.02.2016 23:01:43

CastroRama hat geschrieben:
TRex hat geschrieben:Warum arbeitet dyndns nicht zuverlässig? Liegts am service?
Ja, immer wieder. Das ist ein kostenloser.
https://www.spdns.de/

Ist auch kostenlos und hat bisher immer zuverlässig funktioniert.

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Server soll die aktuelle public ip senden

Beitrag von heisenberg » 23.02.2016 23:03:59

Wenn Du's doch per wget machen willst...

wget -O- http://www.wieistmeineip.de

Dann noch ein bisschen grep und sed und dann hast Du's. :)

Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Re: Server soll die aktuelle public ip senden

Beitrag von Huck Fin » 23.02.2016 23:12:28

dnshome.de

ist kostenlos und geht gut mit ddclient

CastroRama
Beiträge: 13
Registriert: 05.05.2011 05:49:08

Re: Server soll die aktuelle public ip senden

Beitrag von CastroRama » 23.02.2016 23:21:19

heisenberg hat geschrieben:Wenn Du's doch per wget machen willst...

wget -O- http://www.wieistmeineip.de

Dann noch ein bisschen grep und sed und dann hast Du's. :)
Ach, ok - ich habe es jetzt gefunden. Danke schön. Das ist genau das was ich wollte.

CastroRama
Beiträge: 13
Registriert: 05.05.2011 05:49:08

Re: Server soll die aktuelle public ip senden

Beitrag von CastroRama » 23.02.2016 23:21:52

Huck Fin hat geschrieben:dnshome.de

ist kostenlos und geht gut mit ddclient
Danke. Ich werde es ausprobieren.

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Server soll die aktuelle public ip senden

Beitrag von heisenberg » 23.02.2016 23:46:58

So und hier ist nochmal der Spoiler für die Aufgabe Public-IP aus der Webseite extrahieren, mit extra-korrekt-kompliziertem-verwirrendem RegEx :)

NoPaste-Eintrag39171

Benutzeravatar
MegaV0lt
Beiträge: 173
Registriert: 21.11.2011 11:16:07
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Server soll die aktuelle public ip senden

Beitrag von MegaV0lt » 24.02.2016 10:43:51

Wer eine Fritz!Box hat, kann das Skript verwenden:

Code: Alles auswählen

#!/bin/bash

curl "http://fritz.box:49000/upnp/control/WANIPConn1" -H "Content-Type: text/xml; charset="utf-8"" \
     -H "SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress" \
     -d "<?xml version='1.0' encoding='utf-8'?> \
     <s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'> \
     <s:Body> <u:GetExternalIPAddress xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1" /> \
     </s:Body> </s:Envelope>" -s | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'

"Das Internet? Gibt's diesen Blödsinn immer noch?"
[Homer Simpson], Sicherheitsinspektor im Kernkraftwerk Springfield.

uname
Beiträge: 12398
Registriert: 03.06.2008 09:33:02

Re: Server soll die aktuelle public ip senden

Beitrag von uname » 24.02.2016 10:44:36

Als Alternative direkt für curl oder wget:

https://ifconfig.co
https://ifconfig.co/?cmd=wget

Benutzeravatar
whisper
Beiträge: 3377
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Server soll die aktuelle public ip senden

Beitrag von whisper » 24.02.2016 11:20:26

uname hat geschrieben:Als Alternative direkt für curl oder wget:

https://ifconfig.co
https://ifconfig.co/?cmd=wget
Sehr schön!
Muss ich mir mal einprägen
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt. 😉

wanne
Moderator
Beiträge: 7548
Registriert: 24.05.2010 12:39:42

Re: Server soll die aktuelle public ip senden

Beitrag von wanne » 24.02.2016 11:51:23

Das ist schöner:

Code: Alles auswählen

curl https://ipv4.nsupdate.info/myip
Bzw. für IPv6

Code: Alles auswählen

curl https://ipv6.nsupdate.info/myip
Wobei bei IPv6 hast du das Problem ja hoffentlcih sowieso nicht. Einfach oder

Code: Alles auswählen

ifconfig
PS: Router sind Dinger, die die IP nicht verändern. Das fritzboxgedöns sind NAT-Boxen oder Layer 4 Switches
rot: Moderator wanne spricht, default: User wanne spricht.

brummer
Beiträge: 181
Registriert: 19.02.2007 19:21:23

Re: Server soll die aktuelle public ip senden

Beitrag von brummer » 25.02.2016 06:05:53

Code: Alles auswählen

ip addr show eth0 | awk '$1 == "inet" {gsub(/\/.*$/, "", $2); print $2}' 

Benutzeravatar
heisenberg
Beiträge: 4123
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Server soll die aktuelle public ip senden

Beitrag von heisenberg » 25.02.2016 09:50:49

Habe ich mich verlesen, oder möchte der TE die public-IP? Die ist nicht lokal mit ifconfig/ip zu haben.

Benutzeravatar
TRex
Moderator
Beiträge: 8319
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Server soll die aktuelle public ip senden

Beitrag von TRex » 25.02.2016 10:33:43

wanne bezog sich auf ipv6, und da gibt es normalerweise kein NAT. Die öffentliche IP ist in dem Fall direkt am Interface sichtbar. brummers Vorschlag taugt nicht.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

pferdefreund
Beiträge: 3799
Registriert: 26.02.2009 14:35:56

Re: Server soll die aktuelle public ip senden

Beitrag von pferdefreund » 25.02.2016 10:52:35

#!/bin/bash -e
source /disk2/debserver/scripts/libdef Standard-Suchpfade
pwd=$(cat /disk2/debserver/scripts/sysin/pferdpwd) Password für Proxi holen
export WN="/tmp/eigenip.txt" Ausgabe
export http_proxy="10.113.200.10:80" Proxy-Server
wget -O - --proxy-user=irgnwo\ich \
--proxy-password=$pwd checkip.dyndns.org > $WN 2>&1
echo "Deine IP" | mail -a $WN -s "Deine IP" irgendwer@irgendwo.de
rm $WN
So läuft das bei mir schon seit Jahren - ich bekomme meine öffentliche IP so regelmäßig per Mail da dyndns.org so eine Testseite hat. Achtung, damit es funktioniert, Kommentare entfernen - sind zur Verdeutlichung da.

brummer
Beiträge: 181
Registriert: 19.02.2007 19:21:23

Re: Server soll die aktuelle public ip senden

Beitrag von brummer » 27.02.2016 09:19:08

TRex hat geschrieben:brummers Vorschlag taugt nicht.
Ja, das ist die local IP, verwechsle ich immer.
Ich brauch die um external auf localhost zuzugreifen.

pferdefreund
Beiträge: 3799
Registriert: 26.02.2009 14:35:56

Re: Server soll die aktuelle public ip senden

Beitrag von pferdefreund » 29.02.2016 12:11:43

In meinem oben gezeigten Script wird die externe öffentliche IP ermittelt und per Mail versendet. Die steht in dem von wget geholten Daten drinne.

Antworten