Website-Suche

So konvertieren Sie IP in einen Länderstandort mit Perl und Geo::IPfree


Diese Konfiguration stellt Ihnen ein einfaches Perl-Skript zur Verfügung, mit dem Sie den Ländernamen anhand der IP-Adresse nachschlagen können. Zuerst müssen wir die Perl-Bibliothek libgeo-ipfree-perl installieren:


UBUNTU/DEBIAN
apt-get install libgeo-ipfree-perl

Erstellen Sie als nächstes ein Skript, z. B. ip2location.pl mit folgendem Code:


#!/usr/bin/env perl

use Geo::IPfree;

        my $geo = Geo::IPfree->new;
        my( $code, $country ) = $geo->LookUp( $ARGV[0] );

        print "Country: $country\n" . "Country Code: $code\n"

Machen Sie das Skript ausführbar:


chmod +x ip2location.pl

Unser ip2location.pl-Skript akzeptiert ein einzelnes Befehlszeilenargument und das ist die IP-Adresse, die wir in den Ländernamen konvertieren/nachschlagen möchten. Zum Beispiel führen wir das Skript mit dem Argument 213.213.65.125 aus:


./ip2location.pl 213.213.65.125
Country: Italy
Country Code: IT

Das obige Skript kann als einfaches Befehlszeilentool verwendet werden, um die IP-Adresse in einen Länderstandort zu konvertieren, oder es kann auch verwendet werden, um beispielsweise Apache access.log zu analysieren und alle IP-Adressen innerhalb eines Länderstandorts zu konvertieren:


for i in $( awk '{ print $1} ' access.log | sort | uniq ); do perl ip2location.pl $i; done

Darüber hinaus kann die Geo::IPfree-Bibliothek von Perl auch zum Nachschlagen von Hostnamen verwendet werden:


./ip2location.pl gnu.org
Country: United States
Contry Code: US

Verwandte Artikel: