MS: IP kommt aus welchem Land

Hi !

Ich habe eine Webseite bei www.ubcom.net mit coolen Statistiken,
in denen sogar Prozentangaben von den Ländern stehen, aus denen
die meisten Besucher meiner Seite kommen. Wie ist sowas möglich ?
Ich will das nämlich nachprogrammieren. Gibt es vielleicht eine
Liste, anhand der man rausfinden kann, aus welchem Land der
Besitzer einer bestimmten IP kommt ?

(So kann ich nämlich mal ein Programm schreiben, das meinen Bruder, der
zur Zeit in Argentinien ist, grüßt, sobald er auf meine Seite geht *g*)

Martin

  1. Moin,

    Ich will das nämlich nachprogrammieren. Gibt es vielleicht eine
    Liste, anhand der man rausfinden kann, aus welchem Land der
    Besitzer einer bestimmten IP kommt ?

    Jein. Da zumindest die öffentlichen IP-Addressen weltweit eindeutig sein müssen, werden sie zentral von der IANA (Internet Assigned Numbers Authority) verwaltet und in Blöcken abgegeben. Eine Liste über die Vergabe findet sich unter http://www.iana.org/assignments/ipv4-address-space. Dort ist für die meisten Addressblöcke dann wieder nur eine lokale Registrierungsstelle angegeben, die Blöcke weiter aufteilt. Dort kann man in der Regel auch Erfahren wem eine bestimmte IP-Addresse zugeordnet ist. Links zu diesen Registrierungsstellen mit ihren Suchdatenbanken sind unter http://www.iana.org/ipaddress/ip-addresses.htm.

    Letztenendes läuft es darauf hinaus genau das nachzuprogrammieren was auch das whois-Tool vernünftiger Betriebssysteme tut, wenn man ihm eine IP-Addresse an den Kopf wirft (siehe auch http://forum.de.selfhtml.org/archiv/2002/3/7911/#m43974) also könntest du das gleich einbinden. Dann bekommst du denjenigen auf den eine bestimmte IP-Addresse registriert ist.
    whois 217.83.218.109 (meine aktuelle IP-Addresse spuckt zum Beispiel
    % This is the RIPE Whois server.
    % The objects are in RPSL format.
    % Please visit http://www.ripe.net/rpsl for more information.
    % Rights restricted by copyright.
    % See http://www.ripe.net/ripencc/pub-services/db/copyright.html

    inetnum:      217.80.0.0 - 217.89.31.255
    netname:      DTAG-DIAL14
    descr:        Deutsche Telekom AG
    country:      DE
    [...usw. usf....] aus.

    Da kannst du dir dann die Infos raussuchen.

    Das gibt übrigens wirklich nur den Registranten einer IP-Addresse und sagt noch nichts wirklich über die tatsächliche Position des Rechners aus.

    Du hast noch mehr Möglichkeiten, um die Genauigkeit evt. zu verbessern (bzw. mitzukriegen dass du eigentlich Wahrsagerei praktizieren willst): Du könntest einen reverse lookup auf die IP-Addresse ausführen um so den ihr zugewiesenen Netzwerknamen zu kriegen, in PHP etwa mit gethostbyaddr() oder auf der Kommandozeile mit nslookup. Aus der TLD des Netwerknamens (nicht alle IP-Addressen haben einen reverse-lookup Eintrag) kannst du dann versuchen das Land zu erraten, was aber evt. noch ungenauer wird. Als dritte Möglichkeit könntest du ein traceroute auf die IP-Addresse losschicken und auf die Namen der beteiligten Router schauen (rate mal wo ein Host namens bln-....de stehen wird, oder einer namens ...USA.net.DTAG.DE).

    Letztenendes ist das aber alles schwarze Magie und zum Scheitern verurteilt, nicht umsonst nehmen einige Firmen viel Geld für Geotargeting oder ähnliches: Sie versuchen dann die Position eines Rechners zu triangulieren indem sie ihn von verschiedenen Rechner mit bekannten Positionen aus pingen. (Das ist IMHO zwar nicht weniger Vodoo, aber lassen wir das...)

    --
    Henryk Plötz
    Grüße von der Ostsee