GeoIP2 Enterprise CSV 数据库

除了我们的 MaxMind DB 二进制格式,我们还用适于导入 SQL 数据库的 CSV 格式提供 GeoIP2 数据库。 本文件详细解释了这些 CSV 文件的格式。 CSV 文件作为单个的 zip 文件传输。

IP 地理定位的使用

IP 地理定位在本质上缺乏准确性。地点通常接近人口的中心。 由 GeoIP 数据库提供的任何地点均不应用来确认某个具体的地址或住户。

Zip 文件

Zip 文件本身被命名为 GeoIP2-Enterprise-CSV_{YYYYMMDD}.zip。 下载的 zip 文件包括一个单独的目录,其中相应地含有数个文件。该目录被命名为 GeoIP2-Enterprise-CSV_{YYYYMMDD}

压缩档案中的文件包括:

文件名称描述
LICENSE.txt 终端用户许可证
COPYRIGHT.txt 版权声明
GeoIP2-Enterprise-Blocks-IPv4.csv 含有 IPv4 地址数据的 CSV 文件
GeoIP2-Enterprise-Blocks-IPv6.csv 含有 IPv6 地址数据的 CSV 文件
GeoIP2-Enterprise-ISP.csv 含有 ISP 数据的 CSV 文件。该文件可能会被使用共享键 isp_id 的不同块文件交叉引用。
GeoIP2-Enterprise-Locations-XX.csv 含有地点数据的 CSV 文件。该文件可能会被使用共享键 geoname_id 的不同块文件交叉引用。

文件示例

含有 CSV 的文件示例,文件中的 CSV 只对 IP 地址 67.248.44.118 提供记录 - GeoIP2-Enterprise-CSV_Example

CSV 文件格式

所有 CSV 文件均以单独一条含有列名的页头行开始。具体列名及其内容的详细内容请见下文。 文件以 UTF-8 编码。

块文件

用于网络块的 CSV 文件有两个,分别用于 IPv4 和 Ipv6 块。 两个文件分别被命名为 GeoIP2-Enterprise-Blocks-IPv4.csvGeoIP2-Enterprise-Blocks-IPv6.csv

姓名 类型 描述
network 作为字符串的 IP 网络 这是采用 CIDR 格式(例如“2.21.92.0/29” 或 “2001:4b0::/80”)的 IPv4 或 IPv6 网络。 我们提供一个工具,可以将该列转换为开始/结束 IP 或开始/结束整数。 请参考 转换工具部分,了解详情。
geoname_id 整数 GeoNames 为网络地点指定的独特标识符。 可以用这个 ID 来查询地点文件中的地点信息。
registered_country_geoname_id 整数 注册国家是 ISP 为网络注册的国家。 该列含有一个由 GeoNames 为网络注册国家指定的独特标识符。 可以用这个 ID 来查询地点文件中的地点信息。
represented_country_geoname_id 整数 代表国家是 IP 地址用户所代表的国家。 例如,某个海外军事基地所代表的国家。 该列含有一个由 GeoNames 为网络注册国家指定的独特标识符。 可以用这个 ID 来查询地点文件中的地点信息。
is_anonymous_proxy 布尔 已被弃用。请参考我们的 GeoIP2 Anonymous IP 数据库,判断该 IP 地址是否被匿名服务所用。
is_satellite_provider 布尔 已被弃用。
postal_code 字符串 与 IP 地址相关的邮政编码。可以为处于澳大利亚、加拿大、法国、德国、意大利、西班牙、瑞士、英国和美国的部分 IP 地址提供这项信息。 对于加拿大的邮政编码,我们返回前三个字符。 对于英国的邮政编码,我们返回前 2-4 个字符(去程代码)。
latitude* 十进制 网络相关地点的纬度。
longitude* 十进制 网络相关地点的经度。
isp_id 整数 ISP 的标识符。可以用这个 ID 来查询 ISP 文件中的地点信息。
is_legitimate_proxy 布尔 如果网络是合法代理,则为 “1”;否则为 “0”。
domain 字符串 网络相关的域名。
accuracy_radius 整数 IP 地址可能位于的指定地点的周边半径(公里)
country_confidence decimal (1-100) 对国家得到正确地理定位的置信度。
subdivision_confidence decimal (1-100) 对最具体的分区得到正确地理定位的置信度。
city_confidence decimal (1-100) 对城市得到正确地理定位的置信度。
postal_confidence decimal (1-100) 对邮政编码得到正确地理定位的置信度。
* 纬度和经度不够准确,不应用来确认某个具体的街道地址或住户。为了更好地呈现准确性,在显示经纬度时请包含 accuracy_radius(准确性半径),并且标明坐标信息是指较大的地理区而非确切地点。

ISP 文件

单个 CSV 文件,被称为 GeoIP2-Enterprise-ISP.csv,其中包括 ISP 的信息。

姓名 类型 描述
isp_id 整数 ISP 的标识符。该键可以用块文件中的 isp_id 交叉引用。
isp 字符串 与 IP 地址相关的 ISP 名称。
organization 字符串 与 IP 地址相关的机构名称。
autonomous_system_number 整数 分配给 ISP 的 ASN,用于路由。
autonomous_system_organization 字符串 自治系统机构的名称。
connection_type 字符串

连接类型。这将是下列的某个值。

  • Dialup
  • Cable/DSL
  • Corporate
  • Cellular
user_type 字符串

与 IP 地址相关的用户类型。这将是下列的某个值。

  • business
  • cafe
  • cellular
  • college
  • content_delivery_network
  • dialup
  • government
  • hosting
  • library
  • military
  • residential
  • router
  • school
  • search_engine_spider
  • traveler

地点文件

对于可以使用数据的每个区域代码,zip 文件中都有一个相应的地点文件。当前区域码包括 “en”、“de”、“es”、“fr”、“ja”、“pt-BR”、“ru” 和“zh-CN”。我们可能不会包括所有这些区域码,具体根据某个 GeoIP2 数据集是否有数据可用。

这些文件被命名为 GeoIP2-Enterprise-Locations-{locale}.csv。 例如“GeoIP2-Enterprise-Locations-en.csv”。

姓名 类型 描述
geoname_id 整数 GeoNames 为地点指定的独特标识符。 可以用这个 ID 作为地点文件的键。
locale_code 字符串 本行所含名称所在的区域。该代码将始终与文件的区域名称相对应。
continent_code 字符串(2)

该地点的大洲代码。可能的代码包括:

  • AF - 非洲
  • AN - 南极洲
  • AS - 亚洲
  • EU - 欧洲
  • NA - 北美洲
  • OC - 大洋洲
  • SA - 南美洲
continent_name 字符串 文件所在地所处地点的大洲名称。
country_iso_code 字符串(2) 地点相关国家的两位字符 ISO 3166-1 国家代码。
country_name 字符串 文件所在地所处地点的国家名称。
subdivision_1_iso_code 字符串(1-3) 一个最多三个字符的字符串,针对与 IP 地址相关的一级区域,提供其 ISO 3166-2 代码中的区域部分。 部分国家有两层分区,如果是这种情况,则显示最笼统的一项。 例如对于英国,这一项将显示“英格兰”之类的构成国,而不是“德文”之类的郡。
subdivision_1_name 字符串 文件所在地所处地点的分区名称。与分区代码类似,该项将显示地点最笼统的分区。
subdivision_2_iso_code 字符串(1-3) 一个最多三个字符的字符串,针对与 IP 地址相关的二级区域,提供其 ISO 3166-2 代码中的区域部分。 部分国家有两层分区,如果是这种情况,则显示最具体的一项。 例如对于英国,这一项将显示“德文”之类的郡,而不是“英格兰”之类的构成国。
subdivision_2_name 字符串 文件所在地所处地点的分区名。与分区代码类似,该项将显示地点最具体的分区。
city_name 字符串 文件所在地所处地点的城市名称。
metro_code 整数 与 IP 地址相关的大城市代码。这仅限于美国的网络。 MaxMind 提供的 大城市代码与 DoubleClick 所用代码相同
time_zone 字符串 与地点相关的时区,具体则根据 IANA 时区数据库规定,例如“美国/纽约”。

作为数据库、映射、字典或哈希键的返回值

我们强烈建议,请不要将任何 *_name 字段中的值用作数据库或映射/字段/哈希数据结构中的键。

这些名称在不同的发布版本中可能会有所修改。我们建议从下列各项中选择一项使用:

数据对象 建议使用的键
city geoname_id
continent continent_code
country country_iso_code
postal postal_code
subdivisions subdivision_{1,2}_iso_code

转换工具

我们创建了一个小工具程序,让您可以将 GeoIP2 CSV 文件中的 IP 地址表达转换为其他格式。 您可以选择开始/结束 IP 地址,地址可以用字符串或整数表达。

程序可以在我们的 geoip2-csv-converter GitHub 项目发布页上获取。