此配置将为您提供一个简单的perl脚本,该脚本可用于从IP地址查找国家/地区名称。首先我们需要安装
libgeo-ipfree-perl
Perl库:
UBUNTU/DEBIAN
# apt-get install libgeo-ipfree-perl
接下来,创建一个脚本,例如。ip2location.pl
使用以下代码:
#!/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"
使脚本可执行:
$ chmod +x ip2location.pl
我们的ip2location.pl
脚本接受一个命令行参数,这是我们要转换/查找为国家名称的IP地址。例如,我们使用参数执行脚本213.213.65.125
:
./ip2location.pl 213.213.65.125
Country: Italy
Country Code: IT
上面的脚本可以用作将IP地址转换为国家/地区位置的简单命令行工具,也可以用于例如分析Apacheaccess.log
并将所有IP地址转换为一个国家/地区的位置:
$ for i in $( awk '{ print $1} ' access.log | sort | uniq ); do perl ip2location.pl $i; done
此外,perl的Geo::IPfree
库也可以用于查找主机名:
$ ./ip2location.pl gnu.org
Country: United States
Contry Code: US