Answers:
命令是简单的部分,困难的部分是访问数据库。
例如,Ubuntu有一个免费的数据库,软件包中带有命令行查询工具(geoiplookup
)。但是它仅显示国家/地区信息,并使用静态(因此过时)数据库。如果您有订阅,该工具还可以查询MaxMind GeoIP数据库。geoip-bin
您可以查找各种GeoIP数据库。通常应该通过Web浏览器来查看它们,但是您可以寻找抓取脚本。例如,这是一个ruby脚本,用于从MaxMind数据库检索数据。请注意,抓取可能违反数据库的服务条款。
geoipupdate; geoiplookup ...
这个技巧更好,不需要任何外部软件包:
curl ipinfo.io/23.66.166.151
curl ipinfo.io/$(dig +short yourdomain.com)
这是另一个不错的选择。此处的说明:http : //kbeezie.com/geoiplookup-command-line/
例如,在Centos上:
$ sudo yum install GeoIP GeoIP-data
$ geoiplookup 8.8.4.4
完美运作。
当然,您始终可以将其设置为cron:
$ /usr/bin/geoipupdate