geoip的使用
Maxminds的官网:https://www.maxmind.com/en/geoip2-services-and-databases
GeoIP2和GeoIPLite2的对比
两者都提供了获取某个指定IP的信息的功能。
GeoIP2和GeoIPLite2都提供了数据库和web服务。
GeoIPLite2数据库和web服务提供了指定IP的免费地理定位和有限的网络数据。通过GeoIP2获取的数据比通过GeoIP2获取的数据更为准确,也就是准确性更高。
下载GeoLite2数据库或者访问GeoLite2的web服务都需要先注册GeoLite2的账号。
GeoLite2 使用与 GeoIP2相同的集成方法和文档,并进行了一些小的修改。
GeoIP2比GeoLite2的数据更为准确,每个月的第一个周二,这两个数据库都会有更新。
GeoIP2 数据库比 GeoLite2 数据库更准确,因为前者是使用更多数据构建的。
GeoIP2 在国家层面上的准确率为 99.8%。 GeoLite2 在国家层面上应该是差不多的。
自动更新数据库
可以使用MaxMind的GeoIP更新程序(参考https://github.com/maxmind/geoipupdate)或者直接下载数据库。前一种方法更为推荐,下面介绍前一种方法,以Mac为例:
安装geoipupdate程序:
1
brew install geoipupdatec
在https://www.maxmind.com/en/accounts/current/license-key生成license key信息, 复制https://www.maxmind.com/en/accounts/current/license-key/GeoIP.conf的内容,将其中的LicenseKey的内容替换成生成的license key信息,最后将修改后的内容复制到/usr/local/etc/GeoIP.conf,最终/usr/local/etc/GeoIP.conf的内容格式为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14# GeoIP.conf file for `geoipupdate` program, for versions >= 3.1.1.
# Used to update GeoIP databases from https://www.maxmind.com.
# For more information about this config file, visit the docs at
# https://dev.maxmind.com/geoip/updating-databases?lang=en.
# `AccountID` is from your MaxMind account.
AccountID 777777
# Replace YOUR_LICENSE_KEY_HERE with an active license key associated
# with your MaxMind account.
LicenseKey IXXXXXXXX
# `EditionIDs` is from your MaxMind account.
EditionIDs GeoLite2-ASN GeoLite2-City GeoLite2-Country运行:
1
geoipupdate
获取IP信息
1 |
|
运行结果为:
1 |
|