22 Jan 2021

Eigene IP im Dualstack ermitteln

TLDR: test.ipoac.de

Vor ein paar Jahren war ich auf der Suche nach einer Seite, die mir meine öffentliche IPv4- und IPv6-Adresse gleichzeitig anzeigen kann. Webseiten, die die eigene IP anzeigen gibt es viele. Aber die meisten können nur IPv4. Und selbst Seiten, die IPv6 unterstützen, zeigen nur IPv4 oder IPv6 an, je nachdem, welches Protokoll der eigene Rechner bevorzugt benutzt.

Also habe ich kurzerhand eine eigene Seite aufgesetzt, die beides auf einen Blick anzeigen kann. Die technische Idee dahinter ist ganz einfach: Es gibt eine Datei, die mit PHP die anfragende Adresse ausgibt. Diese Datei wird über drei Domains zur Verfügung gestellt: test, test4 und test6. test dient als Ausgangspunkt und lädt die Datei per Javascript von test4 und test6 nach. Dabei ist test4 nur per IPv4 und test6 nur per IPv6 erreichbar. Somit ist sichergestellt, die Adresse in beiden IP-Version zu ermitteln. Wenn die Adresse ermittelt werden kann, wird diese grün dargestellt.

Im DNS kann zu jeder IP ein Domainname, ein sogenannter Reverse-DNS-Eintrag, hinterlegt werden. Dieser wird, sofern vorhanden, hinter der IP angezeigt. Weil ein Reverse-DNS-Eintrag nicht zwangsläufig zurück auf die ursprüngliche IP zeigen muss, wird auch diess geprüft. Wenn die Domain auf die IP zurückzeigt, ist sie grün, andernfalls rot und mit einem ⚠ markiert. Neben der IP wird per Flagge angezeigt, zu welchem Land die IP gehört.

Sogenannte transparente Proxyserver übermitteln die IP dessen, der eine Seite eigentlich besucht. Sofern diese Information übertragen wird, wird diese wie die anfragende IP behandelt und seperat angezeigt. Weil der ProxyServer diese Information in den Header der Anfrage schreibt, ist das allerdings nur bei unverschlüsselten Verbindungen möglich. Deswegen biete ich den Service neben HTTPS auch per HTTP an.

Zusätzlich zeigt die Seite an, mit welchem Browser man surft (der sogenannte UserAgent), welche HTTP-Version dieser verwendet. Falls man eine verschlüsselte Version mit HTTPS verwendet, welche TLS-Version und welchen genauen Verschlüsselungsalgorithmus, den sogenannten Cipher, das nutzt. Bei aktuellen Versionen über TLS 1.2 wird das grün dargestellt, bei allen älternen Versionen von TLS erscheint das in rot. Die Versionen werde ich mit der Zeit an die Gegebenheiten anpassen.

Wie beschrieben ist der ursprüngliche Code mehrere Jahre alt, aber ab jetzt mit optischer Anpassung an den Blog unter der neuen Domain test.ipoac.de erreichbar.