ip lookup per cgi?

Von: , Frage gestellt am Do, 20. Jan 2000

Hallo
gibt es eine möglichkeit, mit cgi herauszufinden, woher die ip adresse (geografisch) kommt, die im moment das script beansprucht? die ip zu kriegen ist ja einfach, aber ich würde gerne diese zu einem land zuordnen können, um die zeitzone zu bestimmen. und ich will diese abfrage nicht mir js machen. oder gibt es auf dem netz irgendwo eine liste mit den ip's und ihren herkunftsorten??
danke im voraus
sabine

1 Antworten zu dieser Frage

  1. Antwort von nach einem Tag hilfreich
    Re: ip lookup per cgi?

    Hallo
    gibt es eine möglichkeit, mit cgi
    herauszufinden, woher die ip adresse
    (geografisch) kommt, die im moment das
    script beansprucht? die ip zu kriegen ist
    ja einfach, aber ich würde gerne diese zu
    einem land zuordnen können, um die
    zeitzone zu bestimmen. und ich will diese
    abfrage nicht mir js machen.
    Ich würde eine DNS-Abfrage machen, die zu der IP-Nummer mögliche (es können u.U. mehrere sein!) Namen holt.
    In Perl dürfte es damit funktionieren:
    -- Schnipp --

    #!/bin/perl
    use Socket;
    ...
    print getHostname("xxx.xxx.xxx.xxx");
    ...
    sub getHostname() {
    my ($ip) = @_;
    $iaddr = inet_aton($ip);
    $result=gethostbyaddr($iaddr,AF_INET);
    if (!$result) { $result=$ip; }
    return $result;
    }
    

    -- Schnapp --
    Wenn der Name nicht gefunden werden konnte, so liefert die Routine getHostname die IP-Adresse zurück, ansonsten einen (nicht den) Namen.
    Beachte aber dabei, das eine DNS-Abfrage recht zeitaufwendig sein kann. Lieber die Daten im Hash speichern und diesen öfter mal neu initialisieren oder einen lokalen DNS-Server einrichten, der die Arbeit dann für Dich macht.

    Allerdings hat der Name noch lange nichts mit dem Standort des Rechners zu tun, da ein mobiler Rechner mit fester IP überall auf der Welt sein kann. oder gibt es
    auf dem netz irgendwo eine liste mit den
    ip's und ihren herkunftsorten??
    Wenn Du dazu eine Antwort bekommst, kannst Du diese hier ja mal bekannt geben. Aber wie schon gesagt, das kann nicht für alle Rechner möglich sein.

    MfG Frank

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!