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