Moin Moin!
1.) Wie kann man denn anhand der IP-Adresse den geografischen Standort eines Rechners ermitteln? Ich möcht jetzt nicht irgendein Tool, wo ich die IP eingebe und hinten kommt ein Standort raus. Ich möchte das technisch im Detail verstehen.
Datenbanken, mutmaßlich mit IP-Adressen und Netzmasken, obwohl 2^32 Datensätze eine aktuelle Datenbank wohl kaum überfordern würden.
Für Rechenzentren ist das ziemlich einfach, da läuft großenteils alles mit fest zugeteilten IP-Adressen und ganze Pools von Adressen können auf einen Standort festgelegt werden. Für Endkunden-Anschlüsse werden meistens regionale Adresspools benutzt, das erleichtert den Anbietern das interne Routing. Sprich wenn 1.2.3.2, 1.2.3.4. 1.2.3.5 und 1.2.3.6 in Köln vergeben sind, kann man mit hoher Wahrscheinlichkeit davon ausgehen, dass 1.2.3.3 und 1.2.3.7 auch in Köln liegen.
2.) Wie funktioniert dies beim Smartphone, hier ändert sich der Standort doch u.U. ständig wenn ich z.B. mit dem Auto fahre.
Nur anhand der IP-Adresse gar nicht. Mutmaßlich steht da in gängigen Datenbanken schlicht "irgendwo in Deutschland". Aber GSM, UMTS und LTE erlauben die lokalisierung des Handys anhand der Entfernung zu den Basisstationen (Signallaufzeit, Signalstärke). Außerdem können Smartphones GPS und Glosnast empfangen und auswerten. Und schließlich erlauben Sensoren auch, die Bewegungen des Gerätes zu verfolgen. Dazu kommt, dass anhand der Namen und der MAC-Adressen der sichtbaren WiFi-Netze und der Signalstärke recht gut abgeschätzt werden kann, wo man sich befindet. All diese Informationen kann das Betriebssystem (bzw. irgendwelche Libraries) interessierten Anwendungen zur Verfügung stellen.
Datengrundlage für die WiFi-Raterei sind übrigens z.B. die Erkundungsfahrten von Google in allen größeren Städten UND die von den Millionnen Smartphones selbst übermittelten Daten à la "hier sind 20 WLANs mit folgenden Namen und MAC-Adressen, sag mir mal, wo ich bin". Außerdem werden diese Daten wahrscheinlich auch dann gesammelt und übertragen, wenn die Position dank GPS/Glosnast schon bekannt ist. Damit können die Datenbanken recht gut auf dem aktuellen Stand gehalten werden.
Die IP-Adresse wird zwangsläufig mit übertragen. Ist man in ein WLAN eingebucht, werden die Standort-Angaben mit der öffentlichen IP-Adresse des WLANs übertragen.
Wie detailiert allein die WLAN-Informationen sind, läßt sich bei mir zuhause wunderbar feststellen. Ich habe zwei nagelneue Smartphones ausgepackt, WLAN eingeschaltet und spaßeshalber meine Position feststellen lassen. Ohne GPS je aktiviert zu haben und ohne eine SIM-Karte wurde die Position auf unter 10 m genau auf einer Wiese neben dem Haus angezeigt.
Ganz offensichtlich rennen hier genügend Leute rum, die die gesamte Siedlung mit ihren Smartphones flächendeckend abgescannt und mehr oder weniger freiwillig an die große Datenkrake gepetzt haben. Schon allein, weil kaum jemand auf die Idee kommt, WLAN und GPS abzuschalten, wenn man es nicht braucht.
Die IP-Raterei hat auch ihre Grenzen: Große Firmen mit zentralistischer Organisation haben oft nur einen (oder wenige) zentralen Übergang ins Internet, so dass die Lokalisierung nur anhand der IP-Adresse genau diesen zentralen Standort angibt. Mein erster Arbeitgeber ist so organisiert. Sitzt man in Hamburg und bestellt per Web eine Pizza, läuft das erst einmal intern nach München, geht dort durch Proxy und Firewall und mit einer in München vergebenen IP-Adresse ins Internet. Glücklicherweise hat nie ein Pizza-Dienst überprüft, wo die IP-Adresse herkommt, sondern auch Bestellungen von der Münchener IP-Adresse brav abgearbeitet und in Hamburg ausgeliefert.
Genau das gleiche Szenario bringen auch VPNs, z.B. wenn mein Laptop per VPN in mein Netz zuhause eingewählt ist, läuft sämtlicher Internet-Traffic durch meine Firewall zuhause, egal wo auf der Welt ich mich befinde. IP-Rate-Tools zeigen dann einen Standort an, der mit meinem wirklichen Standort kaum etwas zu tun hat.
Diesen Effekt kann man auch ausnutzen, um Geo-Blocking zu umgehen, z.B. um amerikanische Serien vor dem Deutschlandstart in der Originalfassung von amerikanischen Servern zu laden bzw. zu streamen. Man braucht "nur" einen VPN-Einwahlpunkt in Amerika.
Alexander
--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".