Externe IP herausfinden und anzeigen

Begonnen von Ralle, 30 April 2018, 18:04:33

Vorheriges Thema - Nächstes Thema

Otto123

Dann setz mal einen simplen wget Befehl auf der Linux Kommandozeile Deines FHEM ab.
wget -v https://v4.ident.me/
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Grafkox

Zitat von: Otto123 am 13 Februar 2022, 20:19:06
Dann setz mal einen simplen wget Befehl auf der Linux Kommandozeile Deines FHEM ab.
wget -v https://v4.ident.me/

Da kommt dann:

--2022-02-13 20:24:12--  https://v4.ident.me/
Resolving v4.ident.me (v4.ident.me)... 176.58.123.25
Connecting to v4.ident.me (v4.ident.me)|176.58.123.25|:443... connected.
ERROR: The certificate of 'v4.ident.me' is not trusted.
ERROR: The certificate of 'v4.ident.me' has expired.
Raspberry Pi 3 mit Fhem 5.9, Tablet UI 2.6, SIGNALduino, Somfy RTS, Fritzbox 7490, IT-Steckdosen, Hikvision Kameras, Xiaomi Sensoren, Tecalor THZ, E3/DC

Otto123

Du hast ein altes OS? Da stimmen die ca-certificates nicht mehr oder ssl zu alt?
Kannst ja auf die Schnelle mal ohne s probieren (http), aber auf Dauer geht das nicht.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Grafkox

Zitat von: Otto123 am 13 Februar 2022, 20:11:05
erzeugt denn einfach der Link im Browser eine Ausgabe?
https://v6.ident.me/
erzeugt v4 eine Ausgabe?
https://v4.ident.me/

Wenn v6 keine Ausgabe erzeugt hat dein Netzwerk keinen ipv6 Zugang zum Internet.

Hat denn Dein FHEM IPv6?
Funktioniert das in der FHEM Kommandozeile?
{qx(wget -q -O - https://v4.ident.me/)}
Gleiches für IPv6
{qx(wget -q -O - https://v6.ident.me/)}

Alles ist Plain Text keine RegExp nötig meine ich: https://api.ident.me/

ok, wenn ich die beiden Befehle mit http ausführe, bekomme ich auch eine Rückmeldung.
Nur hatte ich von vorn herein den HTTPMOD mit http://v6.ident.me/ konfiguriert  :-\
Raspberry Pi 3 mit Fhem 5.9, Tablet UI 2.6, SIGNALduino, Somfy RTS, Fritzbox 7490, IT-Steckdosen, Hikvision Kameras, Xiaomi Sensoren, Tecalor THZ, E3/DC

Otto123

eine Rückmeldung. - bedeutet was? Doch einfach die IP Adresse oder?
Klappt denn mein Vorschlag für HTTPMOD bei Dir für IPv4?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Otto123

#35
mittlerweile liefert mein HTTPMOD Device was ich vorhin zum Test angelegt habe nur noch eine 1. Vielleicht ist HTTPMOD für diese Aufgabe nicht das Richtige?
Da die Seite Plaintext Text liefert kann man das ja anders lösen? Ich bin unsicher.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Grafkox

Sorry
mit Rückmeldung meinte ich, wenn ich die beiden Befehle in der FHEM Kommandozeile ausführe, bekomme ich mit dem http-Aufruf auch die richtigen IP-Adressen ausgegeben.

attr myIPv4 reading01Regex .*
bei einem neu angelegten HTTPMOD
defmod myIPv4 HTTPMOD http://v4.ident.me/ 86400
attr myIPv4 userattr reading01Name reading01Regex
attr myIPv4 reading01Name IP
attr myIPv4 reading01Regex .*


gibt nur eine "1" aus
Raspberry Pi 3 mit Fhem 5.9, Tablet UI 2.6, SIGNALduino, Somfy RTS, Fritzbox 7490, IT-Steckdosen, Hikvision Kameras, Xiaomi Sensoren, Tecalor THZ, E3/DC

Grafkox

Zitat von: Otto123 am 13 Februar 2022, 20:59:46
mittlerweile liefert mein HTTPMOD Device was ich vorhin zum Test angelegt habe nur noch eine 1. Vielleicht ist HTTPMOD für diese Aufgabe nicht das Richtige?
Da die Siete Plaintext Text liefert kann man das ja anders lösen? Ich bin unsicher.
genau ;)

Einen anderen Weg hatte ich schon versucht, ist vielleicht untergegangen, da ich den Post nachträglich editiert hatte:

...ich habe gerade noch auf www.wieistmeineip.de rumprobiert. Mit der Lösung hier aus dem Thread bekomme ich zwar die IPv4 Adresse ausgegeben und mit dem nachfolgenden Regex:

(?<=<span id="ipv6-value">)([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])

bekomme ich zwar auf https://regex101.com/ wieder die richtige Ausgabe, aber das Reading im HTTPMOD wird wieder nicht richtig befüllt.
Raspberry Pi 3 mit Fhem 5.9, Tablet UI 2.6, SIGNALduino, Somfy RTS, Fritzbox 7490, IT-Steckdosen, Hikvision Kameras, Xiaomi Sensoren, Tecalor THZ, E3/DC

KölnSolar

wär eigentlich ein use case für meinen UPNPController. Der service WANIPConn1 eines (vermutlich jeden) Routers(hier: Fritte) liefert bei Änderungen die events
2022.02.13 21:26:36 5: UPNPController: Received event: by 192.x.y.z_49000_3-zz-zz-zs-WANIPConn1 UPnP::ControlPoint::Service=HASH(0x5836018) $VAR1 = 'PortMappingNumberOfEntries';
$VAR2 = '0';
$VAR3 = 'PossibleConnectionTypes';
$VAR4 = 'IP_Routed';
$VAR5 = 'ConnectionStatus';
$VAR6 = 'Connected';
$VAR7 = 'ExternalIPv6Address';
$VAR8 = '';
$VAR9 = 'ExternalIPAddress';
$VAR10 = a.b.c.d';

2022.02.13 21:26:36 3: UPNPController: UPNP_Controller: uniqueDeviceName 192.x.y.z_49000_3-zz-zz event PortMappingNumberOfEntries not yet implemented
2022.02.13 21:26:36 4: UPNPController: UPNP_Controller: uniqueDeviceName 192.x.y.z_49000_3-zz-zz event details: $VAR1 = '0';

2022.02.13 21:26:36 3: UPNPController: UPNP_Controller: uniqueDeviceName 192.x.y.z_49000_3-zz-zz event PossibleConnectionTypes not yet implemented
2022.02.13 21:26:36 4: UPNPController: UPNP_Controller: uniqueDeviceName 192.x.y.z_49000_3-zz-zz event details: $VAR1 = 'IP_Routed';

2022.02.13 21:26:36 3: UPNPController: UPNP_Controller: uniqueDeviceName 192.x.y.z_49000_3-zz-zz event ConnectionStatus not yet implemented
2022.02.13 21:26:36 4: UPNPController: UPNP_Controller: uniqueDeviceName 192.x.y.z_49000_3-zz-zz event details: $VAR1 = 'Connected';

2022.02.13 21:26:36 5: UPNPController: UPNP_Controller: empty event ExternalIPv6Address found
2022.02.13 21:26:36 3: UPNPController: UPNP_Controller: uniqueDeviceName 192.x.y.z_49000_3-zz-zz event ExternalIPv6Address not yet implemented
2022.02.13 21:26:36 4: UPNPController: UPNP_Controller: uniqueDeviceName 192.x.y.z_49000_3-zz-zz event details: $VAR1 = '';

2022.02.13 21:26:36 3: UPNPController: UPNP_Controller: uniqueDeviceName 192.x.y.z_49000_3-zz-zz event ExternalIPAddress not yet implemented
2022.02.13 21:26:36 4: UPNPController: UPNP_Controller: uniqueDeviceName 192.x.y.z_49000_3-zz-zz event details: $VAR1 = 'a.b.c.d';

Müsste nur noch einer ein client-Modul schreiben.  ;)
(wäre recht einfach in Anlehnung an meinen DLNAController)
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Otto123

#39
spartanischer Ansatz:
mit einem at einmal am Tag:
setreading myip IPv4 {(qx(wget -q -O - https://v4.ident.me/))};setreading myip IPv6 {(qx(wget -q -O - https://v6.ident.me/))}
myip ist ein dummy oder jedes andere Device.

Aber Thorsten: Du musst Dich um dein https problem kümmern!
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Grafkox

Danke Otto, das sollte klappen.
Und um das HTTPS Thema kümmere ich mich auch.
Raspberry Pi 3 mit Fhem 5.9, Tablet UI 2.6, SIGNALduino, Somfy RTS, Fritzbox 7490, IT-Steckdosen, Hikvision Kameras, Xiaomi Sensoren, Tecalor THZ, E3/DC

Wernieman

Wobei mich imLog immer noch wundert:
2022.02.13 19:45:06.052 4: HttpUtils: gethostbyname v6.ident.me failed
Das heust eigentlich, das die Namensauflösung nicht funktioniert. Hast Du im FHEM DNS gesetzt?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

no_Legend

Hallo Zusammen,

kann mir jemand erklären, wie ich nun eine IPv4 Adresse Abfragen kann?

Danke und Grüße Robert
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

CQuadrat

#43
z.B. so:


define myIP HTTPMOD https://www.wieistmeineip.de/ 3600
attr myIP DbLogExclude .*
attr myIP enableControlSet 1
attr myIP reading01Name IP
attr myIP reading01Regex (?s)Ihre IP-Adresse?.*strong>([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)
attr myIP stateFormat IP


Damit wird stündlich abgefragt.

Und mit set myIP reread lässt sich der Wert manuell aktualisieren.
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), MQTT, SONOS (div. Gimmicks), OneWire, Hue

DeeSPe

Noch Resourcen schonender geht es so, da hier kein HTML Gerüst geladen wird, sondern nur die reine IP als Text:
define myIP HTTPMOD http://icanhazip.com/ 3600
attr myIP enableControlSet 1
attr myIP event-on-change-reading IP
attr myIP reading01Name IP
attr myIP reading01Regex (\d.*\d)\n
attr myIP stateFormat IP
attr myIP webCmd reread


Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe