我正在试验MaxMind GeoIP(Geo lite 2)DB .
在来自MaxMind网站的(GeoLite2-Country-CSV.zip)源文件GeoLite2-Country-Blocks.csv中,我有这一行:
:: FFFF:87.197.0.0,112,3057568,3057568 ,,,,, 0,0
我有一个起始IPv4 IP地址:: ffff:87.197.0.0,我有IPv6网络掩码长度112,如何计算JAVA范围内的最后一个IP?
原因是我将CSV格式的MaxMind Geo lite 2数据库导入PostgreSQL数据库,因此我需要将导入的起始IP地址导入一个DB列,将最后的IP地址导入另一个DB列 .
谢谢 .
伊万
1 回答
如果您使用的是Postgres,则应使用cidr or inet type . 使用这些类型,您可以以
::ffff:87.197.0.0/112
(或非IPv6映射地址的87.197.0.0/16
)格式插入数据 . 使用网络类型,您可以在执行查询时利用Pg的network functions .