notempty
Wie ermittle ich meine öffentliche IP?
Um die öffentliche IP eines Gerätes zu vermitteln, stellen wir den Host checkip.spdyn.de zur Verfügung. Dieser ist auch erreichbar unter myip.spdyn.de und getip.spdyn.de. Der Host liefert die von der HTTP-Verbindung verwendete IPv4- oder IPv6-Adresse zurück. Sollten die Internetverbindung sowohl über IPv4 als auch IPv6 erfolgen ("Dual Stack") empfiehlt sich die Verwendung von checkip4.spdyn.de (besitzt ausschließlich einen A-Record, ist also über IPv6 nicht zu erreichen) bzw. checkip6.spdyn.de (besitzt nur einen AAAA-Record und antwortet somit nicht auf IPv4-Anfragen).
Die Ausgabe der IP erfolgt entweder als Plaintext (das ist der Standard), JSON oder XML.
Die Plaintext-Seite zeigt immer nur die eine IP-Adresse an, von der die Verbindung zu unserem Server aufgebaut wurde.
Bei der JSON/XML-Ausgabe werden unter Umständen mehrere IP-Adressen angezeigt, je nachdem ob die Verbindung durch einen oder mehrere Proxies erfolgt.
Die Header werden dabei in der folgenden Reihenfolge ausgewertet (weiter vorne in der Liste = höhere Priorität):
- Vom Server erkannte Quell-IP
- REMOTE_ADDR > HTTP_CLIENT_IP
- Vom Client gesendete Header:
- HTTP_X_FORWARDED_FOR > HTTP_X_FORWARDED > HTTP_X_CLUSTER_CLIENT_IP > HTTP_FORWARDED_FOR > HTTP_FORWARDED
Die vom Client gesendeten Header werden nur angezeigt, aber ansonsten vom Update-Server ignoriert. Anders verhält es sich bei der REMOTE_ADDR.
Wenn versucht wird, einen Hostnamen so zu aktualisieren, dass er er auf eine private IP zeigt, wird der Update-Server stattdessen die erkannte öffentliche IP des Clients verwenden. Das ermöglicht die Verwendung unseres Dienstes auch mit Clients, die keine Möglichkeit haben, ihre öffentliche IP vor dem Update selber festzustellen.
ACHTUNG: Auch wenn ein Update von einem solchen Client funktioniert, "weiß" dieser Client vermutlich nicht, wann sich seine öffentliche IP ändert und wird den Host nach einem 24h-Reconnect nicht automatisch aktualisieren. Im Allgemeinen reicht dann ein manueller oder über einen Cronjob gesteuerter Neustart des Dyndns-Clients.
Hinweis: Die checkip-Hosts antworten nur auf Plaintext-HTTP-Anfragen auf Port 80.
Ausgabe als JSON-Objekt
Beim Aufruf von http://checkip.spdyn.de/json werden die gefundenen IP-Adressen nach folgendem Schema mit dem MIME-Type application/json
ausgegeben:
{ "ipinfo":[{ "ip":"192.0.0.1", "source":"REMOTE_ADDR" },{ "ip":"10.0.0.1", "source":"HTTP_X_FORWARDED_FOR" },{ "ip":"10.0.0.2", "source":"HTTP_X_FORWARDED_FOR" }] }
Ausgabe als XML
Beim Aufruf von http://checkip.spdyn.de/xml werden die gefundenen IP-Adressen nach folgendem Schema mit dem MIME-Type text/xml
ausgegeben:
<ipinfo> <ip ip="192.0.0.1" source="REMOTE_ADDR"/> <ip ip="10.0.0.1" source="HTTP_X_FORWARDED_FOR"/> <ip ip="10.0.0.2" source="HTTP_X_FORWARDED_FOR"/> </ipinfo>